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
aleksey.koryakin 208cb58931 #ONECICD-148
Перетаскивание исправлений
2019-05-24 18:22:34 +03:00
.vscode Переработано чтение описаний конфигурации 2019-04-25 17:57:37 +03:00
src #ONECICD-148 2019-05-24 18:22:34 +03:00
tasks #ONECICD-86 2019-04-26 11:13:19 +03:00
tests #ONECICD-148 2019-05-24 18:22:34 +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-148 2019-05-21 14:14:43 +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.ПарсерКонфигурации(КаталогИсходников); // Создаем парсер
    Парсер.ПрочитатьСтруктуруКонфигурации(); // Читаем структуру
    ОписаниеКонфигурации = Парсер.ОписаниеКонфигурации();

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

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

    КонецЕсли;

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

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

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

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

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

            КонецЕсли;

        КонецЦикла;

    КонецЦикла;