All Projects → otymko → bsl-context-collector

otymko / bsl-context-collector

Licence: MIT license
No description or website provided.

Programming Languages

1C Enterprise
81 projects
Gherkin
971 projects

Context collector for BSL (Сборщик контекста)

Конфигурация позволяет собирать и хранить данные справки 1С. За основу проекта взяты разработки Валерия Агеева (@awa) и его проект MetaRead.

Схема работы

  1. Готовим каталог с файлами справки. У каждой платформы это файлы shcntx_ru.hbk и shcntx_root.hbk. Их нужно положить в каталог с номером версии платформы. Например:
├── syntax                     # Базовый каталог, который нужно будет указывать при импорте в 1С
│   └── 8.3.10                 # Каталог со справкой определенной версии платформы
|       ├── shcntx_ru.hbk      # Файла справки на русском языке
|       ├── shcntx_root.hbk    # Файла справки на английском языке

Файлы shcntx_ru.hbk и shcntx_root.hbk нужно распаковать в текущий каталог. Например, с помощью утилиты 7-zip.

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

  2. Открываем информационную базу. Переходим по пути Сервис -> Обработка справочной информации.

  3. В обработке заполняем поле Путь до каталога справки.

  • Нажимаем на кнопку Заполнить доступные платформы. В табличной части будут заполнены доступные каталоги справок в разрезе версий платформы.
  • Нажимаем на кнопку Чтение справки. Алгоритм прочитает каждый доступный каталог со справкой из табличной части.

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

Структура конфигурации

Основная идея: отправная точка это Тип. Например:

  • Управляемая форма
  • Глобальный контекст - общий глобальный тип. Например, метод СтрНайти() относится к данному типу
  • ДокументОбъект.<Имя документа>
  • и т.п.

У каждого типа могут быть:

  • Свойства
  • Значения
  • Методы
  • События
  • Конструкторы

Справочник Типы

Справочник является отправной точкой. В подчинении у справочника - Справочник.ВерсииТипов, тем самым объединяя разные вариации типа по версиям платформы.

Справочник Версии типов

Для каждой версии платформы создается отдельная версия типа. Форма элемента справочника должна стать центральной точкой редактирования версии типа. Справочник подчинен Справочник.Типы.

Справочник События

Справочник подчинен Справочник.ВерсииТипов. У типов могут быть события. Например, для типа ДокументОбъект.<Имя документа>:

  • ОбработкаЗаполнения
  • ОбработкаПроведения
  • ПередЗаписью
  • ПриЗаписи
  • и т.д.

Для каждого события вариант синтаксиса хранится в справочнике Справочник.Перегрузки. Например, для события ОбработкаПроведения вариантом синтаксиса является ОбработкаПроведения(Отказ, РежимПроведения).

Справочник Методы

Справочник подчинен Справочник.ВерсииТипов.

У типов могут быть методы. Например, для типа Массив:

  • Добавить
  • Удалить
  • Количество
  • и т.п.

У методов может быть несколько вариантов синтаксиса. Как и для событий, варианты хранятся в справочнике Справочник.Перегрузки. Например, для события Добавить вариантом синтаксиса является Добавить(Значение).

Существуют методы с несколькими вариантами синтаксиса. Например, у типа ТабличныйДокумент метод ПолучитьОбласть имеет два варианта:

  • По адресу ПолучитьОбласть(НомерПервойСтроки, НомерПервойКолонки, НомерПоследнейСтроки, НомерПоследнейКолонки)
  • По имени ПолучитьОбласть(ИмяОбласти)

Справочник Перегрузки

Справочник подчинен Справочник.События и `Справочник.Методы. В справочнике хранятся варианты синтаксисов методов и событий. Примеры есть в двух разделах выше.

В справочнике есть:

  • Имя варианта - если у варианта нет имени, по умолчанию заполняется значением Основной
  • Параметры (аргументы) - аргументы методов и событий
  • Описание - описание варианта, если таковое присутствует

Справочник Конструкторы

TODO: В процессе разработки

Перечисление Версии платформы

В перечисление через конфигуратор вручную добавляются версии платформы, которые будут использоваться в конфигурации. На данный момент созданы значения в диапазоне: от 8.2.16 до 8.3.18

Перечисление Контексты выполнения

Значениями перечисления заполняются табличные части "Контекст выполнения" во многих справочниках. Например Справочник.Методы.

Как вести разработку

Для разработки используются следующие таргеты:

Используется:

  • Русский вариант синтаксиса
  • Модульное тестирование (пока не опубликовано)
  • Разработка по gitflow

Прежде чем кодить нужно:

  • Убедиться, что cуществует issue
  • Обсудить идею с владельцем проекта

Лицензия

Используется лицензия MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].