1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-27 08:20:55 +02:00
Парсер конфигурации 1С
Go to file
Максимов Валерий Валерьевич (000044217) b237a0f322 Merge branch 'feature/ONECICD-163' into 'develop'
#ONECICD-163

See merge request orais/tools/bsl-parser!3
2019-05-24 18:59:19 +03:00
.vscode Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
src #ONECICD-163 2019-05-24 18:01:58 +03:00
tasks Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
tests Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
.gitignore Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
installlocalhost.bat Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
LICENSE Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
packagedef Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00
readme.md Переработано чтение описаний конфигурации 2019-05-24 10:01:50 +03:00

Парсер конфигурации 1С

Информация

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

Установка

  1. Склонировать репозиторий
  2. Выполнить скрипт installlocalhost.bat

Использование

  1. Подключаем библиотеку #Использовать bsl-parser
  2. Создаем парсер Парсер = ПарсерBSL.ПарсерКонфигурации(КаталогИсходников);
  3. Читаем данные Парсер.ПрочитатьСтруктуруКонфигурации();
  4. Обрабатываем результат ОписаниеКонфигурации = Парсер.ОписаниеКонфигурации();

Пример, выводит имена всех объектов конфигурации и имена всех методов

    Парсер = ПарсерBSL.ПарсерКонфигурации(КаталогИсходников); // Создаем парсер
    Парсер.ПрочитатьСтруктуруКонфигурации(); // Читаем структуру
    ОписаниеКонфигурации = Парсер.ОписаниеКонфигурации();

    Для Каждого Объект Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл // Обрабатываем объекты

        // Обработаем объекты
        Сообщить(Объект.Тип + "." + Объект.Наименование);

    КонецЕсли;

    Парсер.НайтиМодулиКонфигурации(); // Находим все модули объектов

    Для Каждого Модуль Из ОписаниеКонфигурации.ОбъектыКонфигурации Цикл

        Для Каждого Блок Из Модуль.БлокиМодуля Цикл

            Если Блок.ТипБлока = ТипБлоковМодуля.ЗаголовокПроцедуры ИЛИ Блок.ТипБлока = ТипБлоковМодуля.ЗаголовокФункции Тогда

                Сообщить(ОписаниеБлока.ИмяМетода);

            КонецЕсли;

        КонецЦикла;

    КонецЦикла;