Консоль кода с поддержкой объявления процедур и функций, с дополнительными функциями отслеживания и вывода значений

Публикация № 1786471 24.05.23

Разработка - Инструментарий разработчика

консоль кода поддержка объявления процедур и функций консоль запросов дерево объектов конфигурации

В статье представлено решение давней проблемы всех консолей кода, это невозможность объявлять в них процедуры и функции, а также использование метода Возврат для раннего выхода из исполняемого кода. Также затронута тема вывода результатов работы исполняемого кода, что зачастую ограничено функцией Сообщить. Попутно приводится моё видение того, как должно выглядеть и работать дерево объектов конфигурации в консоли запросов. Обработки подходят для всех конфигураций, работающих в управляемых формах 1С версии 8.3.15 и выше (тестировалось в ЗУП 3.1, ERP 2.5, БП 3.0, УНФ 3.0).

Конечно же, я видел навороченные консоли кода и консоли запросов с подсветкой и подсказками, но в практической деятельности они у меня не прижились по следующим причинам:

1. для консоли кода:

- вывод результата только через Сообщить

2. для консоли запросов:

- неудобный ввод запроса, но это субъективно, просто я не люблю пользоваться конструктором запросов;

- слабые генераторы кода обработки, но, возможно, я не все видел.

Поэтому на протяжении нескольких лет потихоньку дорабатывал стандартные консоли, добавляя свои фишки, пока не получился концептуальный блэк-джек достойный внимания. 

Представляю вам свою версию консоли кода.

Основные фишки:

- поддержка объявления процедур и функций, в том числе поддерживается рекурсия и ранние выходы из функций, объявление клиентских и серверных функций;

- минимальная поддержка макросов (замена кода, подключение внешнего файла);

- задание параметров для выполняемого кода;

- задание выражений для отслеживания результатов;

- функции для вывода таблицы значений, дерева значений, результата запроса, менеджера временных таблиц и др.

 

 

Описывать буду в хронологическом порядке появления возможностей, мне так удобнее.

Запускать код можно как на клиенте, так и на сервере -> кнопка-переключатель на панели.


Параметры кода

Задание параметров кода идет подстановкой их значений в исполняемый код, работает и на клиенте и на сервере, но не сразу одновременно.

Если рядом с параметром поставить галочку Откл, то вместо указанного значения будет передаваться Неопределено.


Отслеживание переменных

Отслеживание переменных работает подобно пункту "Вычислить выражение" в конфигураторе, пишем любое выражение или имя переменной и после выполнения основного кода скрипта, вычисляется выражение отслеживания, даже если основной код вылетел с ошибкой.

Отслеживание можно использовать даже без основного кода, например, записать в выражение текст "Новый УникальныйИдентификатор".

Перетаскивание для параметров кода и выражений отслеживания работает в обе стороны, можно просто выделить нужный текст и перетащить его.


Вывод результатов

Для вывода результатов на форме созданы 2 постоянных реквизита:

- Результат_Текст -- текстовое поле, выводим в него так: Результат_Текст = "Любой текст"

- Результат_ТабДокумент -- табличный документ, в него выводим, как в обычный табличный документ, либо функцией РезультатВТабДокумент.

Но эти реквизиты используются редко, основной вывод идет в динамически создаваемые табличные части, для этого предназначены 2 функции:

- Вывести(ЗначениеДляВывода, ИмяТЗ = 1, ВывестиНомерСтроки = Ложь)

ЗначениеДляВывода - произвольное значение.  Допустимые типы: универсальные коллекции (таблица значений, дерево, массив, структура и др.), результат запроса, выборка, менеджер временных таблиц, строка ТЧ.

ИмяТЗ - число или строка (строка должна подходить для создания имени реквизита, т.е. нет пробелов, точек и т.п.)

ВывестиНомерСтроки - вывести номер строки в отдельном столбце

Выводит значение в отдельную страницу в группе Результат.

- ВывестиТипыКолонок(ТЗ, ИмяТЗ = 1, ВывестиНомерСтроки = Ложь)

ТЗ - объект для вывода

ИмяТЗ - число или строка (строка должна подходить для создания имени реквизита, т.е. нет пробелов, точек и т.п.)

ВывестиНомерСтроки - вывести номер строки в отдельном столбце

Выводит типы колонок для таблицы значений, дерева, результата запроса и возможно для других объектов содержащих св-во Колонки.


Вспомогательные функции

Иногда возникает желание посмотреть таблицу значений или табличную часть с группировкой по реквизитам, но создавать отдельный запрос для этого долго и зачастую лень, чтобы решить эту задачу создана функция, которая создает запрос по переданным параметрам. 

- ТЗвДерево(ТЗ, КолонкиИерархии, КолонкиДляВывода = Неопределено)

ТЗ - таблица значений

КолонкиИерархии - строка, список имен колонок через запятую для группировки строк и построения иерархии.

КолонкиДляВывода - строка, список имен колонок для вывода. Неопределено - все колонки, кроме иерархии, "" - только иерархия,

"*" - все колонки, включая иерархию. Можно использовать формат "ИмяКолонки КАК НовоеИмяКолонки" для переименования колонок дерева.

Преобразует таблицу значений в дерево значений, возвращает дерево значений.

В параметры КолонкиИерархии, КолонкиДляВывода можно передавать не только названия колонок ТЗ, но и переходить от значений к их реквизитам, например, "Номенклатура.ЕдиницаИзмерения". Также можно передать условие, и данные будут сгруппированы по этому условию ("Цена > 100").

 

 

Обратная функция создает из дерева таблицу значений, была создана для эксперимента, но возможно кто-то найдет ей достойное применение.

ДеревоВТЗ(Дерево, КолонкаИерархии = Неопределено, ПоляИерархии = Неопределено)

Дерево - дерево для преобразования

КолонкаИерархии - имя колонки иерархии, по-умолчанию используется первая колонка

ПоляИерархии - строка, список имен колонок через запятую для распределения значений иерархии. Каждый уровень иерархии помещается в соответствующую колонку, если поле не задано, то создается новая колонка с имененем "Уровень_" + СтрокаДерева.Уровень().

Преобразует дерево значений в таблицу значений, возвращает таблицу значений.

Для сохранения таблиц, созданных функцией Вывести, можно использовать пункт меню Результаты >> Сохранить, либо функции ТЗвТабДокумент и РезультатВТабДокумент.

ТЗвТабДокумент(ТЗ, Заголовок = Неопределено)

ТЗ - таблица значений

Заголовок - заголовок для таблицы, если не задан, то заголовок не выводится

Создает новый табличный документ и выводит в него таблицу значений. Возвращает табличный документ.

Пример: Результат_ТабДокумент = ТЗвТабДокумент(Запрос.Выполнить().Выгрузить(), "Результат запроса");

РезультатВТабДокумент(ИмяТЗ = Неопределено)

ИмяТЗ - имя ТЗ, которое использовалось для вывода результата. Если не задано, будут выведены все результаты.

Создает новый табличный документ и выводит в него результат со страницы группы Результат. Работает только с таблицами, деревья не поддерживаются.

Пример: 

Вывести(ТЗ, "ИмяТЗ", Истина);

Результат_ТабДокумент = РезультатВТабДокумент("ИмяТЗ");


Объявление процедур и функций

Разбор кода построен на парсере bsparser (https://github.com/lead-tools/bsparser), огромная благодарность автору.

Как это работает лучше смотреть в исходном коде.

Если кратко, то объявленные процедуры и функции вырезаются из кода в отдельные куски и сохраняются в таблицу, а их вызовы заменяются на вызов вспомогательной функции (одна для серверных и одна для клиентских).

Параметры метода переименуются по шаблону НовоеИмяПараметра = "п" + НомерПараметра, в коде они также заменяются на новое имя.

Возвраты значений заменяются на установку вспомогательной переменной и переход в конец метода. Для процедур возврат заменяется на переход в конец кода. Для основного кода теперь тоже можно использовать возврат для раннего его завершения.

Текст всех методов обрабатывается после обработки объявлений методов, это позволяет использовать рекурсию.

Существующие ограничения:

- параметры в методы передаются только по ссылке;

- вспомогательные функции принимают только 10 параметров, если нужно больше можно добавить в коде формы;

- директива &НаКлиенте ожидается сразу перед объявлением метода, если до этого будут комментарии, то метод будет определен как серверный;

- код метода компилируется при каждом вызове, поэтому в циклах возможны проблемы с производительностью (как вариант, можно подставлять код метода на место его вызова с переименованием параметров и локальных переменных, но это невозможно использовать при вызовах сервера с клиента; пока встраивание кода метода не реализовано).

 

Пример чтения XML и вывод его в дерево значений

 

Пример использования парсера


Макросы

Все макросы начинаются с "//#Макро" и должны располагаться в начале строки.

Макросы выполняются до разбора текста на методы.

Применение макросов производится к преобразованному тексту последовательно.

Макрос действует только на текст, расположенный ниже его объявления.
 

//#МакроЗамена ИсходныйТекст -> ЗамещающийТекст

Заменяет в коде исходный текст на замещающий текст.

пример: //#МакроЗамена Запрос.Выполнить(); -> ВыполнитьСТрассировкой(Запрос, Замеры);

Можно использовать для подмены функций модуля, например для внедрения замеров или склейки текста запросов.


//#МакроПодключить ИмяФайлаНаКлиенте

Вставляет содержимое указанного файла в код для исполнения.

Макросы в подключаемом файле обрабатываются отдельно и действуют только на его текст.

Если подключаемый файл подключает себя снова, то будет бесконечный цикл.

пример: //#МакроПодключить C:\Temp\Имя файла на клиенте.txt


Консоль запросов

Ну и попутно консоль запросов, её фишки:

- дерево объектов с возможностью бесконечно проваливаться в типы реквизитов, плюс виртуальные реквизиты Движения и СсылкиНаОбъект (места использования типа);

- генератор кода для обработки результата запроса, и естественно кнопка для переноса этого кода в консоль кода.

Дерево объектов получилось настолько удобным, что я зачастую смотрю структуру объектов не в конфигураторе, а именно в консоли. Для дерева объектов поддерживается перетаскивание объектов в код запроса, значения перечислений вставляются со словом ЗНАЧЕНИЕ, для ссылочных типов анализируется контекст и либо вставляется путь "Справочник.Организации", либо если есть сравнение перед местом вставки вставляется ссылка "= ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)".

В контекстном меню расположены команды:

- по созданию минимального запроса для объекта конфигурации, также работает для табличных частей;

- открытия форм списка, выбора и остальных по имени;

- вставки предопределенного значения справочника.

Проваливаться в типы реквизитов, удобно двойным щелчком, но можно и через контекстное меню.

Если в коде запроса поставить курсор в текст с именем объекта дерева (либо выделить нужный текст), например ТоварыНаСкладах, то через контекстное меню можно найти этот объект в дереве.

Повторный поиск будет пытаться искать одноименные объекты ниже.

 



Генератор кода создает код для обработки в цикле либо таблице, возможно создание кода для обхода иерархии.

Автоматически создает код для заполнения параметров и в комментарии пишет код доступных реквизитов.

Если выделить пару строк запроса и нажать кнопку "Добавить условие", то будет создано обрамление этих строк условием, например:

 

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|	Т.Ссылка КАК Ссылка,
|" + ?(условие, "
|	Т.ПометкаУдаления КАК ПометкаУдаления,
|	Т.Код КАК Код,
|", "") + "
|	Т.Наименование КАК Наименование,
|	Т.Префикс КАК Префикс,
|	Т.ИНН КАК ИНН,
|	Т.КПП КАК КПП
|ИЗ
|	Справочник.Организации КАК Т";


 

P.S.: представленные здесь обработки не являются каким-то продуктом и имеют кучу недоработок и нереализованных идей (в силу моей загруженности, они реализуются очень медленно и только те, что нужны мне в текущей работе), поэтому прошу рассматривать их лишь как концепцию, буду рад, если мои идеи будут реализованы и в более продвинутых инструментах.

Скачать файлы

Наименование Файл Версия Размер
Консоль кода с поддержкой объявления процедур и функций

.epf 59,65Kb
40
.epf 59,65Kb 40 Скачать
Консоль запросов с деревом объектов

.epf 111,85Kb
31
.epf 111,85Kb 31 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. leosoft 161 24.05.23 14:05 Сейчас в теме
Очень интересные обработки! Спасибо!
2. Serg2000mr 49 26.05.23 08:17 Сейчас в теме
Помимо всего интересного и полезного очень понравилось, как реализованы настройки ))
Прикрепленные файлы:
3. JohnyDeath 300 26.05.23 10:29 Сейчас в теме
А если прикрутить https://github.com/salexdv/bsl_console , то будет вообще красота!
4. acces969 311 26.05.23 11:22 Сейчас в теме
Сам себе такую сделал много лет назад, будучи еще джуном. По частоте использования обработка обходит консоль запросов.
Все хотел ее причесать и выложить к остальным своим инструментам на инфостарт, да не успел))
Прикрепленные файлы:
5. o.nikolaev 208 26.05.23 12:00 Сейчас в теме
6. v8_088 26.05.23 12:53 Сейчас в теме
Правильное видение дерева объектов. То, что надо для программиста, а не для конструктора метаданных.
Спасибо. В свойствах текста можно включить "встроенный язык". В цвете код поприятней смотреть.
7. tormozit 6870 26.05.23 15:14 Сейчас в теме
(6) Подскажи как это сделать
10. v8_088 26.05.23 16:42 Сейчас в теме
(7) я про эту плюшку
Прикрепленные файлы:
ixijixi; tormozit; Evg-Lylyk; +3 Ответить
12. Sashares 33 26.05.23 17:00 Сейчас в теме
(10) 8.3.21.1624. У меня таких опций нет в текстовом документе. Что я делаю не так?
Прикрепленные файлы:
15. v8_088 26.05.23 17:04 Сейчас в теме
17. RocKeR_13 1215 26.05.23 17:18 Сейчас в теме
(7) Увы, эта галка доступна только в толстом клиенте... Не посмотрел комментарии до конца, уже написали)
Прикрепленные файлы:
8. Serg2000mr 49 26.05.23 16:15 Сейчас в теме
(6)
В цвете код поприятней смотреть

Мне вот наоборот кажется, что для консоли кода цвет не особо-то и нужен. Код там не более, чем на час, и все в памяти.

Вот шаблоны использовать было бы удобно.
13. пользователь 26.05.23 17:01
Сообщение было скрыто модератором.
...
18. пользователь 26.05.23 17:24
Сообщение было скрыто модератором.
...
9. Serg2000mr 49 26.05.23 16:21 Сейчас в теме
Долгожданные процедуры и функции реализованы, остались точки останова и просмотр объектов со всеми подчиненными.
11. Evg-Lylyk 4217 26.05.23 16:50 Сейчас в теме
(10) Круто! Не знал что так можно, встроенный язык и язык запросов работает только в толстом клиенте, только непонятно как в конфигураторе заранее это назначить для поля.
14. Evg-Lylyk 4217 26.05.23 17:02 Сейчас в теме
(12) Попробуй, запустить в режиме толстого клиента
16. Sashares 33 26.05.23 17:04 Сейчас в теме
(14)Да, в толстом есть, спасибо!
19. Serg2000mr 49 26.05.23 20:19 Сейчас в теме
(0) Как идея - код функций можно было не парсить, а упаковывать в модуль внешней обработки и запускать оттуда. Это бы решило и проблему с производительностью.
21. Lars Ulrich 586 29.05.23 21:07 Сейчас в теме
(19) вуаля
Прикрепленные файлы:
22. JohnyDeath 300 29.05.23 21:25 Сейчас в теме
(19) упаковать во внешнюю обработку разовый код ради производительности?
Звучит странновато ....
А сама упаковка во внешнюю сколько занимает?
И сколько в итоге сэкономили?
23. Serg2000mr 49 29.05.23 21:28 Сейчас в теме
(22) Упаковка меньше секунды. Сколько удастся сэкономить, зависит от задачи. Тут, правда есть ограничение, что так можно выполнить только серверную процедуру.
24. nikolav 41 30.05.23 08:32 Сейчас в теме
(21)(23) Напишите пожалуйста, как упаковать код в модуль внешней обработки программно, т.к. изначально тоже хотел пойти этим путем. Для упаковки будет нужен доступ к конфигуратору и будет ли это работать на клиент-серверной базе? Будет ли просить подтверждение на подключение внешней обработки?
(22) Проблема производительности действительно немного преувеличена, в реальной работе наткнулся только 1 раз, когда загружал справочник из Excel, да и то оказалось, что нужно дописать "ОбменДанными.Загрузка = Истина". Для разового кода достаточно текущей производительности, часто используемые функции можно перенести в модуль.
JohnyDeath; +1 Ответить
26. tormozit 6870 30.05.23 08:34 Сейчас в теме
(24) ирОбщий.ОбновитьМодульВнешнейОбработкиДляОтладкиЛкс()
27. Serg2000mr 49 30.05.23 09:00 Сейчас в теме
(24) Я через v8unpack делал
Код переупаковки

Доступ к конфигуратору не нужен, на клиент-сервере работает и подтверждений не запрашивает. Все невидимо глазу происходит.
34. Lars Ulrich 586 30.05.23 11:22 Сейчас в теме
(24) в дополнение к способам выше, можно хардкорно (для windows):
- создаете новую "пустую" обработку как шаблон и выгружаете в файлы; для автоматизации процесса сборки можно сложить все файлы в zip и положить в макет;
- в составе файлов выгруженной обработки будет:
- ВашаОбработка.xml - "корневой" файл с описанием объекта метаданных
- Ext\ObjectModule.bsl - это и есть файл-источник модуля объекта, в который нужно будет помещать код перед сборкой;
- для сборки можно:
- создать отдельную пустую базу во временном каталоге: 1cv8.exe CREATEINFOBASE File="КаталогБазы"
- с помощью созданной пустой базы собрать обработку: 1cv8.exe DESIGNER /F КаталогБазы /LoadExternalDataProcessorOrReportFromFiles ВашаОбработка.xml СобраннаяОбработка.epf /Out ЛогНаВсякийСлучай.txt /DisableStartUpMessages
35. tormozit 6870 30.05.23 11:48 Сейчас в теме
(34) Способ рабочий, но очень долгий и требует клиентскую лицензию на компьютере выполнения.
20. triviumfan 79 29.05.23 17:24 Сейчас в теме
А перехват запросов и параметров из отладки имеется? В упор не вижу, а консоль без этого функционала уже не торт =\
25. nikolav 41 30.05.23 08:34 Сейчас в теме
28. nikolav 41 30.05.23 09:05 Сейчас в теме
(26)(27) Спасибо, посмотрел. Выгрузка в файлы через конфигуратор с последующей коррекцией кода модуля или распаковка / упаковка сторонней утилитой накладывает достаточно много ограничений. Сценарий "отправил обработку и скрипт клиенту" уже не прокатит.
29. Serg2000mr 49 30.05.23 09:06 Сейчас в теме
(28) Можете YellowPacker использовать https://infostart.ru/public/1546726/ Там никаких внешних утилит.
30. JohnyDeath 300 30.05.23 10:12 Сейчас в теме
(29) зачем вообще эти телодвижения с внешней обработкой? Какой выигрыш?
Тем более, что в консоли обычно разовые операции производятся
31. tormozit 6870 30.05.23 10:13 Сейчас в теме
(30) Там можно отладить код. А наличие методов подразумевает что код уже непростой.
33. Serg2000mr 49 30.05.23 10:21 Сейчас в теме
(31) Сейчас как раз думаю над возможностью отладки в консоли кода. Для этого нужно возможность получения всех свойств объекта. Не знаете, можно ли по адресу переменной объекта в памяти получить такой список?
32. Serg2000mr 49 30.05.23 10:15 Сейчас в теме
(30) Автор сам затронул тему производительности в статье. Но как правило да, в консоли максимальная скорость не нужна.
36. nikolav 41 30.05.23 12:53 Сейчас в теме
(32) Автор уже пожалел об этом)) Но если бы не затронул, то уже запинали бы, что не оптимально.
37. artbear 1430 30.05.23 16:14 Сейчас в теме
Не увидел ни одного скриншота с объявлением процедур и функций, с Возврат-ами также нет скриншотов.
38. nikolav 41 03.06.23 12:41 Сейчас в теме
(37) Сделал скриншот. Приведен код открытия доп. отчета, выполняется на клиенте, объявлена серверная функция, в основном коде есть досрочный возврат по её результатам.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

Infostart Toolkit

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

10000 руб.

02.09.2020    80743    394    366    

469

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

2400 1920 руб.

14.01.2013    164690    1010    0    

769

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    93588    227    95    

276

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    19899    11    14    

19

Универсальная обработка создания связанных документов (универсальный "ввод на основании")

Инструментарий разработчика Обработка документов Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Универсальная внешняя обработка призвана предоставить пользователю механизм, позволяющий быстро, в удобной и понятной форме настроить в программе функционал по созданию и заполнению новых документов на основании данных других документов (и не только), т.е. возможность настраивать типовой механизм "ввода на основании" для заполнения создаваемых документов по своим правилам.

2500 руб.

02.04.2017    42163    72    27    

128

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Инструментарий разработчика Обработка документов Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    46640    155    27    

105

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    12696    32    RocKeR_13    5    

42

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    11599    2    12    

36

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    15969    206    Adeptus    57    

92

Автоматизация труда программиста. Библиотека прикладных функций

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Платные (руб)

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    10617    2    9    

7

Подсистема "Показатели объектов"

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    14454    8    pila86    17    

29

Чтение метаданных 1С из SQL Server и PostgreSQL

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    11762    zhichkin    74    

79

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    19612    32    huxuxuya    11    

36

DaJet Studio: расширенный язык запросов 1С, очереди сообщений и web сервисы

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

10.11.2020    12803    126    zhichkin    14    

25

Проверка ведения учета (универсальная)

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

Универсальная проверка ведения учета, построенная на запросах. Выполнена в виде расширения, имеет функции подключения к другим информационным базам по технологии внешних соединений и отладчик, поддерживает конструктор запросов. Предназначена для использования как информационно-техническими специалистами, так и для самостоятельного использования конечными пользователями.

2 стартмани

11.08.2020    11579    61    vozhd    4    

19

Глобальное меню разработчика для управляемых форм

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    9039    tormozit    29    

94

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

Внешний регламент сделан для тех, кто ценит свое время и время заказчика. После одноразового встраивания в конфигурацию, внешний регламент на лету позволяет добавлять, изменять внешние модули, которые могут выполнятся как регламентные задачи с указанным интервалом или запускаться в ручном режиме для отладки. Все модули (внешние обработки) находятся и выполняются на стороне сервера, что позволяет исключить подмену алгоритмов со стороны клиента.

1 стартмани

05.03.2020    17370    14    moolex    13    

15

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    15094    3    6    

32

Markdown-editor в 1С (с сохранением в HTML)

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    19828    34    riposte    6    

52

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24832    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17435    48    vandalsvq    12    

28

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    34975    23    slozhenikin_com    37    

61

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105658    bonv    261    

874

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    77986    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30487    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68329    647    Eugen-S    36    

52

Навигатор по конфигурации базы 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    59964    536    ROL32    72    

183

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

10 стартмани

14.08.2018    159594    3532    Evg-Lylyk    800    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46497    35    informa1555    30    

77

Работа со схемой запроса

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    59345    kalyaka    40    

212

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32448    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.

1 стартмани

08.02.2018    44308    25    mvxyz    17    

79

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    26206    2    10    

9

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    58764    60    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При обновлении платформы 1С:Предприятие 8 предыдущие версии не удаляются. Со временем количество неиспользуемых версий платформы растет. Они занимают место на диске. Для решения этой проблемы предназначена программа OneCleaner. Она позволяет быстро удалить неиспользуемые версии платформы, а также почистить кэш метаданных и удалить ненужные информационные базы данных.

1 стартмани

14.11.2017    39155    109    bonv    17    

48

Закрываем всплывающие сообщения платформы

Инструментарий разработчика Управляемые формы Абонемент ($m)

Принудительное закрывание сообщений платформы 8.3.10.

1 стартмани

10.11.2017    20810    13    RomaH    8    

12

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

Программа для обработки, анализа и визуализации данных информационных баз «1С:Предприятия» с использованием возможностей языка программирования R.

10 стартмани

10.07.2017    33553    3    DataReducer    13    

47

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

Универсальные функции HighLoad оптимизация Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    54037    DarkAn    87    

196

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    48924    119    Silenser    34    

75