Обработка поиска дублей кода. Исходного кода модулей 1С

Публикация № 83989 12.04.11

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

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

Эпиграф

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

Кент Бек и Мартин Фаулер "Рефакторинг. Улучшение существующего кода"

Для чего нужно

Повторяющийся код - это плохо.

Повторяющийся код - это практически неизбежно.

Речь, конечно, идёт о проектах,  объём исходного кода которых измеряется мегабайтами.

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

 

Умные слова

Блок кода - последовательность операторов, заключённая между двумя ключевыми словами языка 1С.

Лексема - минимальная значащая единица языка 1С. В этом смысле оператор "+" и строковая константа на 3 экрана равнозначны.

Сигнатура блока - строка, обобщённо описывающая блок кода. Может быть одинаковой для блоков, текст которых отличается.

Как работает

Для модуля строится синтаксическое дерево алгоритма, после чего каждой ветви дерева сопоставляется сигнутура.

При составлении сигнатуры предполагается, что значения имеют ключевые слова 1С, операторы, имена функций/методов и типы констант. Для единообразия сигнатуры операторов и методов выглядят одинаково.


Таким образом сигнатуры Сообщить("Привет, Мир!") и Сообщить("Мама мыла раму") будут одинаковыми, а Сообщить("Привет, Мир!") и Предупреждение("Привет, Мир!") - разными. 

Результатом выполнения становятся ветви дерева, сгруппированные по сигнатурам и отфильтрованные от пересекающихся и вложенных блоков.

Предуведомление

Для создания вспомогательных структур данных обработка использует внешнюю компоненту, расположенную в макете обработки. На данный момент компонента может быть несовместима с платформой "1С: Предприятие 8.2"

Как с этим работать

В окне "Поиск и просмотр дублей" можно как запустить поиск дублей кода, просмотреть результаты сохранённого ранее поиска.

 

Параметры поиска:

Минимальная сигнатура - сигнатуры меньшей длины в результат поиска не включаются. Длина сигнатуры примерно в 2.5-3 раза больше количества лексем в блоке.

Минимальная подпоследовательность - количество строк кода, считающееся отдельным блоком. Если 0 - учитываются только блоки, заключённые между Цикл ... КонецЦикла, Тогда ... КонецЕсли и т.д.

Не учитывать тип констант - делает сигнатуры для кода переменная = 1, переменная = "1" и переменная = другаяПеременная идентичными.

Поиск:

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

 

Результаты поискка:

По окончании поиска или загрузки ранее сохранённого поиска в нижней части формы заполняются списки найденных блоков с одинаковой сигнатурой.

В левом списке перечисляются дубли в формате "{количество дублей}:{длина сигнатуры}"

При выборе одного из них в правом верхнем выводится список блоков в формате "[{начальная строка блока} .. {конечная строка блока} @ {имя файла модуля}] {первая строка блока}"

Ниже выводится сама сигнатура.

При выборе одного из блоков открывается окно с текстом его исходного кода.

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

 

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

Наименование Файл Версия Размер
ПоискПохожегоПрограммногоКода.epf

.epf 696,03Kb
217
.epf 696,03Kb 217 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. German 412 12.04.11 16:57 Сейчас в теме
супер, сейчас пробежимся по УПП ;)
2. artbear 1430 12.04.11 17:15 Сейчас в теме
Самое главное в обработке описано совсем слегка :(
Цитата: "Сигнатура блока - строка, обобщённо описывающая блок кода. Может быть одинаковой для блоков, текст которых отличается."
Поясни, плиз, подробнее.
И еще бы примеры блоков кода и сигнатур увидеть.
4. bk-81 50 12.04.11 18:03 Сейчас в теме
(2)
Самое главное в обработке описано совсем слегка

Цитата: "Сигнатура блока - строка, обобщённо описывающая блок кода. Может быть одинаковой для блоков, текст которых отличается."

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

Поясни, плиз, подробнее.

При составлении сигнатуры предполагается, что значения имеют ключевые слова 1С, операторы, имена функций/методов и типы констант. Для единообразия сигнатуры операторов и констант выглядят одинаково.

Таким образом сигнатуры {Сообщить("Привет, Мир!")} и {Сообщить("Мама мыла раму")} будут одинаковыми, и {Сообщить("Привет, Мир!")} и {Предупреждение("Привет, Мир!")} - разными.

И еще бы примеры блоков кода и сигнатур увидеть.

А для этого должно быть достаточно скормить обработке не сильно пострадавший от рефакторинга кусок кода.
Если что-то не работает или остаётся непонятным - я по мере сил готов прояснить.
3. bk-81 50 12.04.11 17:53 Сейчас в теме
German пишет:

супер, сейчас пробежимся по УПП

Это если только по каждому модулю отдельно.
Пакетная работа предусмотрена, но до конца не реализована.
Доработки в этом направлении приветствуются, но и сам со временем допишу.
Опять-таки в тестовом прогоне на 30 Мб. исходного кода была отмечена ошибка платформы.
5. Поручик 4636 12.04.11 23:56 Сейчас в теме
>>>>>Умные слова
Лучше: Не для средних умов. Или: Не для ламеров. И вынести в заголовок.
6. bk-81 50 13.04.11 00:03 Сейчас в теме
(5) Я ещё определяюсь в терминологии и осваиваюсь с местным редактором. Этот этот "едитор" и без того половину разметки мне потерял.
7. Поручик 4636 13.04.11 00:08 Сейчас в теме
Местный редактор - это широко известный в узких кругах TinyMCE (пруф), вещь упоротая и нормально не работающая, по-моему, нигде.
8. bk-81 50 13.04.11 00:20 Сейчас в теме
(7)
Местный редактор - это широко известный в узких кругах TinyMCE

Я так и думал, но проверять желания даже не возникало. Мне JCE более симпатичен.
вещь упоротая и нормально не работающая, по-моему, нигде.

Ну не настолько же, чтобы цвет текста изменить не мог... Впрочем фигня на фоне дня космонавтики.
15. An-Aleksey 64 13.04.11 15:29 Сейчас в теме
Похоже, до выяснения флаг "1С: Предприятие 8.2" с материала придётся снять.

С 8.2 не связанно - установил 8.1, запустил - теперь из программы не вылетает, но шлет в конфигуратор:

{ВнешняяОбработка.ПостоительДерева(8)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты
ЗагрузитьВнешнююКомпоненту(ПутьЛексемизатора + "\Lexer.dll");
16. bk-81 50 13.04.11 15:44 Сейчас в теме
(15) Кроме проблем с правами пользователя и, с меньшей вероятностью, нехваткой каких-либо библиотек, в голову ничего не приходит.
9. An-Aleksey 64 13.04.11 12:43 Сейчас в теме
Запуск внешней компоненты Translator.dll отваливается по ошибке системы.
Зависит-ли работа от винды? (Пробовал на 7-ой)
10. bk-81 50 13.04.11 12:56 Сейчас в теме
(9)
Запуск внешней компоненты Translator.dll отваливается по ошибке системы.

На какой из операций - ЗагрузитьВнешнююКомпоненту, Новый("AddIn.Translator") или Лексемизатор.ПостроитьДеревоКода?
Сообщение об ошибке стандартное или платформа падает в дамп?
Зависит-ли работа от винды? (Пробовал на 7-ой)

В основном от прав пользователя зависит. Сам проверял на Ultimate 7 x64
11. An-Aleksey 64 13.04.11 13:17 Сейчас в теме
На какой из операций - ЗагрузитьВнешнююКомпоненту, Новый("AddIn.Translator") или Лексемизатор.ПостроитьДеревоКода?
Сообщение об ошибке стандартное или платформа падает в дамп?

На операции ЗагрузитьВнешнююКомпоненту.
Стандартное сообщение винды "Прекращена работы программы "1cv8" (Искать решение в интернете / Закрыть программу).
Пробовал на нескольких машинах, стоит Windows 7 Максимальная.

Перед запуском обработку конвертировал в 8.2.
Запускал под толстым клиентом.
13. bk-81 50 13.04.11 14:25 Сейчас в теме
(11)(12)Спасибо, что помогли.

Похоже, до выяснения флаг "1С: Предприятие 8.2" с материала придётся снять.
Никогда не писал ВК для 8.2 и где-то напортачил. Буду учить мат.часть.

Тем не менее анализировать код от 8.0, 8.1 и 8.2 обработка должна с одинаковым успехом.
12. tormozit 6870 13.04.11 13:21 Сейчас в теме
Такая же проблема (при нажатии на лупу).
Windows 7 x32 Ultimate.
1С 8.2.13.218 (обычное приложение, режим совместимости выключен)

Problem signature:
Problem Event Name: APPCRASH
Application Name: 1CV8.exe
Application Version: 8.2.13.218
Application Timestamp: 4d6e57bd
Fault Module Name: StackHash_c6d1
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Code: c0000005
Exception Offset: 10cdd4cf
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1049
Additional Information 1: c6d1
Additional Information 2: c6d16f48f35e70c84b29619c9ba4cc97
Additional Information 3: 0484
Additional Information 4: 0484288381e5c7f6e1c0a5e157634e40
14. bk-81 50 13.04.11 14:31 Сейчас в теме
Внёс ряд изменений:

Убрал окно выбора файла. Теперь файл выбирается из верхнего меню.
Добавил выбор каталога исходников при просмотре сохранённых результатов.
Добавил во внешнюю компоненту обработку некоторых исключительных случаев.
17. bulpi 209 13.04.11 21:10 Сейчас в теме
Идея хорошая. Но не работает. Не загружает компоненту. Система XP SP2, 1с 8.1
Проверяй работу компоненты на разных системах. Иначе это разработка лично для тебя, а не для публикации.
18. bk-81 50 13.04.11 21:27 Сейчас в теме
(17)
Идея хорошая. Но не работает. Не загружает компоненту. Система XP SP2, 1с 8.1

Как ни странно, в кратком описании - у меня точно такая же система, как и у Вас.
Проверил. Работает.
Вас не затруднит проверить под отладчиком путь, по которому пытается загрузиться компонента и наличие такого файла на диске?
Такими мелочами, как права доступа, и настройки безопасности я даже не смею Вас беспокоить.

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

Отсуствие у меня под рукой десятка тестовых стендов является одной из причин публикации. Покорнейше прошу простить меня за отнятое у Вас моей поделкой время.
21. bulpi 209 14.04.11 00:39 Сейчас в теме
(18)
Ладно, наезд отменяю :D и прошу прощения за резкость.
Просто жалко, такая интересная публикация, а посмотреть не получается.
С путем все нормально. С правами тоже, это домашний компьютер, я на нем Бог.
И новую сборку проверил.
Может , релиз 1с 8.1 виноват. У меня старый, 8.1.12.98
19. bk-81 50 13.04.11 22:06 Сейчас в теме
Выложил с ВК, пересорбранной с другими параметрами компиляции
20. An-Aleksey 64 13.04.11 22:58 Сейчас в теме
Вас не затруднит проверить под отладчиком путь, по которому пытается загрузиться компонента и наличие такого файла на диске?
Такими мелочами, как права доступа, и настройки безопасности я даже не смею Вас беспокоить.

Путь к компоненте роли не играет - я копировал компоненту на рабочий стол и запускал по прямому пути, не помогло.
Права доступа тоже не при чем - у меня админские.
Может действительно файрвол? - Отключать и проверять уже не осталось желания ;)
22. bk-81 50 14.04.11 01:28 Сейчас в теме
(20)
Может действительно файрвол? - Отключать и проверять уже не осталось желания

Там антивирус на упаковщик мог косо смотреть. Последняя сборка - в числе прочих шаманств - не сжата.
(21)Ничего. Бывает.
Просто жалко, такая интересная публикация, а посмотреть не получается.

С путем все нормально. С правами тоже, это домашний компьютер, я на нем Бог.

Будем копать. Интересно - у кого-нибудь запустилось?

Может , релиз 1с 8.1 виноват. У меня старый, 8.1.12.98

У меня 8.1.14.72, но, боюсь, всё не так просто.
Возможно, идея каждый раз распаковывать ВК в новый временный каталог была ошибочной, или GUID из шаблона оказался где-то засвечен. По крайней мере при пересборке с новым GUID компонента отказалась грузиться и у меня. Днём посмотрю - как это отображается в реестре и технологическом журнале.
23. Арчибальд 2704 14.04.11 07:39 Сейчас в теме
24. bk-81 50 14.04.11 12:35 Сейчас в теме
(23)
Какой приятный дебют

Весеннее обострение :)
Ещё приятнее было бы разобраться с проблемой внешней компоненты - как часто и по какой причине возникает.
25. bk-81 50 17.04.11 03:09 Сейчас в теме
Воспроизвёл и скорее обошёл, чем устранил проблему загрузки внешней компоненты.
Добавил режим анализа каталога с файлами исходного кода.
Добавил сравнение средствами 1С первых двух похожих блоков из списка.
26. An-Aleksey 64 18.04.11 10:28 Сейчас в теме
Открываю файл с модулем - промелькнуло черное окно загрузки exe (уповаю на порядочность и отсутствие вируса) :)

Далее окошечко:
The application has tncountered a problem. We are sorry for the inconvenience.
Stnd Error Report | Don`t Send
:) ТА-ДА - ДАМП 1С...
28. bk-81 50 18.04.11 12:02 Сейчас в теме
(26)
Открываю файл с модулем - промелькнуло черное окно загрузки exe (уповаю на порядочность и отсутствие вируса)

А можно ещё в коде посмотреть - что за команда системы выполняется.


Далее окошечко:

The application has tncountered a problem. We are sorry for the inconvenience.

Stnd Error Report | Don`t Send

ТА-ДА - ДАМП 1С...
Что за файл загружается?
Что пишется при нажатии в окне с ошибкой ссылки "click here."?
27. cool.vlad4 2 18.04.11 10:55 Сейчас в теме
Может выложить код? прошу прощения за наглость..но может кто-нибудь поправил...вещь очень нужная и полезная...
29. bk-81 50 22.04.11 15:09 Сейчас в теме
- Исправил проблемы распознавания лексемизатором функции "Новый"
- Исправил проблему с комментариями внутр многострочных констант.
- Исправил проблему с падением платформы при ошибке лексемизатора.

+ Добавил кнопку повторного поиска без нового построения вспомогательных структур.
30. dandrontiy 12.01.12 14:31 Сейчас в теме
А кто автор translator.dll ? эта компонента имеет исходный код ? глянуть можно ?
Интересует в большей степени сам принцип чтения кода конфигурации из 1С (и есть ли возможность его программно менять ?)

А разработка мне кажется очень полезная.
31. bk-81 50 18.01.12 10:32 Сейчас в теме
(30)
А кто автор translator.dll ?
Я

эта компонента имеет исходный код ?
Да.

глянуть можно ?
Нет. Права принадлежат моему работодателю.

Интересует в большей степени сам принцип чтения кода конфигурации из 1С
Выгрузка файлов конфигурации в каталог. Сама обработка этого не делает, но сложности в этом нет - пакетный режим конфигуратора это позволяет. Или V8UnPack / EI в произвольных сочетаниях.

(и есть ли возможность его программно менять ?)
Загрузка изменённых файлов конфигурации из каталога. Или V8UnPack / EI в произвольных сочетаниях.
33. AlexO 132 30.10.12 11:12 Сейчас в теме
(31)
т.е. нужен еще и V8UnPack?
Под 8.3 ВК не понадобится - там уже планируют выгрузку в XML конфигурации.
Другой вопрос - насколько кто сумеет корректно реализовать "пробег" по всей конфе а-ля УПП...
32. tormozit 6870 30.10.12 10:53 Сейчас в теме
Ну че, так и не работает компонента на 8.2?
35. bk-81 50 30.10.12 12:22 Сейчас в теме
(32) tormozit, когда последний раз смотрел - работала. С тех пор разве что решил проблему с ЗагрузитьВнешнююКомпоненту. При случае выложу.

(33)
т.е. нужен еще и V8UnPack
Совсем не обязательно. Обработка в первую очередь рассчитана на работу с каталогом, полученный командой "Выгрузить файлы конфигурации". V8UnPack упоминался в другом контексте.
Под 8.3 ВК не понадобится - там уже планируют выгрузку в XML конфигурации
ВК делает совсем другие преобразования. Не думаю, что даже 8.8 будет выгружать синтаксическое дерево алгоритмов. Если я не ошибаюсь, то что действительно не понадобится - так это преобразование сериализованних форм в XML для получения списка реквизитов.

(34)
Повторяющийся код - это стиль 1С
Не читал таких руководств по стилю :)
Повторяющийся код - это неизбежно, пока 1С будет делать то, что она делает уже почти 20 лет
Наверное я чего-то не знаю... Что же такое делается всё это время?
Просьба сменить эпиграф на более актуальный - все-таки ресурс по 1С :)
Оставлю, всё же, как есть. Пара лет внедрения в проект элементов АОП ещё больше убедили меня в его правильности.
34. AlexO 132 30.10.12 11:15 Сейчас в теме
Повторяющийся код - это плохо.
Повторяющийся код - это практически неизбежно.

Повторяющийся код - это стиль 1С.
Повторяющийся код - это неизбежно, пока 1С будет делать то, что она делает уже почти 20 лет.
Просьба сменить эпиграф на более актуальный - все-таки ресурс по 1С :)
36. ildarovich 7702 12.09.13 10:09 Сейчас в теме
Интереснейшая тема. Нельзя ли побольше узнать об истории разработки:
- как возникла идея;
- откуда терминология, методика ("сигнатуры", синтаксическое дерево алгоритма) - из книжки?(какой?);
- сколько длился проект (дипломный?);
- чем закончился;
- используется ли сейчас;
- это случайно не "ИжТиСи";
- почему ВК, на чем сделано, какой объем кода;
- был ли коммерческий интерес.
37. Angel_19 6 23.09.19 08:59 Сейчас в теме
Получаю ошибку:

{ВнешняяОбработка.ПоискПохожегоПрограммногоКода.Форма.ПросмотрДублей.Форма(143)}: Индекс находится за границами массива
МетодыМодуля = СтруктураОбъекта.Строки[0].Строки.НайтиСтроки(Новый Структура("Тип", 3));
Оставьте свое сообщение

См. также

Infostart Toolkit

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

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

10000 руб.

02.09.2020    80800    394    366    

470

SALE! %

PowerTools

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

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

2400 1920 руб.

14.01.2013    164721    1010    0    

769

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

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

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

5000 руб.

07.02.2018    93613    227    95    

276

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

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

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

2400 руб.

24.09.2019    19927    11    14    

19

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

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

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

2500 руб.

02.04.2017    42175    72    27    

128

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

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

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

2400 руб.

13.07.2015    46660    155    27    

105

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

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

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

1 стартмани

17.12.2021    12709    32    RocKeR_13    5    

42

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

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

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

15000 руб.

07.10.2021    11614    2    12    

36

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

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

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

1 стартмани

27.08.2021    15976    206    Adeptus    57    

92

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

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

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

4200 руб.

16.04.2021    10634    2    9    

7

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

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

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

2 стартмани

06.03.2021    14462    8    pila86    17    

29

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

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

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

16.02.2021    11770    zhichkin    74    

79

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

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

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

5 стартмани

21.12.2020    19617    32    huxuxuya    11    

36

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

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

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

10.11.2020    12815    126    zhichkin    14    

25

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

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

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

2 стартмани

11.08.2020    11585    61    vozhd    4    

19

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

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

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

03.08.2020    9048    tormozit    29    

94

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

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

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

1 стартмани

05.03.2020    17375    14    moolex    13    

15

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

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

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

3000 руб.

27.08.2019    15109    3    6    

32

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

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

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

1 стартмани

04.07.2019    19840    34    riposte    6    

52

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

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

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

1 стартмани

30.06.2019    24838    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    17439    48    vandalsvq    12    

28

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

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

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

1 стартмани

08.04.2019    34983    23    slozhenikin_com    37    

61

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

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

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

31.01.2019    105678    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    77997    286    informa1555    246    

207

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

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

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

7 стартмани

05.12.2018    30489    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    68341    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    59971    536    ROL32    72    

183

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

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

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

10 стартмани

14.08.2018    159637    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    46508    35    informa1555    30    

77

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

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

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

1 стартмани

24.04.2018    59350    kalyaka    40    

212

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

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

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

10 стартмани

15.03.2018    32454    33    33lab    5    

18

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

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

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

1 стартмани

08.02.2018    44318    25    mvxyz    17    

79

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

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

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

2040 руб.

27.12.2017    26218    2    10    

9

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

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

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

1 стартмани

18.11.2017    58777    61    bonv    13    

74

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

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

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

1 стартмани

14.11.2017    39164    109    bonv    17    

48

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

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

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

1 стартмани

10.11.2017    20817    13    RomaH    8    

12

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

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

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

10 стартмани

10.07.2017    33561    3    DataReducer    13    

47

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

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

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

26.05.2017    54038    DarkAn    87    

196

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

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

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

1 стартмани

22.05.2017    48931    119    Silenser    34    

75