Парсировщик кода 1С (разбор, форматтер, компилятор)

Публикация № 1781874 14.01.23

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

разбор парсер парсировщик парсинг форматирование форматтер компиляция компилятор генерация генератор перевод транслятор код токен

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

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

Инструмент "Парсировщик кода 1С" включает в себя:

  1. Разбор.
    Парсировщик разбирает исходный код 1С на составляющие.
    Преимущество:
    - Есть просмотр разобранного кода(узлы, токены);
    - Есть просмотр и поиск ошибок.
  2. Форматтер.
    Парсировщик форматирует исходный код 1С.
    Преимущество:
    - Есть форматтер кода (однострочный - многострочный);
    - Есть перевод текста (русский - английский).
  3. Компилятор.
    Парсировщик компилирует исходный код 1С в байт-код 1С.
    Преимущество:
    - Нет необходимости устанавливать пароль на модуль в 1С;
    - Нет необходимости исключать исходные тексты модулей из поставки модулей в 1С;
    - Есть компилятор (десктопный - мобильный).

Сравнение разборов:

Публикация Разбор
Парсировщик кода 1С 95%
Технологическая платформа 1С:Предприятие 8.3 100%

 

Сравнение форматтеров:

Публикация Форматтер
(однострочный - многострочный)
Перевод текста
(русский-английский)
Автоформатирование кода 25% 0%
ИТС: Форматирование текста 8.1 0% 0%
ИТС: Форматирование текста 8.2 0% 0%
Парсировщик кода 1С 90% 30%
Технологическая платформа 1С:Предприятие 8.3 0% 0%
Транслятор: перевод и форматирование текста 0% 90%

 

Сравнение компиляторов:

Публикация Десктопный компилятор Мобильный компилятор Байт-код Комментарий
Пишем консольные exe-приложения на языке 1С 100% 0% собственный, похожий на 1C Интерпретатор сценариев на языке 1С, включающий в себя стековую виртуальную машину, исполняющую сценарий и транслятор языка 1С в байт-код виртуальной машины.
VM1C - виртуальная машина для 1С 50-100% 0%  собственный, похожий на .Net Первая версия написана в 1С (возможно были все основные функции), потом портирована на .Net.
[1C-to-EXE] Компилятор 1С кода 50% 0% EXE Базовые операторы (функции, процедуры, циклы, список значений и переменные и др.).
Парсировщик кода 1С 90% 90% Работает идентично платформе 1С.
Технологическая платформа 1С:Предприятие 8.3 100% 100% Компилирует встроенный язык 1С:Предприятия в промежуточный код, исполняемый интерпретатором.

 

Большое спасибо Саше за его проект!  (Был(а) на сайте инфостарт: 30.06.2020 и удален)

 
 Новое в версии

29.03.23 - 1.2.2.1:

  • Компилятор:
    Добавлены операторы "Асинх" и "Ждать". Спасибо Андрею за видео!

11.03.23 - 1.2.1.1:

  • Компилятор:
    Добавлен компилятор (мобильный).
    Добавлен тип значения по умолчанию Null в операторах "Процедура" и "Функция".
  • Форматтер:
    Исправлено форматирование чисел.

21.02.23 - 1.1.5.1:

  • Компилятор:
    Добавлены метки оператора "Перейти".

10.02.23 - 1.1.4.6:

  • Компилятор:
    Скорректированы флаги переменных и параметры методов.

02.02.23 - 1.1.3.4:

  • Компилятор:
    Скорректированы аргументы операторов "ДобавитьОбработчик" и "УдалитьОбработчик".

25.01.23 - 1.1.2.3:

  • Компилятор:
    Добавлены операторы "ДобавитьОбработчик" и "УдалитьОбработчик".

18.01.23 - 1.1.1.2:

  • Форматтер:
    Скорректированы переносы строк(многострочный-однострочный).
    Исправлена ошибка при переводе текста "операторы (Асинх, Ждать)" с английского на русский.

17.01.23 - 1.1.0.1:

  • Разбор:
    Добавлены операторы "Асинх" и "Ждать".
  • Форматтер:
    Добавлены операторы "Асинх" и "Ждать".
    Добавлен перевод текста (символы препроцессора Клиент, НаКлиенте, Сервер и т.д.) на русский или английский язык.
    Добавлен флажок "Исправлять регистр ключевых слов".

16.01.23 - 1.0.2.3:

  • Форматтер:
    Исправлена ошибка при переводе текста "булевы операции (и, или, не)" в выражении препроцессора.

14.01.23 - 1.0.2.2:

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

29.12.22 - 1.0.1.1:

  • Форматтер:
    Добавлен форматтер кода (многострочный).

04.12.22 - 1.0.0.2:

  • Добавлена возможность форматировать исходный код 1С.

30.11.22 - 1.0.0.1:

  • Добавлена возможность разобрать исходный код 1С на составляющие.
  • Добавлена возможность компилировать исходный код 1С в байт-код 1С.

Протестировано на платформе 8.3.22.1851.

 

Архив версий

Наименование Файл Версия Размер
Парсировщик кода 1С:

.epf 170,49Kb
0
.epf 1.0.2.3 170,49Kb Скачать
Парсировщик кода 1С:

.epf 167,47Kb
36
.epf 1.1.5.1 167,47Kb 36 Скачать

Актуальный релиз

Наименование Файл Версия Размер
Парсировщик кода 1С:

.epf 168,00Kb
0
.epf 1.2.2.1 168,00Kb Скачать

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

Автор запретил комментарии

См. также

Функции "слоупока": как заставить открываться "Все функции" в 97 раз быстрее!

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

Наверное, каждый программист 1С (да и не только программист), открывая «Функции для технического специалиста» (ранее «Все функции») на массивных конфигурациях вроде ERP 2.4 и т.п., в своей жизни много раз задавался вопросом – почему же они так долго открываются?? Действительно, в зависимости от мощностей сервера «Все функции» могут открываться от 20 секунд до 2 минут! «Ну, слишком много объектов в конфигурации, огромное количество констант, справочников, документов, регистров… – Отвечали себе страдающие пользователи. – Пока программа обойдёт в цикле все метаданные, пока построит дерево… Тут ничего не поделаешь…». И все они были не правы! Я провёл собственное расследование, которое показало, что 97% времени построения дерева метаданных тратится на…

1 стартмани

09.03.2022    20008    75    XilDen    76    

230

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

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

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

1 стартмани

17.12.2021    9930    27    RocKeR_13    5    

38

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

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

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

1 стартмани

27.08.2021    14266    202    Adeptus    57    

91

HTTP-клиент

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

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    14765    49    SpaceOfMyHead    48    

90

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

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

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

2 стартмани

06.03.2021    13305    7    pila86    16    

29

Готовые переносы данных из различных конфигураций 1C Промо

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

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

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

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

5 стартмани

21.12.2020    17926    30    huxuxuya    11    

36

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

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

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

14.08.2020    21005    0    Enigma    47    

175

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

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

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

2 стартмани

11.08.2020    10247    58    vozhd    4    

19

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

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

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

1 стартмани

17.07.2020    42754    582    salexdv    423    

327

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

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

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

1 стартмани

05.03.2020    15783    14    moolex    12    

15

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

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

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

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

1 стартмани

24.02.2020    41791    663    kuza2000    167    

174

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

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

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

3 стартмани

04.09.2019    50486    35    Stepa86    46    

220

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

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

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

1 стартмани

30.06.2019    23310    2    vadim1980    5    

16

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

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

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

2 стартмани

21.06.2019    15702    43    vandalsvq    12    

27

Работа с 1С:Аналитика Промо

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

4500 рублей

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

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

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

1 стартмани

03.06.2019    51753    12    ripreal1    92    

182

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

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

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

1 стартмани

13.05.2019    50253    199    Diversus    44    

278

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

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

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

1 стартмани

08.04.2019    33284    22    slozhenikin_com    37    

61

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

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

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

5 стартмани

09.01.2019    75554    286    informa1555    246    

206

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

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

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

7 стартмани

05.12.2018    29047    29    RomikR    11    

17

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

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

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

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

1 стартмани

04.11.2018    66484    641    Eugen-S    36    

50

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

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

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

3 стартмани

28.10.2018    57390    519    ROL32    72    

182

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

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

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

1 стартмани

27.08.2018    52312    520    evvakra    42    

181

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

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

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

1 стартмани

27.08.2018    75846    96    dsdred    17    

180

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

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

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

5 стартмани

14.08.2018    154748    3484    Evg-Lylyk    800    

620

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

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

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

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

5 стартмани

09.08.2018    44880    35    informa1555    30    

77

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

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

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

1 стартмани

25.05.2018    42851    398    leongl    20    

198

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

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

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

10 стартмани

15.03.2018    30970    33    33lab    5    

18