Статический анализатор кода для встроенного языка 1С

Публикация № 527258

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

Встоенный язык статический анализ отлов ошибок разработка

Инструмент статического анализа модулей встроенного языка 1С

Назначение инструмента

Программа предназначена для статического анализа модулей встроенного языка 1С (файлов *.bsl).  

Зачем это нужно? Применение статического анализа при разработке позволяет сократить количество ошибок, выявляемых на этапе работы и сократить время, затрачиваемое на отладку за счёт выявления этих ошибок на этапе разработки.

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

Возможности

Позволяет выполнить проверку файлов на наличие ошибок в интерактивном или пакетном режиме работы.

В интерактивном режиме предоставляется возможности:

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

В пакетном режиме предоставляется возможность проверки одного или нескольких файлов с учётом определённых констант препроцессора и вывод сообщений об ошибках в файл протокола

Запуск в пакетном режиме

bslsa.exe pathToLogFile [ --define=DEFINE [...]] pathToFileToCheck1 [... pathToFileToCheckN]

где:

    pathToLogFile - путь к файлу протокола

    --define=DEFINE - определение требуемого символа препроцессора, например Клиент или Сервер

   pathToFileToCheck1 - путь к файлу или файлам, которые требуется проверить

Пример строки запуска в пакетном режиме

bslsa.exe c:\check.log  --define=Клиент --define=Сервер d:\cfgunload\*.bsl

Планы по развитию

В перспективе планируется:

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

Ошибки и предложения

https://trello.com/b/mwACzUl2/estatico-analisis

Распознаваемые ошибки

  • Две последовательные переменные присваиваются через одно и то же выражение, что может являться логической ошибкой или неоптимизированным кодом.
  • Не все ветви выполнения в функции %1 возвращают какое-либо значение, что похоже на ошибку.
  • В функции ИМЯ отсутствует завершающий оператор ВОЗВРАТ (или ВЫЗВАТЬИСКЛЮЧЕНИЕ) что похоже на ошибку.
  • Результат вызова функции '%1' не используется, что может являться ошибкой.
  • Функция ИМЯ возвращает одно и тоже значение ЗНАЧЕНИЕ во всех точках возврата, что похоже на ошибку.
  • Операторы функции ИМЯ1 полностью совпадают с операторами функции ИМЯ2.
  • Возможно конструкция A[B ОПЕРАТОР C] ошибочна и нужна была A[B] ОПЕРАТОР C.
  • Функция СтрДлина вызывается в цикле для константного выражения, что может сказываться на производительности.
  • В выражении используется неинициализированная локальная переменная %1, что похоже на ошибку.
  • Создаваемая переменная ИМЯ имеет тоже имя что и процедура, что может привести к ошибкам.
  • Переменная ИМЯ присваивается дважды подряд без её использования между присваиваниями, что похоже на ошибку.
  • Переменной ИМЯ присвоено значение, но оно нигде не используется, что похоже на ошибку.
  • Переменная ИМЯ имеет имя одинаковое с глобальной переменной, что может привести к ошибкам.
  • Переменная %1 переопределяет одноимённый параметр.
  • Инструкция ПРОДОЛЖИТЬ является последней в цикле. Она либо является лишней, либо это похоже на ошибку кодирования.
  • Отсутствуют какие-либо операторы внутри блока (ЦИКЛ|ЕСЛИ). Возможно это ошибка кодирования.
  • Переменная ИМЯ используется для счётчика цикла и в этом и внешнем цикле, что похоже на ошибку кодирования.
  • Этот и внешний циклы ДЛЯ КАЖДОГО реализуют обход по одной и той же коллекции %1, что может быть ошибкой.
  • Начальное и конечное значение цикла совпадают, что похоже на ошибку кодирования.
  • Безусловная операция ВОЗВРАТ внутри цикла. Это может указывать на логическую ошибку.
  • Недостижимый код.
  • Оператор ? вне зависимости от условия возвращает одинаковые значения.
  • Присвоение переменной ИМЯ самой себе похоже на ошибку кодирования.
  • Рекурсивная проверка ЕСЛИ (%1) ТОГДА ЕСЛИ (%1) ... похожа на ошибку кодирования, так как условие уже проверено выше.
  • Обнаружены два взаимоисключающих условия (%1) и (%2). Второе условие всегда будет ложным.
  • Последний оператор ВОЗВРАТ в ветке ТОГДА|ИНАЧЕТОГДА|ИНАЧЕ идентичен оператору ВОЗВРАТ следующему после оператора ЕСЛИ. Похоже, что он не нужен или присутствует ошибка.
  • В первом из двух последовательных операторов ЕСЛИ с одинаковыми условиями содержится безусловный оператор ВОЗВРАТ. Второй оператор ЕСЛИ либо не нужен, либо его условие записано с ошибкой.
  • Конструкция ЕСЛИ (%1) ТОГДА ... ИНАЧЕ ЕСЛИ (%1) ... похожа на ошибку кодирования, так как оно никогда не будет выполнено.
  • Операторы в блоке ТОГДА полностью эквивалентны операторам в блоке ИНАЧЕ.
  • Выражение (%1) окружено бесполезными скобками. Может быть они не нужны или присутствует ошибка
  • Одинаковые выражения '%2' слева и справа от оператора '%1'. Возможно это ошибка кодирования.

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

Наименование Файл Версия Размер
bslsa.zip

.zip 6,14Mb
32
.zip 6,14Mb 32 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ardn 259 30.05.16 16:00 Сейчас в теме
Возможна ли пакетная работа?
8. honomer 56 31.05.16 08:02 Сейчас в теме
(1) ardn, Возможна. Посмотрить окно "О программе", там написано, как это сделать.
2. Evil Beaver 6998 30.05.16 20:06 Сейчас в теме
А без окошка, в командной строке работает?
CodeNull; reotem; nixel; artbear; lustin; +5 Ответить
9. honomer 56 31.05.16 08:27 Сейчас в теме
(2) Evil Beaver, Работает. Можно увидеть синтаксис командной строки вызвав программу с параметром /?
Alien_job; +1 Ответить
3. artbear 1303 30.05.16 20:10 Сейчас в теме
Правильно я понимаю, что пока исследуется только независимый/отдельный модуль, без связей с соседними модулями, например, общие модули ?
4. Evil Beaver 6998 30.05.16 20:23 Сейчас в теме
(3) artbear, судя по диагностике "переменная дублирует глобальную переменную" - нет. Или под глобальной имеется в виду переменная уровня модуля?
10. honomer 56 31.05.16 08:29 Сейчас в теме
(3) artbear, Да, правильно. Пока только один модуль без связи с соседними. И это существенно сказывается на выводе типов.
5. nixel 1013 30.05.16 20:58 Сейчас в теме
Некорректно обрабатывает комментарии внутри многострочной строки вида:

"Многострочная
|строка
// коммент +
|с добавленным текстом, окруженным тегами
// коммент -
|завершение строки";

Ну и конечно же интересует запуск из командной строки. Плюс интересно взглянуть на исходники (желательно открытые) :)

Спасибо за инструмент!
11. honomer 56 31.05.16 08:31 Сейчас в теме
(5) nixel, разбор многострочной строки на выходных попробую исправить.
6. so-quest 133 30.05.16 23:22 Сейчас в теме
winxp - не запустилось.


С чем связан выбор qt?
12. honomer 56 31.05.16 08:33 Сейчас в теме
(6) so-quest, на QT потому, что не охота было сильно заморачиваться с интерфейсом. А что пишет в WinXP - ошибка какая-то есть или совсем не запускается?
7. so-quest 133 30.05.16 23:27 Сейчас в теме
разбор по грамматике или руками? Поддержка препроцессора есть или планируется? Разделение по областям видимости - если сделана - то как? Обработка правил - как реализована (кодом или есть язык преобразований)? Сырцы - принципиально не открываешь или можно ожидать?
13. honomer 56 31.05.16 08:39 Сейчас в теме
(7) so-quest, Препроцессор поддерживается. Про области видимости - не понял о чём речь.
Разбор пока руками, может когда ANTLR v4 поддержит С++ перейдём на него.
Исходники вам в данный момент зачем?
14. Evil Beaver 6998 31.05.16 14:38 Сейчас в теме
(13) нам в данный момент они (исходники) не зачем, но в перспективе мы хотим использовать открытый инструмент (если он будет открытым). Религия у нас такая тут... ))

Кроме того, в открытый инструмент мы запросто сможем вложиться кодом, делая мир лучше.
JohnyDeath; ret-Phoenix; +2 Ответить
15. honomer 56 31.05.16 16:34 Сейчас в теме
(14) Evil Beaver, простите, я религии стараюсь обходить стороной. Пока открывать не готов, потом - подумаем.
16. Evil Beaver 6998 31.05.16 16:38 Сейчас в теме
(15) думайте, конечно. Просто когда надоест пилить в одиночку, вспомните мои слова )))
17. honomer 56 31.05.16 16:42 Сейчас в теме
(16) Evil Beaver, под oneScript eго проще заново написать, чем этот переделывать.
18. so-quest 133 31.05.16 16:57 Сейчас в теме
Да не в коде дело, а в правилах и модели на которой эти правила будете анализировать.
(17) как совет - пока не поздно - уходи с С++ на языки с более простым циклом разработки
21. honomer 56 31.05.16 17:03 Сейчас в теме
(18) so-quest, более простой цикл разработки - это какой-же? :) Шарп, ява? Фреймворки у них мощные, а цикл разработки такой же - кодишь, дебажишь, тестишь.
22. so-quest 133 31.05.16 17:23 Сейчас в теме
(21) лисп/кложура/схема : тест -> репл -> код и функции не будут такие большие
24. lustin 31.05.16 21:18 Сейчас в теме
25. Evil Beaver 6998 31.05.16 21:24 Сейчас в теме
(24) lustin, кстати, да. Golang разработан, как конкурент C/C++, в нем авторы серьезно подумали над устранением атавизмов C++ и заявляют практически о будущем мировом господстве.
23. artbear 1303 31.05.16 18:14 Сейчас в теме
(21)
цикл разработки такой же - кодишь, дебажишь, тестишь.

ОФФ/2 А если юзать ТДД, то скорость будет выше :)
19. Evil Beaver 6998 31.05.16 16:57 Сейчас в теме
(17) я вовсе не в привязке к oscript спрашиваю)))
20. honomer 56 31.05.16 16:59 Сейчас в теме
(19) Evil Beaver, да я, если честно, ни в чём плохом вас и не подозревал. Извините, действительно со стороны некрасиво получилось.
26. premierex 01.06.16 10:02 Сейчас в теме
На Инфостарте уже был опубликован проект тестирования конфигураций. Реализован на wsh скриптах (vbs, js). Исходные коды открыты. Тесты легко подключаются буквально на лету, каждый тест снабжен документацией, в проекте принимало участие несколько разработчиков. Кому интересно, можно посмотреть по ссылке.
h00k; artbear; +2 Ответить
27. honomer 56 01.06.16 11:04 Сейчас в теме
(26) premier,
Больше инструментов, хороших и разных.
Сайт программы недоступен.
34. premierex 01.06.16 20:13 Сейчас в теме
(27) Сайт программы действительно недоступен, т.к. автор этот проект забросил, но я принимал активное участие в этом проекте (писал часть движка и некоторые тесты) и, думаю, смог бы убедить автора проекта "подарить" его сообществу. К тому же большинство исходных кодов сохранились, их можно на этом сайте скачать или у меня попросить (не уверен, правда, что самой последней версии) .
(28) Уважаемый, Вы ошибаетесь. Эти проекты из одной и той же области - а именно: тестирование кода модулей на соответствие некоторым стандартам (кто уж какой придумает). Отличие от предлагаемого ПО в данной публикации (+ кстати забыл поставить, исправлюсь) - это открытость кодов и масштабируемость, т.е. возможность написать тест под какие-то свои стандарты оформления кода. Ну и возможность работы над проектом в команде.
28. brr 179 01.06.16 11:07 Сейчас в теме
(26) premier, это разные вещи
Evil Beaver; +1 Ответить
29. pro1c@inbox.ru 180 01.06.16 13:06 Сейчас в теме
Без раскраски кода не годится!
Для такого инструмента, как статический анализатор кода, она обязательна должна быть!
30. so-quest 133 01.06.16 13:14 Сейчас в теме
(29) - а подробнее? чем эта раскраска поможет?
32. pro1c@inbox.ru 180 01.06.16 13:26 Сейчас в теме
(30) so-quest,

Если я делаю, статический анализ кода, мне мало сообщений о потенциальных или существующих ошибках, а хотелось бы без труда охватить взглядом код!
Ведь где то я могу согласится с анализатором, а где то нет, раскраска просто помогает мне визуально пробегать по коду взглядом, без лишнего труда выделять ключевые слова и т.д.
Плюс, я могу просто начать писать какую-нибудь процедуру для своих тестов на анализ сразу в окне, хотелось бы иметь удобный редактор!
33. so-quest 133 01.06.16 13:35 Сейчас в теме
(32) Подобные инструменты просто делают вывод (файл или консоль) а уж раскраской занимаются совсем другие программы. Основная задача анализатора - сообщить о проблеме (сообщение может быть и ложным, но если анализатор его нашел, значит текст попадает под правило анализа) Что делать с этой информаций дальше - анализатору пофиг. ведь вывод прогаммы можно и в dev/null отправить
31. honomer 56 01.06.16 13:22 Сейчас в теме
(29) pro1c@inbox.ru, вот тоже хотелось бы узнать - чем поможет раскраска, если основной режим работы для не встроенного в Конфигуратор инструмента, вообще говоря, из командной строки.
35. premierex 01.06.16 20:20 Сейчас в теме
Вот архив, который у меня сохранился, посмотрите, протестируйте...
Прикрепленные файлы:
TestIB8x.rar
vursan; cleaner_it; +2 Ответить
36. so-quest 133 02.06.16 11:08 Сейчас в теме
Как минимум неплохо бы документацию.
Как максимум - подробную документацию.

37. honomer 56 02.06.16 12:04 Сейчас в теме
(36) so-quest, как-то пока руки не дошли
38. premierex 03.06.16 09:09 Сейчас в теме
(0) Автор, утверждение Конструкция ЕСЛИ (%1) ТОГДА ... ИНАЧЕ ЕСЛИ (%1) ... похожа на ошибку кодирования, так как оно никогда не будет выполнено. не совсем верно, так как ЕСЛИ (%1) = Истина то код, следующий за оператором ТОГДА будет выполняться всегда, а вот код, следующий за конструкцией ИНАЧЕ ЕСЛИ (%1) ТОГДА действительно никогда выполняться не будет.
39. honomer 56 03.06.16 19:47 Сейчас в теме
(38) premier, спасибо. Переформулирую в следующей версии
40. honomer 56 05.06.16 12:34 Сейчас в теме
Коллеги, вопрос: кроме понятного желания "больше правил" и хотелки "подкрашивающий редактор" есть ещё какие-то пожелания по функционалу, которые вы считаете важными, но они отсутствуют? Настройка списка правил для проверки и т.д.?
41. so-quest 133 05.06.16 13:47 Сейчас в теме
1. Отдельно правила для лексера, парсера, преобразователя.
2. Свое описание правил и соответственно интерпретатор этих правил.
3. Возможность выключать проверку правила в коде
4. Связь метаданных и кода
5. Расчет метрик для кода
42. so-quest 133 05.06.16 13:51 Сейчас в теме
6. Вывод лексем и ast в отдельный файл (даст возможность самому писать правила)
43. so-quest 133 05.06.16 13:51 Сейчас в теме
7. Документировать все это
44. so-quest 133 05.06.16 13:54 Сейчас в теме
8. Уйти от ручного разбора на генератор парсеров
47. honomer 56 06.06.16 14:29 Сейчас в теме
(44) so-quest, про разбор я уже писал - antlr4 пока не поддерживает С++
Писать самостоятельно пользовательские правила и их интерпретацию - я пока не вижу перспективы и ресурсов для этого, что самое главное. так же как и вывод дерева в файл, Это-то вообще зачем? Чтобы использовать в сторонних инструментах? И в каком формате?
Пока хочется документировать нормально, сделать настройку списка проверяемых правил, исправить ошибки, внести новые :) правила.
Можно и расчет метрик кода.

Остальное, как мне кажется, сейчас не так важно.
48. so-quest 133 06.06.16 15:25 Сейчас в теме
(47) Я бы тебе рекомендовал определиться - ты будешь за деньги это продавать или бесплатно раздавать. Если за деньги - тогда твои аргументы понятны и смысла что либо дальше говорить - мало. Если же оплата не планируется - тогда я не понимаю в чем проблема вывести дерево в файл (формат - любой какой нравится - от xml до чистого текста, главное его хоть как-то описать)
Про генератор - кроме антлр есть море генераторов. Выгода от них - в более быстрой разработке - не надо думать про состояния и переходы. За тебя все сделают. Да и когда захочешь с С++ уйти - не придется много переписывать.
Про правила - ты уверен что будешь успевать реагировать на все просьбы - добавь то или это? проще дать язык описания правил и на нем уже пусть пишут все что хотят. Внутри все равно примитивная перезапись термов и паттернматчинг .
49. honomer 56 06.06.16 17:16 Сейчас в теме
(48) so-quest, Сделать вывод дерева - проблем нет. Как я уже выше спросил - какой в этом смысл? Кому это нужно и для чего? От этого зависит что и как выводить.
Нужно ли, в конце концов, вообще тратить на это время?
Про генераторы я в курсе. Flex, bison, flex++, bison++, spirit... и иже с ними. А так же про проблемы левой рекурсии и адские сообщения компилятора у некоторых.

Что же про разработку основанную на правилах - считаю, что это ни разу не тривиальная задача по масштабам сравнивая и даже наверное больше с самим анализатором. Время затраченное на её разработку можно потратить довольно много и без особого успеха. Ведь это по сути - интерпретатор ещё одного языка, который будет описывать эти правила.

Можете привести пример хотя бы одного анализатора, который использует такой подход? Я поглядел в википедии, но что-то ничего там такого не нашёл, хотя, нужно признаться, искал тоже не очень сильно.
45. Zlohobbit 176 06.06.16 11:34 Сейчас в теме
Отличная доработка! Если возможно добавьте в следующих версиях поиск по анализируемому тексту! Нужно для анализа таких ошибок например как:"..похожа на ошибку кодирования, так как условие уже проверено выше.". И конечно же мечта это анализ cf -ников или для начала *.epf и *.erf))).
А так суперская Приблуда! Спасибо!
46. honomer 56 06.06.16 14:24 Сейчас в теме
(45) Zlohobbit, я подумывал сделать сортировку списка ошибок и его фильтрацию по типам и процедурам. Поиск, по-моему, тут не очень пригодится.
Для анализа cf, epf, erf - их нужно распаковывать, а это уже другой компот: уже существуют такие инструменты, зачем писать ещё один.
54. honomer 56 08.06.16 15:29 Сейчас в теме
(45) Zlohobbit, при клике на сообщении курсор переходит на строку, где диагностировали ошибку. Этого не достаточно?
50. so-quest 133 07.06.16 09:59 Сейчас в теме
> Сделать вывод дерева - проблем нет. Как я уже выше спросил - какой в этом смысл? Кому это нужно и для чего?

Сделай. Мне нужен этот вывод. Для собственных правил. Это же очевидно.

> А так же про проблемы левой рекурсии ...

Ты грамматику С/С++ разбираешь? Это примитивный 1С. Тупо бейсик, без всяких извращений. Тебе грамматика наоборот поможет и спасет от проблем связанных с неоднозначностью разбора выражений


> Что же про разработку основанную на правилах - считаю, что это ни разу не тривиальная задача

Кто сказал что будет просто? Хотя там сложного ничего и нет . Вот пример простого правила для подобной твоей системы-
(defrule :where 'lexer
  :name 'check-id-length
  :token ':identifier
  :description "Длинна переменной меньше 2 символов"
  :check #'(lambda (text type start end file index data)
         (> 2 (length text ))))

Где сложность в реализации? Аналогично и для обхода AST строиться набор правил.

Про построение статанализаторов кода - https://lvee.org/en/reports/LVEE_2012_01 и дальше по ссылкам.

И просьба - сделай что бы под WinXP работала твоя разработка.
52. honomer 56 08.06.16 14:18 Сейчас в теме
(50) so-quest,
про вывод дерева понял. запишу себе в план.

про то, где сложность реализации. Вот есть правило:
(defrule :where 'lexer
:name 'check-id-length
:token ':identifier
:description "Длинна переменной меньше 2 символов"
:check #'(lambda (text type start end file index data)
(> 2 (length text ))))

сложность хотя бы в том, что в С++ нет возможности взять лямбду в виде куска кода из файлы и выполнить. Т.е. Нужно будет написать ещё один интерпретатор. или встроить какой-то, типа lua.

про построение анализаторов - интересно, но примеров анализатора, основанного на правилах (о чём я собственно и задавал вопрос), которые мог бы задавать непосредственно пользователь я там что-то не обнаружил. Плохо искал?
51. eugeniezheludkov 33 08.06.16 03:56 Сейчас в теме
Начинал как то делать что-то подобное на регулярках в шарпе, просто была идея немного упростить труд КодРевьюверов ) и заодно "прошерстить" код от франчайзи. никакого статанализа не делал, только регулярка )

https://github.com/znsoft/1SCodeAnalyze

за код стыдно если честно. Последняя версия в ветви VS08.

работает так: распаковываете все модули конфигурации в каталог,
и в этом каталоге запускаете прогу .. а она в консоль выдает все найденные ошибки (имя объекта.имя модуля. имя метода. номер строки. кусок кода)
hotey; tkalin.vladimir; Sardukar; +3 Ответить
53. so-quest 133 08.06.16 15:14 Сейчас в теме
-> про вывод дерева понял. запишу себе в план.
Ну хоть что-то :) Когда ждать? Где будут обновления?

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

Нет никакой сложности. ecl именно для этого и придуман. Хотя проще сразу перейти на интерпретируемый язык. Выгоды получишь больше. Правда, если планируешь потом продавать свой продукт - будет сложнее защитить.

-> Плохо искал?

Нет, видимо искал хорошо. Но пропустил слова ASTLOG, datalog. Понимаешь в чем дело - нет стандартизированных методик статанализа кода, но все исследования которые проводятся в этом направлении - завершаются словами "Создана база правил для анализа языка " и правила эти до боли похожи на прологовские.
56. honomer 56 08.06.16 15:37 Сейчас в теме
(53) so-quest, ecl - это Embedable Common Lisp? Если да, ну и зачем оно мне - в QT уже есть встроенная поддержка QtScript.

55. naf2000 08.06.16 15:32 Сейчас в теме
а зачем анализировать недоязык?
57. honomer 56 08.06.16 15:39 Сейчас в теме
(55) naf2000, Если вы серьёзно не понимаете зачем это, то дискуссия видится бессмысленной.
58. so-quest 133 08.06.16 15:45 Сейчас в теме
(55) Тролишь? Или можешь привести доказательство того что 1С недоязык?
(56) тогда непонятно что вsзвало проблему - " С++ нет возможности взять лямбду в виде куска кода из файлы и выполнить. Т.е. Нужно будет написать ещё один интерпретатор. или встроить какой-то, типа lua. " - если есть qtscript.
59. honomer 56 08.06.16 15:56 Сейчас в теме
(58) so-quest, правила в приведённом виде - это не язык. и нужно будет делать их анализ и интерпретацию.
В общем, я запишу и подумаю.
60. 987ww765 279 13.07.17 12:03 Сейчас в теме
61. artbear 1303 13.07.17 12:26 Сейчас в теме
Посмотрите наш проект https://silverbulleters.org/sonarqube/

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

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

По ссылке намного подробнее написано
gubanoff; +1 Ответить
62. guy_septimiy 16.11.17 15:03 Сейчас в теме
Годная штука. Находит досадные недочеты
63. gubanoff 50 04.12.19 14:39 Сейчас в теме
(0) (61) да, лучший вариант эти правила добавить в сонар. Можно в свободный плагин, который развивает сообщество https://github.com/1c-syntax/bsl-language-server
Оставьте свое сообщение

См. также

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

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    4484    7    moolex    6    

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

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.03.2021    3046    5    pila86    16    

Генератор кода схемы компоновки данных (СКД)

Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    4106    41    Sergspectr    33    

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

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

5 стартмани

21.12.2020    3980    19    huxuxuya    11    

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

Консоль запросов v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

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

5 стартмани

14.08.2018    107424    2725    Evg-Lylyk    722    

Отладчик запроса 1С 8.3 (управляемые формы), бета-версия

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

По просьбам некоторых своих коллег и пользователей Инфостарта, выкладываю первую версию обработки "Отладчик запросов by Акулов А.С.", переделанной под управляемые формы. Реализованы почти все возможности из отладчика запросов, которые присутствовали в версии под обычные формы, а также добавлено немного нового.

1 стартмани

28.09.2020    9068    107    DrAku1a    28    

Конвертация данных 3 расширение: Редактор кода.

Инструментарий разработчика Адаптация типовых решений v8 КД Россия Абонемент ($m)

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

1 стартмани

08.09.2020    7486    24    Viktor_Ermakov    29    

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика v8 Абонемент ($m)

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020    9970    2    Enigma    47    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.10.2014    159259    2671    ekaruk    168    

Консоль кода для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Консоль кода для управляемых форма с подсказками и подсветкой синтаксиса.

1 стартмани

17.07.2020    17734    286    salexdv    273    

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

Консоль запросов v8 v8::Запросы 1cv8.cf Абонемент ($m)

Простая и удобная консоль запросов 1С для управляемых форм 8.3, работает на любой конфигурации без ее модификации. Возможность использования как внешней обработки или в составе расширения. С перехватом любых запросов и поддержкой всех типов данных во временных таблицах. Анализ плана запроса, запроса на уровне СУБД. Обработка результата кодом.

1 стартмани

24.02.2020    16695    346    kuza2000    134    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    13398    51    YPermitin    32    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    49972    168    ekaruk    32    

Инструменты оптимизации для 1С на MS SQL Server

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор базовых инструментов для поиска узких мест в работе 1С на MS SQL Server.

1 стартмани

15.12.2019    18470    224    berezdetsky    23    

CF & SQL : конструктор прямых запросов к БД 1С

Инструментарий разработчика Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    23501    227    dmitrydemenew    49    

Конвейер проверки качества кода

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

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    30020    27    Stepa86    46    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    80586    961    moolex    147    

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

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

30.06.2019    14262    0    vadim1980    5    

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика Jenkins v8 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    30517    9    ripreal1    91    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.05.2019    33099    140    Diversus    42    

Консоль запросов + ТЗ как параметры Промо

Консоль запросов v8 1cv8.cf Украина Абонемент ($m)

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

2 стартмани

12.11.2010    39036    442    Kashemir    24    

Групповая проверка доработок

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    17328    113    sapervodichka    23    

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    22261    61    Bazil    34    

Настройка отладки на сервере 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    32276    136    frkbvfnjh    42    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    57343    362    GusevNA    77    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    27322    18    dmitrydemenew    84    

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

Пользователю системы Инструментарий разработчика v8 v8::УФ Россия Абонемент ($m)

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    15372    44    ROM_NN    8    

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

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

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

5 стартмани

09.01.2019    50754    262    informa1555    234    

Разбираемся со структурой правил конвертации данных Промо

Инструментарий разработчика v8 КД Абонемент ($m)

При переносе данных между различающимися данными частенько приходится смотреть в правила. И часто, чтобы выяснить, к примеру, каким документом формируются остатки по конкретному ПВД, нужно заглядывать в него и искать, какое ПКО в нем вызывается. А может вызываться и алгоритм, в котором вызывается ПКО ;-) А если правил много? Чтобы не мучить себя утомительными поисками, предлагаю воспользоваться этой обработкой.

1 стартмани

14.10.2011    24330    162    Meta    17    

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6

Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом v8 Абонемент ($m)

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

2 стартмани

17.12.2018    23208    119    for_sale    38    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    19045    4    1c-intelligence    77    

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды

Инструментарий разработчика v8 Абонемент ($m)

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    13753    55    albert.goncharov    24    

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) Промо

Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8 v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Абонемент ($m)

Вы внедряете обмен данными между двумя типовыми или основанными на типовых БД и вам необходим инструмент, чтобы сопоставить между собой справочники этих конфигураций? Вы хотите навести порядок в обмене данными, потому что вам надоело вылавливать дублирующиеся объекты? Вам очень хочется перепоручить сопоставление объектов обменивающихся баз пользователям, но нет подходящего и понятного пользователям интерфейса? Тогда вам нужна именно эта обработка!

4 стартмани

11.11.2015    42789    108    catsam    8    

Консоль Внедренца v.3.6.2

Консоль запросов Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.

1 стартмани

27.08.2018    24760    399    evvakra    42    

HTTP Сервисы: Путь к своему сервису. Часть 3

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    44559    63    dsdred    17    

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

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

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

5 стартмани

09.08.2018    31363    28    informa1555    26    

Консоль HTTP-запросов с генерацией кода

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

25.05.2018    27733    299    leongl    19    

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

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

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

10 стартмани

15.03.2018    19991    28    33lab    5    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    32141    5    kraynev-navi    41    

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

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2017    36598    42    bonv    11    

Макет в СКД - пример всех возможных типовых вариантов

Практика программирования Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    24180    77    freelancer    4    

Заполнение шаблона Word на сервере, без использования MS Office (docx -> zip -> xml). Предусмотрен вывод табличных частей

Универсальные печатные формы Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон в Word, управляемые формы. Создание заполнение документа Word (docx -> zip -> xml) по шаблону на сервере без использования MS Office. Предусмотрен вывод табличных частей.

2 стартмани

04.10.2017    31217    230    artms    60    

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С

Инструментарий разработчика v8 ERP2 УТ11 Абонемент ($m)

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    33848    22    ivanov660    46    

"Исследователь" планировщика 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Сам по себе Планировщик 1С вещь интересная, но чтобы осознать ее с 0 до уверенного владения, может уйти уйма времени. Мой инструмент призван сократить это время до минимума. Все необходимые настройки планировщика вынесены на форму, и их изменение сразу же либо по кнопке "Инициализировать" отображается на планировщике.

1 стартмани

10.08.2017    34800    143    new_user    34    

Трансформатор 1С - SQL

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    38798    367    Synoecium    49    

OneStyle. Улучшенное форматирование кода в конфигураторе

Инструментарий разработчика v8 Абонемент ($m)

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

1 стартмани

19.06.2017    25618    24    Stepa86    46    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    27312    44    stas_ganiev    13