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 eea025fe96 Merge branch 'tmp' into feature/ONECICD-148
# Conflicts:
#	.gitignore
#	readme.md
#	src/Макеты/ОбъектыКонфигурации.md
#	src/Модули/ПараметрыПродукта.os
#	src/Модули/ПарсерBSL.os
#	src/Общее/Классы/СтруктураКаталоговКонфигурации.os
#	src/Общее/Модули/СтруктурыОписаний.os
#	src/Общее/Модули/ТипыМодуля.os
#	src/Общее/Модули/ТипыОбъектовКонфигурации.os
#	src/Общее/Модули/Утилиты.os
#	src/ЧтениеОписаний/Классы/РазборКонфигурации1С.os
#	src/ЧтениеОписаний/Модули/ЧтениеМодулей.os
#	src/ЧтениеОписаний/Модули/ЧтениеОписанийEDT.os
#	src/ЧтениеОписаний/Модули/ЧтениеОписанийБазовый.os
#	src/ЧтениеОписаний/Модули/ЧтениеОписанийКонфигуратор.os
#	tests/ТестПроверкиРазбораКонфигурации.os
#	tests/ТестПроверкиСтруктурыКаталоговКонфигурации.os
2019-05-24 18:54:44 +03:00
.vscode Переработано чтение описаний конфигурации 2019-04-25 17:57:37 +03:00
src Merge branch 'tmp' into feature/ONECICD-148 2019-05-24 18:54:44 +03:00
tasks #ONECICD-86 2019-04-26 11:13:19 +03:00
tests #ONECICD-148 2019-05-24 18:39:00 +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.ПарсерКонфигурации(КаталогИсходников); // Создаем парсер
    Парсер.ПрочитатьСтруктуруКонфигурации(); // Читаем структуру
    ОписаниеКонфигурации = Парсер.ОписаниеКонфигурации();

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

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

    КонецЕсли;

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

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

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

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

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

            КонецЕсли;

        КонецЦикла;

    КонецЦикла;