Статический анализатор кода проектов 1C

30.09.25

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

Инструмент для анализа кода проектов (EPF, ERF, CF, CFE) на чистом 1С.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Статический анализатор кода проектов 1С:
.rar 718,78Kb ver:1.6.0.0
37 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

 

Что это?

Это инструмент анализа, который выполняет схожие функции с уже известными анализаторами, например, BSL Language Server и т.д.

 

Зачем?!

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

 

Цель:

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

 

Статья:

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

 

Есть информация об инструменте?

Он проводит анализ внешней обработки, отчета, конфигурации и расширения конфигурации.

Скачанная конфигурация ставится на отдельной пустой базе данных. В проекте указывается путь к информационной базе, пользователь ИБ и пароль, путь к файлу *.cf, *.cfe, *.epf или *.erf и путь к выгрузке XML-файлов.

Многопоточный анализ доступен только в клиент-серверном варианте.

Плагины к каждому проекту цепляются отдельно.

Инструмент создан на основе radar и распространяется по лицензии MIT. 

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

В инструмент анализатор включены 3 парсера:

  • Парсер встроенного языка.
  • Парсер языка запросов. Парсер даёт несколько преимуществ по сравнению со "СхемойЗапроса", таких как отсутствие необходимости в наличии необходимых метаданных в конфигурации.
  • Парсер языка представления. Представление - это строка, которая формируется с использованием методов ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), СохранитьЗначение() или из содержимого некоторых текстовых файлов 1С, заключенных в фигурные скобки.

В парсерах доступен вывод:

  1. Токены - выполняет лексический анализ текста и возвращает таблицу токенов.
  2. Синтаксическое дерево - разбирает исходный текст с результатом в виде абстрактного синтаксического дерева. 
  3. JSON с синтаксическим деревом - разбирает исходный текст с результатом в виде JSON с абстрактным синтаксическим деревом.
  4. Плагины - регистрируют ошибки и/или замены и/или генерируют текст.
  5. Замены - заменяет участки текста в исходнике.
  6. Бэкенд - генерирует исходный текст по АСД или переводит исходный текст на другие языки.
  7. Тестер - демонстрирует прогон проверок исходного текста.

В разработке используется версия платформы 8.3.27.1508. Не рекомендуется использовать ниже указанной версии.

 

Как пользоваться инструментом?

  1. Подготовить заранее анализируемую внешнюю обработку, отчет, конфигурацию или расширение конфигурации, указав в диалоге файл *.epf, *.erf, *.cf или *.cfe.
  2. Выгрузить заранее анализируемую внешнюю обработку, отчет, конфигурацию или расширение конфигурации в файлы XML, указав в диалоге папку.
  3. Открыть конфигуратор на пустой базе.
  4. Загрузить скачанную конфигурацию из публикации и обновить конфигурацию базы данных.
  5. Запустить режим предприятия.
  6. На начальной странице нажать на команду "Проекты".
  7. Нажать на кнопку "Создать".
  8. В открывшейся форме проекта указать следующие поля:
    - Наименование проекта - название продукта.
    - Путь файла - путь к файлу из пункта 1.
    - Путь выгрузки - путь к папке из пункта 2.
    - Формат выгрузки - формат из пункта 2.
    - Строка соединения - путь к ИБ.
    - Пользователь ИБ.
    - Пароль.
  9. Нажать на кнопки "Записать" и "Выполнить анализ". К проекту можно цеплять только плагины из папки "Парсер встроенного языка - Плагины - Генераторы ошибок".
  10. После выполнения анализа формируется документ "Анализы проектов".
  11. В разделе "Анализатор кода проектов" - "Отчеты" - "Тренд" можно посмотреть сколько ошибок было выявлено в процессе анализа внешней обработки, отчета, конфигурации или расширения конфигурации.
  12. В разделе "Анализатор кода проектов" - "Сервис" - "Навигатор" можно посмотреть список выявленных ошибок в файлах 1С.
  13. В разделе "Анализатор кода проектов" - "Сервис" - "Парсер встроенного языка" можно пользоваться отдельным парсером встроенного языка. К парсеру можно цеплять плагины и бэкенды из папки "Парсер встроенного языка".
  14. В разделе "Анализатор кода проектов" - "Сервис" - "Парсер языка запросов" можно пользоваться отдельным парсером языка запросов. К парсеру можно цеплять плагины и бэкенды из папки "Парсер языка запросов".
  15. В разделе "Анализатор кода проектов" - "Сервис" - "Парсер языка представления" можно пользоваться отдельным парсером языка представления. К парсеру можно цеплять бэкенд из папки "Парсер языка представления".
  16. В разделе "Анализатор кода проектов" - "Сервис" - "Конструктор глобального окружения" можно пользоваться отдельным конструктором глобального окружения для генерации кода.

 

Как пользоваться отдельным парсером?

  1. В панели действий "Сервис" открыть любой парсер, например, "Парсер встроенного языка".
  2. Выбрать вывод из выпадающего списка, например, "Бэкенд".
  3. В закладке "Бэкенд" выбрать путь к файлу бэкенда, например, файл "ПереводИсходногоКодаНаЯзыкПерфо.epf" из директории "...\Парсер встроенного языка\Бэкенды\".
  4. Вставить необходимый код 1С в закладку "Исходник".
  5. Нажать кнопку "Выполнить".
  6. Дождаться завершения выполнения и скопировать код из закладки "Результат".

 

Что про скорость?

Скорость зависит от количества ядер процессоров сервера.

Отладка на сервере должна быть отключена, так как существенно увеличивает время анализа. Чтобы отключить отладку на сервере, нужно убрать в строке запуска службы агента сервера 1С параметр "-debug" и выполнить перезапуск службы.

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

Оперативной памяти в зависимости от варианта использования и анализируемой внешней обработки, отчета, конфигурации или расширения конфигурации требуется примерно от 0,2 до 2 гигабайт.

Замеры времени:

  1. Машина i7-10700k, SSD, включена отладка на сервере.
    Продукт Размер файла CF Размер XML-файлов Максимум потоков Размер партии Первый анализ Последующий анализ
    ERP_2.5.14.59 1,12 ГБ 7,15 ГБ 4 50 001:54:56:611 000:03:37:754
    ERP_2.5.14.59 1,12 ГБ 7,15 ГБ 8 50 001:20:08:493 000:03:39:641
    ERP_2.5.14.59 1,12 ГБ 7,15 ГБ 8 100 001:14:07:049 000:05:33:250
    ERP_2.5.14.59 1,12 ГБ 7,15 ГБ 16 50 001:19:46:362 000:04:19:019
  2. Машина: i5 8400, SSD samsung 970 evo, выключена отладка на сервере.
    Продукт Максимум потоков Первый анализ Последующий анализ
    УХ_3.0 6 10 минут меньше минуты

 

В чём плюсы и минусы реализации инструмента на 1С?

Плюсы:

  1. Есть родной язык в платформе "1С:Предприятие";
  2. Есть выгрузка/загрузка файлов EPF, ERF, CF, CFE в/из XML;
  3. Есть обращения к метаданным внешних файлов EPF, ERF, CF, CFE;
  4. Есть многопоточность;
  5. Есть вызов внешних обработок и отчетов.

Минусы:

  1. Низкая производительность интерпретатора.

 

Есть сравнение инструментов?

Инструмент

Написан на

На основе

Анализ текста

Анализ XML-файлов

Много-поточ-ность

Проверки

Анализ конфигураций     +   Виды ошибок
Анализ цикломатической сложности кода   + +   1
КопиПастаМер v.2 (универсальный)     +   1
Обработка «Поиск не существующих объектов метаданных в текстах модулей конфигурации»     +   1
Обработка поиска дублей кода. Исходного кода модулей 1С     +   1
Орфографическая проверка конфигурации 1.0.1     +   2
Подсистема "Инструменты разработчика"   + +   1
Проверка запросов на лишнюю выборку и разыменование полей составного типа   + +   2
Проверка программного кода посредством BSL LS   +     BSL-LS
Расширение "Быстрая проверка кода" для 1С:АПК   +     1C:АПК
Расширенный синтаксический контроль     +   1
Синтаксическая проверка запроса 1С из расширения конфигурации с позиционированием на проблемной строке   +     1
Статический анализатор кода проектов 1C (этот) Radar + + + См. список проверок
Статический анализ кода 1с     +   5
Git Code Review - инструмент для рецензирования кода   +     BSL-LS
OneDebugger - инструмент для отладки кода без использования режима конфигуратора   +     5

Radar

 

+

+

+

Issues

1С:АПК

 

 

+

 

570

1С:Предприятие С++   + +   Проверки
Статический анализатор кода для встроенного языка 1С С++   +     32
1SCodeAnalyze C#     +   5
Статический анализатор кода 1С на Си C   +     1
1С:EDT Java   + +

 

Проверки
Расширение 1С:Стандарты разработки V8 для 1C:EDT Java         Проверки
bsl-language-server Java     +

 

Диагностики
SonarQube 1C (BSL) Community Plugin Java bsl-language-server   + +

1C:АПК, 1C:EDT, BSL-LS
(ПравилаОписания правил)

phoenixbsl Java bsl-language-server +     BSL-LS
Поддержка языка 1С:Предприятие 8 (BSL) в VSC VSC   +     BSL-LS

Снегопат

Java

 

+

 

  BSL-LS
CodeInspector С#   +     Предупреждения, BSL-LS

TurboConf

.NET

 

+

 

 

CI, BSL-LS

ИР адаптер для Turboconf OneScript   +     1

SmartConfigurator

Autohotkey 

 

+

 

 

7

TestIB8x wsh (vbs, js)   + +   1

 

Какие есть проверки на 1С?

Источник Анализ текста Анализ XML-файлов
Регистрация ошибок Регистрация замен JSON-файл Регистрация ошибок
Парсер встроенного языка Проверка синтаксиса кода + +   +
Плагин "Асинхронный метод должен содержать Ждать" +     +
Плагин "Безумные многострочные литералы" +     +
Плагин "Бесполезный перебор коллекции" +     +
Плагин "Вложенный тернарный оператор" +     +
Плагин "Вставка коллекции в саму себя" +     +
Плагин "Выражение содержит много тернарных операторов" +     +
Плагин "Дублирование блоков кода" +     +
Плагин "Дублирование подвыражений кода" +     +
Плагин "Дублирование тел методов" +     +
Плагин "Дублируется условие" +     +
Плагин "Дублирование блоков в ветвлениях и обработках исключений кода" +     +
Плагин "Закомментированный код" +     +
Плагин "Замена неканоничных ключевых слов"   +    
Плагин "Замена устаревших шаблонов функцией платформы" + +   +
Плагин "Запрос в цикле" +     +
Плагин "Запуск внешних приложений" +     +
Плагин "Использование аннотаций и функции продолжить вызов" +     +
Плагин "Использование если иначе если с константным выражением" +     +
Плагин "Использование конструкторов структур" + +   +
Плагин "Использование НСтр" +     +
Плагин "Использование СтрШаблон" +     +
Плагин "Каноническое написание ключевых слов" +     +
Плагин "Когнитивная сложность" +     +
Плагин "Код вне области" +     +
Плагин "Комментарий должен начинаться с пробела" +     +
Плагин "Конструкция если иначе если должна содержать иначе" +     +
Плагин "Метод запрещен" +     +
Плагин "Метод содержит много возвратов" +     +
Плагин "Метод содержит много объявлений локальных переменных" +     +
Плагин "Метод содержит много ожиданий" +     +
Плагин "Много директив компиляции" +     +
Плагин "Много операторов в одной строке" +     +
Плагин "Недостижимый код" +     +
Плагин "Неиспользуемая переменная" +     +
Плагин "Нерекомендуемый атрибут аннотации" +     +
Плагин "Ограничение на длину строки" +     +
Плагин "Ограничение на количество параметров метода" +     +
Плагин "Опасное обращение по индексу" +     +
Плагин "Оператор перейти запрещен" +     +
Плагин "Ошибочный замыкающий комментарий" + +   +
Плагин "Переименование переменных" + + + +
Плагин "Повторяющиеся разделы модуля" +     +
Плагин "Подряд идущие пустые строки" +     +
Плагин "Порядок параметров метода" +     +
Плагин "Пропущенные точки с запятой" +     +
Плагин "Пропущен последний параметр" +     +
Плагин "Пропущено описание методов" +     +
Плагин "Пропущено описание переменных модуля" +     +
Плагин "Пустой блок кода" +     +
Плагин "Пустой оператор" +     +
Плагин "Расстановка пропущенных точек с запятой"   +    
Плагин "Свойство ЭтаФорма запрещено" +     +
Плагин "Функция должна содержать возврат" +     +
Плагин "Хранение сетевых адресов в коде" +     +
Плагин "Цикломатическая сложность" +     +
Плагин "Чрезмерный уровень вложенности конструкций" +     +
Парсер языка запросов Проверка синтаксиса запросов. + +    
Плагин "Запрос одной строкой" +      
Плагин "Использование выбор когда с константным выражением" +      
Плагин "Использование подобно" +      
Плагин "Многострочный литерал" +      
Плагин "Пропущено слово как перед псевдонимом поля" +      
Плагин "Сравнение с null" +      
Парсер языка представления Проверка синтаксиса строкового представления. + +    

 

Кроме проверок, что ещё имеется?

Источник JSON-файл 
Парсер встроенного языка Бэкенд "Генератор документации для парсера встроенного языка"  
Бэкенд "Генератор исходного кода по АСД" +
Бэкенд "Обфускатор исходного кода по АСД" +
Бэкенд "Оптимизатор исходного кода по АСД" +
Бэкенд "Перевод исходного кода в построчный исполнитель" +
Бэкенд "Перевод исходного кода на язык 1с исполнитель"  
Бэкенд "Перевод исходного кода на язык power shell"  
Бэкенд "Перевод исходного кода на язык python"  
Бэкенд "Перевод исходного кода на язык перфо"  
Бэкенд "Перевод исходного кода на язык перфолента"  
Бэкенд "Перевод исходного кода на язык cи плюс плюс"  
Бэкенд "Рефакторинг исходного кода по АСД" +
Плагин "Визажист"  
Плагин "Рекурсивный подсчет серверных вызовов в модулях форм"  
Плагин "Сбор строк"  
Парсер языка запросов Бэкенд "Генератор исходных запросов пакета по АСД" +
Бэкенд "Рефакторинг исходных запросов пакета по АСД" +
Парсер языка представления Бэкенд "Генератор исходного представления по АСД"  
Плагин "Описание представления"  
Плагин "Перевод исходного представления в исполняемый код"  

 

Что нового?

 
 История сборок:
 
 Сборка 1.6.0.0 от 30.09.2025
  • Добавлены кнопки для управления переносами строк, работы с комментариями и т.д. в парсерах.
  • В глобальное окружение добавлено объявление глобального поля. Теперь в бэкендах для кода переводит поля через точку с русским или английским синтаксисом. Для перевода добавлены поля из системных перечислений и наборов значений.
  • В инструмент добавлен парсер формы.
 
 Сборка 1.5.6.0 от 21.09.2025
  • Добавлены символы препроцессоров НаКлиентеНаСервереБезКонтекста и НаСервереБезКонтекста в список проверок.
  • Добавлена проверка синтаксиса кода на наличие ошибок "Обращение к процедуре как к функции".
  • Скорректировано выделение узлов выражений поля и индекса в парсерах.
  • Изменения в наборе внешних файлов:
    - Теперь плагин "НеиспользуемаяПеременная" так же проверяет неиспользуемые переменные модуля.
    - Добавлен плагин "СборСтрок" (Парсер встроенного языка).
    - Упразднен плагин "ОбращениеКПроцедуреКакКФункции".
  • Исправлена ошибка при разборе запросов:
    ВЫБРАТЬ (ЗНАЧЕНИЕ(Справочник.СтавкиНДС.ПустаяСсылка)).Ставка

     

 
 Сборка 1.5.5.0 от 08.09.2025
  • Упразднен флажок "Создавать глобальное окружение". Теперь он будет включен всегда в парсерах.
  • Изменения в наборе внешних файлов:
    - В бэкенд "ОбфускаторИсходногоКодаПоАСД" добавлен параметр "УдалитьКонструкции".
    - Теперь бэкенд "ОптимизаторИсходногоКодаПоАСД" в некоторых ситуациях может пропускать цикл "Для" (кроме "Для каждого").
    - Теперь в бэкендах есть возможность генерировать символы препроцессоров, аннотации и директивы с русским или английским синтаксисом.
 
 Сборка 1.5.4.0 от 28.08.2025
  • Добавлены директивы компиляции Клиент, ВебКлиент и т.д. в список проверок. Всего директив ~11.
    &ВебКлиент
    &ТонкийКлиент
    &МобильныйКлиент
    Процедура ТестКлиент() КонецПроцедуры

     

  • Добавлен символ препроцессора "НаКлиентеНаСервере" в список проверок.
    #Если НаКлиентеНаСервере Тогда
    #КонецЕсли

     

  • Изменения в наборе внешних файлов:
    - Теперь бэкенд "ПереводИсходногоКодаНаЯзык1СИсполнитель" генерирует арифметические операции, совмещенные с присваиванием.
    - Теперь плагин "ПереводИсходногоПредставленияВИсполняемыйКод" так же переводит представление дерева значений.
    - Упразднен плагин "НеизвестныйСимволПрепроцессора".
 
 Сборка 1.5.3.0 от 21.08.2025
  • Переименовано поле "Вариант синтаксиса" в "Синтаксис языка (для перевода)".
  • Изменения в наборе внешних файлов:
    - Теперь бэкенд "ПереводИсходногоКодаВПерфо" генерирует действия, которые вызывают члены объектов (обращение к свойствам и методам "через точку", обращение к элементу коллекции по индексу).
    - Теперь плагин "ПереводИсходногоПредставленияВИсполняемыйКод" так же переводит представление структуры и соответствия.
 
 Сборка 1.5.2.0 от 05.08.2025
  • Теперь состав общих реквизитов в списке проверок формируется из XML-файлов, а не из конструктора "Новый ОбъектМетаданныхКонфигурация". Это связано с тем, что при анализе внешних файлов CF/CFE в пустой базе или базе с другой конфигурацией метаданные могут отсутствовать в составе общих реквизитов.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ПереводИсходногоКодаНаЯзыкПерфо" (Парсер встроенного языка).
    - Теперь бэкенд "ОбфускаторИсходногоКодаПоАСД" заменяет так же конструкции циклов "Для" (кроме "Для каждого").
    - Теперь плагин "ПереводИсходногоПредставленияВИсполняемыйКод" переводит так же представление таблицы значений.

 
 Сборка 1.5.1.0 от 29.07.2025
  • Теперь инструмент анализатор будет автоматически находить файл JSON в соседней директории, не требуя указания пути параметров для бэкендов.
  • Изменения в наборе внешних файлов:
    - Теперь плагин "ПереводИсходногоПредставленияВИсполняемыйКод" переводит так же представление списка значений.
    - В бэкенд "ПереводИсходногоКодаВПострочныйИсполнитель" добавлен параметр "ДобавитьЗамерВремениВИсполняемыйКод".
    - Исправлена ошибка, при которой возврат без значения приводил к генерации некорректного кода в бэкенде "ПереводИсходногоКодаВПострочныйИсполнитель".
 
 Сборка 1.5.0.0 от 11.07.2025
  • Теперь инструмент анализатор сохраняется с расширением файла ".cf", а не с ".cfe".
  • Добавлено несколько проверок синтаксиса кода и запросов.
  • Изменения в наборе внешних файлов:
    - Добавлен плагин "ОписаниеПредставления" (Парсер языка представления).
    - Добавлен плагин "ПереводИсходногоПредставленияВИсполняемыйКод" (Парсер языка представления).

 
 Сборка 1.4.6.0 от 25.06.2025
  • В парсер добавлено окружение основных и вложенных запросов и их проверку.
  • Изменения в наборе внешних файлов:
    - В бэкенд "ПереводИсходногоКодаВПострочныйИсполнитель" добавлен параметр "СкрытьПодсказки".
    - Теперь бэкенд "ПереводИсходногоКодаВПострочныйИсполнитель" также генерирует конструктор, литералы и т.д. на английском варианте синтаксиса.
 
 Сборка 1.4.5.0 от 18.06.2025
  • В парсер добавлено окружение методов и их проверку.
  • Добавлены все недостающие конструкторы из подсказок в список проверок.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ПереводИсходногоКодаВПострочныйИсполнитель" (Парсер встроенного языка).
 
 Сборка 1.4.4.0 от 07.06.2025
  • Добавлены события окружения форм и модулей.
  • В парсер добавлено окружение циклов, попыток, меток, переходов и их проверку.
  • Добавлены некоторые конструкторы прикладных объектов (набор записей, запись и т.д.) в список проверок.
  • Изменения в наборе внешних файлов:
    - Убрана область видимости для меток в бэкенде "ОптимизаторИсходногоКодаПоАСД".
    - Упразднен плагин "ИспользованиеМетокИПереходовНаМетки".
    - Упразднен плагин "ОператорыПрерватьПродолжитьВнеЦикла".
    - Упразднен плагин "ОператорВызватьИсключениеБезАргументовВнеИсключенияПопытки".
 
 Сборка 1.4.3.0 от 23.05.2025
  • Добавлено окружение объекта метаданных "WebSocket-клиенты" в список проверок. Требуется платформа 8.3.27.1508 или выше.
  • Добавлено свойство объектов "СтандартныеТабличныеЧасти" планов счетов и планов видов расчета в список проверок.
  • В конструктор глобального окружения теперь добавлен флажок "Замер времени".
  • В настройках парсеров теперь добавлено поле "Вариант синтаксиса". Доступны варианты синтаксиса: русский и английский.
  • Изменения в наборе внешних файлов:
    - В бэкенд "ГенераторИсходногоКодаПоАСД" добавлен параметр "ПреобразоватьБулевыОперацииВВерхнийРегистр".
    - Исправлено оформление комментариев при генерации документации в бэкенде "ГенераторДокументацииДляПарсераВстроенногоЯзыка".
 
 Сборка 1.4.2.0 от 15.05.2025
  • Добавлены конструкторы типов глобального окружения "ОбщиеОбъекты", "ПрикладныеОбъекты", "УниверсальныеКоллекцииЗначений" и т.д. в список проверок.
  • Теперь есть возможность генерировать конструкторы типов в конструкторе глобального окружения.
  • Теперь конструкторы типов генерируются по умолчанию на русском варианте синтаксиса в бэкендах.
  • Исправлена ошибка при разборе кода:
    Справочник = Новый СправочникСсылка.Справочник1();

 

 
 Сборка 1.4.1.0 от 06.05.2025
  • Добавлены свойства общих реквизитов из состава общих реквизитов планов обмена, справочников, документов и т.д. в список проверок.
  • Теперь парсер запросов проверяет на наличие недопустимых знаков "Унарный плюс".
  • Изменения в наборе внешних файлов:
    - В бэкенд "ГенераторИсходногоКодаПоАСД" добавлены параметры "УбратьАтрибутАннотации", "УбратьУнарныйПлюс" и "ДобавитьЗамыкающиеКомментарииМетодов".
    - Исправлена ошибка свойства "СтрокиЯзыков" в бэкендах для запросов.
    - Исправлено некорректное срабатывание ошибки "Есть пропуски в нумерации маркеров" в плагине "ИспользованиеСтрШаблон".
  • Исправлено, что в свойства менеджера добавлялись все предопределенные элементы, кроме подчиненных.
 
 Сборка 1.4.0.0 от 21.04.2025
  • Добавлены свойства объектов "ПризнакиУчета" планов счетов и "Поля" внешних источников данных в список проверок.
  • Добавлено окружение объекта метаданных "Подсистемы" для подчиненных подсистем в список проверок.
  • В узел объявление глобального объекта/метода добавлено свойство "СтрокиЯзыков". Теперь глобальные объекты/методы генерируются по умолчанию на русском варианте синтаксиса в бэкендах.
  • Повсеместно заменен оператор вызова процедуры на оператор вызова.
  • Изменения в наборе внешних файлов:
    - В бэкенд "ГенераторИсходногоКодаПоАСД" добавлены параметры "УчитыватьОтступыДляПрепроцессоров" и "СохранитьФорматированиеЧисла". Теперь требуется указать файл JSON.
    - Теперь бэкенд "ПереводИсходногоКодаНаЯзык1СИсполнитель" генерирует метод "Скрипт", вызов сообщения "Консоль.Записать", аннотации окружения "@НаКлиенте @НаСервере" и область видимости "@Глобально".
    - Теперь бэкенд "ПереводИсходногоКодаНаЯзыкPowerShell" генерирует все переменные с постфиксом "$".
    - В бэкенд "ОбфускаторИсходногоКодаПоАСД" добавлены вложенные области видимости для циклов.
    - В бэкенд "ОптимизаторИсходногоКодаПоАСД" добавлены области видимости для меток.
  • Исправлено, что свойства общих модулей добавлялись в глобальные свойства без учета свойства "Глобальный".
 
 Сборка 1.3.6.0 от 18.03.2025
  • Добавлено окружение формы "КомпоновщикНастроекКомпоновкиДанных" в список проверок.
  • Добавлены объекты глобального окружения "ОбщиеОбъекты" в список проверок.
  • Изменения в наборе внешних файлов:
    - Переименован бэкенд "ПереводИсходногоКодаВЧистыйКод" в "ОптимизаторИсходногоКодаПоАСД". Требуется указать файл JSON.
    - Переименован плагин "НеОпределенаМеткаПереходНаМетку" в "ИспользованиеМетокИПереходовНаМетки".
    - Теперь бэкенд "ПереводИсходногоКодаНаЯзыкПерфолента" генерирует атрибут поля "ВидноВсем" и функцию "ПолучитьДелегат".
    - Теперь операторы внутри инструкций препроцессоров "Если" будут сгенерированы с синтаксическим отступом.
  • Исправлена ошибка при разборе кода:
    Процедура ТестА()
        #Если Не ВебКлиент Тогда
            Перем А;
        #КонецЕсли
    КонецПроцедуры

     

 
 Сборка 1.3.5.0 от 07.03.2025
  • Добавлены символы препроцессора "МобильныйКлиент" и "МобильныйАвтономныйСервер" в список проверок.
  • Добавлены объекты глобального окружения "СистемныеНаборыЗначений" в список проверок.
  • Добавлена возможность прикреплять несколько плагинов к парсерам языка запросов и языка представления за один раз.
  • Переименован парсер внутреннего представления в язык представления.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "РефакторингИсходныхЗапросовПакетаПоАСД" (Парсер языка запросов).
    - Переименован бэкенд "ГенераторИсходногоВнутреннегоПредставленияПоАСД" в "ГенераторИсходногоПредставленияПоАСД".
    - Перенос параметров из JSON файла "ГенераторИсходногоКодаПоАСД" в "РефакторингИсходногоКодаПоАСД".
    - Теперь бэкенд "ГенераторИсходныхЗапросовПакетаПоАСД" переносит логические выражения и нумерует запросы пакета. Требуется указать JSON файл.
  • Исправлены ошибки при синтаксическом разборе запросов (п-е МЕЖДУ).
  • Исправлен некорректный генератор кода глобального окружения.

 
 Сборка 1.3.4.0 от 26.02.2025
  • Теперь парсер проверяет запрос на наличие недопустимых параметров в соединениях.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "РефакторингИсходногоКодаПоАСД" (Парсер встроенного языка).
    - Добавлен плагин "ИспользованиеВыборКогдаСКонстантнымВыражением" (Парсер языка запросов).
    - Переименован плагин "НекорректноеИспользованиеПодобно" в "ИспользованиеПодобно".
    - Переименован плагин "МногострочныйЛитералВЗапросе" в "МногострочныйЛитерал".
    - Теперь бэкенд "ГенераторИсходногоКодаПоАСД" может объединить локальные переменные и многострочные литералы. Требуется указать файл JSON.
    - Теперь бэкенд "ОбфускаторИсходногоКодаПоАСД" может заменить конструкции. Требуется указать файл JSON.
  • Исправлены ошибки при синтаксическом разборе запросов (п-е ДЛЯ ИЗМЕНЕНИЯ, ф-я КОЛИЧЕСТВО).

 
 Сборка 1.3.3.0 от 17.02.2025
  • Добавлены все необходимые подписки для поддержки плагинов в парсер языка запросов.
  • Добавлено окружение форм, охватывающее более 10 новых форм, в список проверок.
  • Теперь парсер разбирает групповой оператор вхождения.
  • Изменения в наборе внешних файлов:
    - Добавлен плагин "ЗапросОднойСтрокой" (Парсер языка запросов).
    - Добавлен плагин "НекорректноеИспользованиеПодобно" (Парсер языка запросов).
    - Добавлен плагин "ПропущеноСловоКакПередПсевдонимомПоля" (Парсер языка запросов).
    - Добавлен плагин "СравнениеСNull" (Парсер языка запросов).
 
 Сборка 1.3.2.0 от 08.02.2025
  • Теперь парсер анализирует запрос на предмет повторных секций и предложений.
  • Теперь при синтаксическом разборе запросов временно игнорируются токены "Построитель".
  • Добавлены модули и их окружение в список проверок:
    - Константа (модуль менеджера константы).
    - РегистрРасчета - Перерасчет (модуль набора записей перерасчета).
    - ВнешнийИсточникДанных (все модули кубов, таблиц и таблиц измерений).
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ПереводИсходногоКодаНаЯзыкПерфолента" (Парсер встроенного языка).
    - Добавлен плагин "ОбращениеКПроцедуреКакКФункции" (Парсер встроенного языка).
    - Переименован плагин "МногоАннотацийДирективКомпиляции" в "МногоДирективКомпиляции".
    - Переименован плагин "НекорректноеИспользованиеФункцииПродолжитьВызов" на "ИспользованиеАннотацийИФункцииПродолжитьВызов".
  • Произведен небольшой откат изменений, связанных с некорректным окружением модулей, до версии 1.2.3.0.

 
Сборка 1.3.1.0 от 24.01.2025
  • Теперь парсер проверяет ситуации, в которых нельзя использовать оба предложения "Поместить" и "Добавить" в одном запросе.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ОбфускаторИсходногоКодаПоАСД" (Парсер встроенного языка).
    - Теперь любое вычисляемое выражение преобразуется в литералы в бэкенде "ПереводИсходногоКодаВЧистыйКод".
  • Исправлен некорректный анализ и форматирование ключевого слова "Уникально" в запросах с предложением "Индексировать по".

 
 Сборка 1.3.0.0 от 13.01.2025
  • Пополнен список встроенных функций языка запросов в конструкторе глобального окружения.
  • Скорректировано выделение токенов "Комментарий" в парсере языка запросов.
  • Скорректировано выделение токенов "Литерал" в парсере внутреннего представления.
  • Теперь вывод "Автотест" перенесен в "Тестер".
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторИсходныхЗапросовПакетаПоАСД" (Парсер языка запросов).
    - Добавлен плагин "АсинхронныйМетодДолженСодержатьЖдать" (Парсер встроенного языка).
    - Упразднен плагин "ПустойЗапрос" (Парсер языка запросов).
  • Исправлено дублирование токенов при восстановлении хранилища токенов.

 
 Сборка 1.2.6.0 от 11.06.2024
  • Изменения в наборе внешних файлов:
    - Добавлен плагин "ИспользованиеСтрШаблон" (Парсер встроенного языка).
    - Добавлен плагин "МногострочныйЛитералВЗапросе" (Парсер языка запросов).
    - Добавлен плагин "ПустойЗапрос" (Парсер языка запросов).
    - Теперь обнаруживает сразу несколько подряд комментариев, начинающихся без пробела, в плагине "КомментарийДолженНачинатьсяСПробела".
    - Теперь обнаруживает сразу несколько подряд строк, в которых количество символов превышает 120, в плагине "ОграничениеНаДлинуСтроки".
    - Скорректировано выделение пустых строк в начале и конце текста в плагине "ПодрядИдущиеПустыеСтроки".
  • Исправлена ошибка при разборе кода:
    &    Вместо("ТестА")
    &    НаКлиенте
    Процедура Тест() КонецПроцедуры

     

  • Исправлена ошибка при разборе запросов:
    Выбрать 1;;;Выбрать 4

     

 
 Сборка 1.2.5.0 от 31.05.2024
  •  Теперь при определении токенов и узлов учитываются позиции знаков:
    - точки с запятой (операторы, переменные, запросы);
    - прямые слэши (комментарии);
    - амперсанды (методы, переменные).
  • Изменения в наборе внешних файлов:
    - Добавлен плагин "ОграничениеНаДлинуСтроки" (Парсер встроенного языка).
    - Добавлен плагин "ПропущеноОписаниеМетодов" (Парсер встроенного языка).
    - Добавлен плагин "ПропущеноОписаниеПеременныхМодуля" (Парсер встроенного языка).
    - Добавлена проверка наличия обязательных языков в плагин "ИспользованиеНСтр".
    - Теперь удаляет лишние выражения при преобразовании условных и тернарных операторов в чистый код в бэкенде ПереводИсходногоКодаВЧистыйКод.
 
 Сборка 1.2.4.0 от 07.05.2024
  • Добавлены выводы "Плагины", "Замены", "Бэкенд" и "Автотест" в парсер языка запросов.
  • Добавлены все функции языка запросов в конструктор глобального окружения.
 
 Сборка 1.2.3.0 от 15.04.2024
  • Добавлены выводы "АСД (дерево)" и "АСД (JSON)" в парсер языка запросов.
  • Добавлены подписки для поддержки аннотаций и директив компиляции в парсер встроенного языка.
  • Немного изменён парсер внутреннего представления.
  • Изменения в наборе внешних файлов:
    - Немного изменены файлы "ЗаменаНеканоничныхКлючевыхСлов" и "КаноническоеНаписаниеКлючевыхСлов".
 
 Сборка 1.2.2.0 от 27.03.2024
  • Добавлены выводы "Плагины", "Замены", "Бэкенд" и "Автотест" в парсер внутреннего представления.
  • Добавлены подписки в парсер внутреннего представления.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторИсходногоВнутреннегоПредставленияПоАСД" (Парсер внутреннего представления).
    - Добавлен плагин "ЧрезмерныйУровеньВложенностиКонструкций" (Парсер встроенного языка).
    - Добавлена проверка каноничности символов препроцессора в файл "КаноническоеНаписаниеКлючевыхСлов".
    - Добавлена замена неканоничных символов препроцессора в файл "ЗаменаНеканоничныхКлючевыхСлов".
    - Немного изменён файл "МногоОператоровВОднойСтроке".
    - Переименован файл "ГенераторДокументацииДляПарсера" в "ГенераторДокументацииДляПарсераВстроенногоЯзыка".
 
 Сборка 1.2.1.0 от 19.03.2024
  • Добавлены выводы "АСД (дерево)" и "АСД (JSON)" в парсер внутреннего представления.
  • Добавлены подписки для поддержки Ждать в парсер встроенного языка.
  • Изменения в наборе внешних файлов:
    - Добавлен плагин "МетодСодержитМногоОжиданий".
    - Добавлен плагин "НеизвестныйСимволПрепроцессора".
    - Переименован плагин "ДублированиеБлоковВВеткахВетвленияКода" в "ДублированиеБлоковВВетвленияхИОбработкахИсключенийКода".
 
 Сборка 1.1.6.0 от 10.03.2024
  • Добавлен вывод "Тестер" в парсер внутреннего представления.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ПереводИсходногоКодаНаЯзыкPython".
    - Добавлен плагин "ОпасноеОбращениеПоИндексу".
    - Добавлен плагин "НекорректноеИспользованиеФункцииПродолжитьВызов".
    - Добавлена проверка дублирования блоков в ветке условного оператора в плагин "ДублированиеБлоковВВеткахВетвленияКода".
    - Добавлена поддержка "Ждать" в бэкендах "ГенераторИсходногоКодаПоАСД", "ПереводИсходногоКодаВЧистыйКод", "ПереводИсходногоКодаНаЯзык1СИсполнитель", "ПереводИсходногоКодаНаЯзыкCиПлюсПлюс" и "ПереводИсходногоКодаНаЯзыкPowerShell".

 
 Сборка 1.1.5.0 от 28.02.2024
  • Добавлен вывод "Тестер" в парсер языка запросов.
  • Теперь парсер регистрирует ошибки, связанные с использованием объявления аннотации в переменных модуля.
  • Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ПереводИсходногоКодаВЧистыйКод".
    - Добавлен плагин "ДублированиеТелМетодов".
    - Добавлен плагин "ХранениеСетевыхАдресовВКоде".
    - Переименован бэкенд "ГенераторКода1СПредприятиеПоАСД" в "ГенераторИсходногоКодаПоАСД".
    - Переименован бэкенд "ГенераторКода1СИсполнительПоАСД" в "ПереводИсходногоКодаНаЯзык1СИсполнитель".
    - Переименован бэкенд "ГенераторКодаPowerShellПоАСД" в "ПереводИсходногоКодаНаЯзыкPowerShell".
    - Переименован бэкенд "ГенераторКодаCиПлюсПлюсПоАСД" в "ПереводИсходногоКодаНаЯзыкCиПлюсПлюс".
    - Переименован плагин "ДублируютсяВыраженияТернарногоОператора" в "ДублированиеБлоковВВеткахВетвленияКода".
    - Доработано выделение позиций от трёх и более многострочных литералов в плагине "БезумныеМногострочныеЛитералы".
    - Добавлен экспортный метод в бэкенд "ПереводИсходногоКодаНаЯзык1СИсполнитель".
    - Добавлено объявление любого типа возвращаемого значения в бэкенд "ПереводИсходногоКодаНаЯзык1СИсполнитель".
    - Доработано объявление типов параметров в бэкенде "ПереводИсходногоКодаНаЯзык1СИсполнитель".
    - Преобразовано выражение "Новый" в нижний регистр в бэкенде "ПереводИсходногоКодаНаЯзык1СИсполнитель".
    - Добавлена проверка дублирования блоков в ветке оператора исключения в плагин "ДублированиеБлоковВВеткахВетвленияКода".

 
 Сборка 1.1.4.0 от 20.02.2024
  1. Добавлен вывод "Тестер" в парсер встроенного языка.
  2. Теперь парсер регистрирует ошибки, связанные с использованием оператора "Возврат" в модуле без методов.
  3. Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторКодаCиПлюсПлюсПоАСД".
    - Добавлен плагин "ДублированиеПодвыраженийКода".
    - Добавлен плагин "ЗапускВнешнихПриложений".
  4. Исправлена ошибка при разборе кода:
    Перем Тест;
    Возврат Тест;

 
 Сборка 1.1.3.0 от 13.02.2024
  1. Добавлен парсер внутреннего представления в анализатор. Теперь доступен вывод "Токены".
  2. Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторКодаShellPowerПоАСД".
    - Добавлен плагин "НедостижимыйКод".
    - Добавлен плагин "НеОпределенаМеткаПереходНаМетку".

 
 Сборка 1.1.2.0 от 01.02.2024
  1. Добавлена возможность генерировать код с помощью конструктора глобального окружения. Работает как в файловом, так и в серверном режиме.
  2. Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторКода1CИсполнительПоАСД".
    - Добавлен плагин "ЗаменаУстаревшихШаблоновФункциейПлатформы".
    - Добавлен плагин "ПовторяющиесяРазделыМодуля".
    - Переименован бэкенд "ГенераторКодаПоАСД" в "ГенераторКода1CПредприятиеПоАСД".

 
 Сборка 1.1.1.0 от 11.01.2024
  1. Добавлен вывод "Автотест" в парсер встроенного языка.
  2. Теперь при определении токена "Начало текста" учитывается первая позиция в первой строке исходника.
  3. Изменения в наборе внешних файлов:
    - Добавлен бэкенд "ГенераторКодаПоАСД".
    - Добавлен плагин "ДублируютсяВыраженияТернарногоОператора".
    - Переименован плагин "ОператорВызватьИсключениеВнеИсключенияПопытки" в "ОператорВызватьИсключениеБезАргументовВнеИсключенияПопытки".
  4. Исправлена ошибка при разборе кода:
    ВызватьИсключение("Ошибка на клиенте с категорией", КатегорияОшибки.ОшибкаКонфигурации, "error.client.config", "error.client.config additional info");

 
 Сборка 1.0.7.0 от 25.12.2023
  1. Добавлена возможность указать путь параметров плагинов (JSON) в проекте.
  2. Изменения в наборе внешних файлов:
    - Добавлен плагин "МетодСодержитМногоВозвратов".
    - Добавлен плагин "МногоАннотацийДирективКомпиляции".
    - Добавлен плагин "ОператорВызватьИсключениеВнеИсключенияПопытки".
    - Добавлен плагин "ОператорыПрерватьПродолжитьВнеЦикла".
    - Переименован плагин "ДублируетсяОператорПрисваивания" в "ДублированиеБлоковКода".
 
 Сборка 1.0.6.0 от 15.12.2023
  1. Добавлена поддержка атрибута аннотации в парсер встроенного языка.
  2. Теперь парсер регистрирует ошибки, связанные с использованием оператора "Ждать" в контексте, отличном от асинхронных методов.
  3. Добавлен файл в набор внешних файлов:
    - Добавлен плагин "НерекомендуемыйАтрибутАннотации".
  4. Исправлена ошибка при разборе кода:
    СписокФайлов = Ждать НайтиФайлыАсинх(Ждать КаталогВременныхФайловАсинх(), МаскаВсеФайлы(), Ложь);

 

 
 Сборка 1.0.5.0 от 08.12.2023
  1. Добавлена возможность указать путь параметров бэкенда (JSON) в парсере встроенного языка.
  2. Изменения в наборе внешних файлов:
    - Добавлен плагин "МногоОператоровВОднойСтроке".
    - Добавлен плагин "ЦикломатическаяСложность".
    - Переименован плагин "ДублируетсяТочкаСЗапятой" в "ПустойОператор".
    - Переименован плагин "ВыражениеСодержитНесколькоТернарныхОператоров" в "ВыражениеСодержитМногоТернарныхОператоров".
    - Переименован плагин "ОбъявлениеМетодаСодержитНесколькоСписковЛокальныхПеременных" в "МетодСодержитМногоОбъявленийЛокальныхПеременных".
 
 Сборка 1.0.4.0 от 01.12.2023
  1. Добавлен вывод "АСД(JSON)" в парсер встроенного языка.
  2. Изменения в наборе внешних файлов:
    - Добавлен плагин "ОграничениеНаКоличествоПараметровМетода".
    - Добавлен плагин "ПорядокПараметровМетода".
 
 Сборка 1.0.3.0 от 23.11.2023
  1. Добавлена возможность анализировать внешнее расширение конфигурации *.cfe в проекте.
  2. Изменения в наборе внешних файлов:
    - Добавлен плагин "БезумныеМногострочныеЛитералы".
    - Добавлен плагин "ИспользованиеЕслиИначеЕслиСКонстантнымВыражением".
 
 Сборка 1.0.2.0 от 16.11.2023
  1. Добавлена возможность анализировать внешнюю обработку *.epf и внешний отчет *.erf в проекте.
  2. Добавлена возможность прикреплять несколько плагинов к парсеру встроенного языка за один раз.
  3. Добавлен файл в набор внешних файлов:
    - Добавлен плагин "КонструкцияЕслиИначеЕслиДолжнаСодержатьИначе".
 
 Сборка 1.0.1.0 от 03.11.2023
  1. Добавлена поддержка Асинх / Ждать в парсер встроенного языка.
  2. Добавлена возможность анализировать внешнюю конфигурацию *.cf в проекте.
  3. Добавлена возможность выгрузить конфигурацию из базы в файл(ы) через командную строку.
  4. Добавлена возможность проверять все модули, а не только измененные для последующего анализа.
  5. Добавлена возможность прикреплять несколько плагинов к проекту за один раз.
  6. Добавлен парсер языка запросов платформы 1С:Предприятие 8 в анализатор. Теперь доступен вывод "Токены".
  7. Изменения в наборе внешних файлов:
    - Добавлен плагин "ДублируетсяОператорПрисваивания".
    - Добавлен плагин "ДублируетсяТочкаСЗапятой".
    - Добавлен плагин "ЗакомментированныйКод".
    - Добавлен плагин "КодВнеОбласти".
    - Добавлен плагин "КомментарийДолженНачинатьсяСПробела".
    - Добавлен плагин "ПодрядИдущиеПустыеСтроки".
    - Добавлен плагин "ПустойБлокКода".
    - Добавлен плагин "ОбъявлениеМетодаСодержитНесколькоСписковЛокальныхПеременных".
  8. Упразднены некоторые функции.
  9. Исправлена ошибка чтения XML-файлов.
 
 Сборка 1.0.0.0 от 01.01.2023
  1. Добавлен анализатор и набор внешних файлов в инструмент.

 

 

Учтены замечания:

  • 03.11.23 Поправлено количество проверок в turboconf.
  • 06.11.23 Добавлен список проверок.
  • 23.11.23 Повсеместно переименовано слово "бакенд" в "бэкенд".
  • 15.01.24 Добавлена проверка ИР и ИР адаптер для turboconf.

 

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.21.118

Вступайте в нашу телеграмм-группу Инфостарт

анализатор парсер токен АСД плагин замена бэкенд тестер

См. также

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    215772    1190    413    

1052

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    27236    69    30    

99

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

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

9500 руб.

17.05.2024    38571    140    57    

178

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

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

16000 руб.

10.11.2023    19285    76    39    

92

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    5508    9    10    

18

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

5000 руб.

27.12.2024    3913    7    0    

12

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

6000 руб.

07.02.2018    108596    249    100    

313
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1916 03.11.23 10:19 Сейчас в теме
смотрится так, как будто основательно подошли к вопросу - 1.
включите в анализатор переход в процедуры общих модулей - по фразе ОбщийМодуль1.ВыполнитьПроцедуру1() - чтобы открывалась страница модуля на этой процедуре - 2.
включите в анализатор использование внешних обработок - их часто используют, а в конфе прописывают вызов внешних обработок - 3.
попробуйте разобрать анализатором модули КонтурДиадок, в которых модули спрятаны в макеты и хранятся в двоичном виде - 4.
9. ZhokhovM 776 03.11.23 14:28 Сейчас в теме
(1)
включите в анализатор использование внешних обработок - их часто используют, а в конфе прописывают вызов внешних обработок - 3.

Плагины и бакенды и есть внешние обработки, они цепляются к парсеру и проекту, в конфе прописаны вызов внешних обработок.
2. bprogs 2 03.11.23 11:13 Сейчас в теме
сделайте если можно в видеоформате обновление пожалуйста, по картинкам не всегда ясно))))
10. ZhokhovM 776 03.11.23 14:30 Сейчас в теме
(2)а картинки - это скриншоты самого инструмента, а не обновление)
3. fishca 1261 03.11.23 11:21 Сейчас в теме
Хотелось бы побольше иллюстраций работы с данным инструментом.
График ошибок все таки должен идти вниз, или я не прав?

>К парсеру можно цеплять плагины, бакенды и т.д.
может все таки бэкенды?
12. ZhokhovM 776 03.11.23 14:39 Сейчас в теме
(3)как график идет вверх, так и продолжает расти. если были исправлены ошибки, то вниз.

как был бакенд в оригинале, так и остался бакендом.
13. fishca 1261 03.11.23 14:41 Сейчас в теме
(12)
(12) >как был бакенд в оригинале, так и остался бакендом.
ты про какой оригинал ведёшь речь?
16. ZhokhovM 776 03.11.23 14:59 Сейчас в теме
(13)ну оригинальный репозиторий radar. использовал его как основу. бакенд был описан во всей документации парсера и файлах.
4. tormozit 7308 03.11.23 12:05 Сейчас в теме
выключена отладка на сервере

Можно и не выключать, если немного неудобств добавить в код https://infostart.ru/1c/articles/1732527/
18. so-quest 140 04.11.23 09:11 Сейчас в теме
(4) Ну не надо такого советовать. У @ZhokhovM на руках парсер и где-то была обработка по форматированию кода. Соберет весь код в одну строку и будет все выполняться за наносекунду
33. ZhokhovM 776 11.01.24 22:32 Сейчас в теме
(18)В версию 1.1.1.0 включил внешнюю обработку по форматированию кода.
5. Serg O. 314 03.11.23 12:13 Сейчас в теме
Интересная статья, Большой + автору за развитие такой важной и нужной темы.

таблица разных анализаторов ...
очень интересно, многих не знал, посмотрю позже.

Вопрос по таблице - Что означает столбец "Анализ Кода" и "Анализ конфигурации" ?

Для данного анализатора указано и то и другое...
Но в "как пользоваться" п.1 и п.2 сразу указана выгрузка в файл(ы)...

а где же тогда "Анализ кода" ?
Я так понял ,что это должно делаться "on-line" без всяких выгрузок конфигурации в файлы.
(или копи-пастом в какую-то обработку хотя бы)

Вот для PhoenixBSL - это и есть on-line "Анализ кода" - не выходя из конфигуратора
в "одно" нажатие Ctrl+Shift+i
про другие анализаторы тоже не уверен, что правильно этот столбец заполнен.
или поясните (переименуйте столбец), что Вы имели ввиду под "Анализ кода".

по времени... 2ч. на первый анализ... не очень понятно это много или мало...
нужно сравнить хотя бы со стандартным 1С-ым АПК (последних версий)

3-5 мин. на второй запуск... что это означает ?
конфигурацию в файл CF и в XML снова выгружать надо и снова анализируются... только изменения?
может у меня только 1 строка добавилась ... пустая, тогда это долго, новая подсистема... Ок, быстро

что делается при втором запуске ? поясните поподробнее в статье или в комментариях
7. ZhokhovM 776 03.11.23 13:21 Сейчас в теме
(5)
Что означает столбец "Анализ Кода" и "Анализ конфигурации" ?

Анализ кода - анализирует исходный код.
Анализ конфигурации - анализирует конфигурацию (файл конфигурации cf + служебные файлы / файлы модулей xml).

(5)
а где же тогда "Анализ кода" ?

Копи-пастом в обработку "Сервис" - "Парсер встроенного языка".

(5)
3-5 мин. на второй запуск... что это означает ?

При первичном анализе кэшируются файлы модулей, при последующем анализе проверяются кэши модулей. Если это новый кэш, то была повторно выгружена конфигурация в файлы в XML, если старый - пропускает модули.
6. dhurricane 03.11.23 12:54 Сейчас в теме
Честно говоря, не понял, как составлялась таблица сравнения возможностей. Во-первых, Турбоконф, под капотом запускает bsl ls, у него не может быть меньше проверок, чем у самого ls. Аналогично обстоят дела, как я понимаю, и с плагином для sonar. Во-вторых, почему вдруг у 1С:АПК нет анализа кода? Все там есть. И проверки там свои можно писать, при том на языке 1С. Т.е. "использование будет проще и более понятным для программистов" (с).

Можете таки сформулировать более ясно, зачем появился этот продукт? Раскройте, пожалуйста, более подробно, как именно достигаются озвученные в статье цели.
11. nixel 1463 03.11.23 14:37 Сейчас в теме
(6)
Во-первых, Турбоконф, под капотом запускает bsl ls, у него не может быть меньше проверок, чем у самого ls.


Насколько я знаю, турбоконф работает с bsl ls в режиме анализа временного файла, а не файла в контексте конфигураций, поэтому не все проверки бсл лс там будут работать. Но не 11, конечно же.
dhurricane; +1 Ответить
14. ZhokhovM 776 03.11.23 14:47 Сейчас в теме
(11)Количество проверок в turboconf посчитал 11, но возможно больше.
15. nixel 1463 03.11.23 14:52 Сейчас в теме
(14) это проверки самого turboconf. а BSL LS подключается отдельной галкой. раздел "Пользовательские проверки в CodeInspector и поддержка Bsl-Language-Server"
24. ZhokhovM 776 07.11.23 10:37 Сейчас в теме
(6)
Можете таки сформулировать более ясно, зачем появился этот продукт?

Это результат творчества.
Perfolenta; e.kogan; +2 Ответить
8. acces969 376 03.11.23 13:21 Сейчас в теме
А где список проверяемых ошибок?
17. ZhokhovM 776 03.11.23 15:12 Сейчас в теме
(8)в конфе и во внешних обработках.
19. VVi3ard 53 05.11.23 19:55 Сейчас в теме
Есть репа на гитхабе?
Разбирает только код или ещё и запросы?
Работает прям в контексте всей конфигурации или как многие видит только один модуль?
21. ZhokhovM 776 07.11.23 09:27 Сейчас в теме
(19)
Есть репа на гитхабе?

Репы нет.

(19)
Разбирает только код или ещё и запросы?

У запросов только токены.

(19)
Работает прям в контексте всей конфигурации или как многие видит только один модуль?

Ну сколько файлов xml выгружено, столько проверок будет.
23. SerVer1C 989 07.11.23 09:59 Сейчас в теме
(21)
Ну сколько файлов xml выгружено, столько проверок будет.

Скорее всего вопрос был про межмодульный анализ. Т.е. будет ли работать проверка, например, выхода за границу в глобальном массиве при использовании его в обычном общем модуле.
25. ZhokhovM 776 07.11.23 10:42 Сейчас в теме
(23)Надо смотреть radar. Задумывалось что будет, но на чем остановился не помнит уже.
26. SerVer1C 989 07.11.23 11:02 Сейчас в теме
(25) Так вы взяли radar с ГитХаб и просто выложили его здесь?
20. SerVer1C 989 06.11.23 21:34 Сейчас в теме
Тема интересная, хоть и на 1С - надеюсь, у Сонара хлеб не отберёт )
Хотелось бы в статье больше видеть инфы о самом инструменте и список его проверок.
Я не большой спец в статических анализаторах, но подобные проверки [ДублируетсяТочкаСЗапятой, ЗакомментированныйКод, КодВнеОбласти, КомментарийДолженНачинатьсяСПробела, ПодрядИдущиеПустыеСтроки, ПустойБлокКода] очень слабо относятся к статическому анализу. Посмотрите, например, что может PVS‑Studio (не реклама!).
30. ZhokhovM 776 07.11.23 13:51 Сейчас в теме
(20)
Хотелось бы в статье больше видеть инфы о самом инструменте и список его проверок.

Достаточно посмотреть исходники внешних обработок на вызовы типа:
Ошибка("Дублируется оператор присваивания", ...);
22. Painted 49 07.11.23 09:49 Сейчас в теме
поставил 50-ый лайк для красоты, число 49 неэстетичное, глаз натирает ))
27. ZhokhovM 776 07.11.23 11:24 Сейчас в теме
(26) Инструмент создан на основе radar с исправлениями и новыми наборами плагинов.
28. SerVer1C 989 07.11.23 11:27 Сейчас в теме
(27) Эх. Зря поставил "+". Получается, это плагиат.
Вы даже не можете прокомментировать функционал данного решения.
JohnyDeath; +1 Ответить
29. ZhokhovM 776 07.11.23 11:37 Сейчас в теме
(28)А я чего тогда пишу в таблице "Создан на основе"?
31. ZhokhovM 776 07.11.23 15:03 Сейчас в теме
(28)С плагиатом не согласен, разрешения у автора спрашивал, автор не против.
32. SerVer1C 989 07.11.23 15:08 Сейчас в теме
(31) Я вас не обвиняю. Как я понял, в отличие от оригинала там присутствует, максимум, причёска кода. Т.е. это не ваше авторское решение.
34. tormozit 7308 12.01.24 16:45 Сейчас в теме
В ИР и ИР адаптере для Турбоконфа кстати тоже появилась проверка модуля, но она ищет только потенциальные явные ошибки выполнения кода. Выполняет поиск неизвестных слов (свойств/методов) после точки на полную глубину в инструкциях встроенного языка и вложенных текстов запросов. https://fastcode.im/Templates/8889
ZhokhovM; +1 Ответить
35. user1786944 06.08.25 13:09 Сейчас в теме
Просьба сделать инструкцию хотя бы в видео-формате, от добавления проекта до анализа результатов, демонстрацию всех возможностей. Создал проект, прописал пути, запустил, подождал 2 часа, и не вижу результатов. Не понятно как пользоваться внешними обработками. Очень хочется взять на вооружение, но нет времени и желания копаться в коде и выяснять как же это все работает.
36. ZhokhovM 776 06.08.25 14:46 Сейчас в теме
(35)
>не вижу результатов
После завершения проверки на начальной странице должен отобразиться документ "Анализ проекта". Все выявленные ошибки можно найти в панели действий "Сервис-Навигатор".
>Не понятно как пользоваться внешними обработками.
Если речь идет о плагинах для проектов, то загрузить плагин(ы) в проект из директории \Парсер встроенного языка\Плагины\.
Если о плагинах для парсеров, то открыть любой парсер, выбрать вывод "Плагины", загрузить плагин(ы) в парсер, вставить исходный код и нажать "Выполнить". Результат отобразится справа.
37. user1786944 06.08.25 15:35 Сейчас в теме
(36) Т.е. мне надо каждый модуль из тысячи вставить в парсер и нажать кнопку Выполнить? В каждом из трёх типов парсеров? А кнопка "Выполнить" в парсерах никакого отношения к кнопке "Выполнить анализ" не имеет? Не ясен полный процесс всего аудита. Как в АПК например, настраиваем новую итерацию проверки - нажимаем Проверить - смотрим и анализируем отчет. Здесь не так?
38. ZhokhovM 776 06.08.25 16:35 Сейчас в теме
(37) в инструкции написано:
9 ... К проекту можно цеплять только плагины из папки "Парсер встроенного языка - Плагины - Генераторы ошибок".
Плагины - это доп. проверки, цеплять их к проекту или нет - по желанию.
Основную проверку кода на синтаксис берёт на себя парсер встроенного языка.
При выполнении анализа подключается к этому парсеру, а плагины - из проекта.

Выполнить анализ - это проверка внешнего файла CF, CFE, EPF, ERF.
Выполнить - это проверка отдельного (одиночного) исходника.

Анализатор - простой и понятный инструмент.
АПК - сложный и навороченный инструмент.
Для отправки сообщения требуется регистрация/авторизация