1
0
mirror of https://github.com/bia-technologies/bsl-parser.git synced 2024-11-24 08:12:17 +02:00
Парсер конфигурации 1С
Go to file
aleksey.koryakin b24a2006a5 #ONECICD-148
Унификация чтения EDT и конфигуратора
2019-05-20 17:52:27 +03:00
.vscode Переработано чтение описаний конфигурации 2019-04-25 17:57:37 +03:00
src #ONECICD-148 2019-05-20 17:52:27 +03:00
tasks #ONECICD-86 2019-04-26 11:13:19 +03:00
tests #ONECICD-148 2019-05-20 14:53:27 +03:00
.gitignore #ONECICD-148 2019-05-20 14:53:27 +03:00
installlocalhost.bat Переработано чтение описаний конфигурации 2019-04-25 17:57:37 +03:00
LICENSE Переработано чтение описаний конфигурации 2019-04-25 17:57:37 +03:00
packagedef #ONECICD-86 2019-04-26 15:09:06 +03:00
readme.md #ONECICD-86 2019-04-29 14:34:25 +03:00
updateFixtures.bat #ONECICD-148 2019-05-20 14:53:27 +03:00

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

Информация

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

Установка

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

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

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

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

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

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

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

    КонецЕсли;

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

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

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

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

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

            КонецЕсли;

        КонецЦикла;

    КонецЦикла;