Соглашение по разработке расширения ЛКС

Соглашение по разработке расширения ЛКС

Фиксируем здесь наши договоренности по именованию объектов и пр.

  1. Префикс для всех объектов лкс

  2. В синоним объекта добавляем " (ЛКС)"

  3. Выполняем сортировку объектов в дереве метаданных: сначала заимствованные объекты по алфавиту, далее собственные объекты по алфавиту.

  4. К имени объектов не добавляем окончание ЛК и прочее постфиксы указывающее на то, что это объект подсистемы ЛКС (т.к. "лкс" уже на это указывает)

  5. Для объектов заполняем Представление объекта и Представление списка без (ЛКС). Пример:

При такой настройке в интерфейсе будет отображаться без (ЛКС), но в списке объектов в Все функции (ЛКС) будет.

6. Для обработок, чтобы в интерфейсе команда открытия отображалась без (ЛКС), отключаем использование стандартных команд, И вручную создаем команду уже без префиксов и постфиксов. Пример:

7. Версионируем следующим образом:

Первая цифра - номер редакции. Вторая - номер подредакции. Третья - номер версии. Четвертая - номер сборки.

По заветам: https://its.1c.ru/db/v8std#content:483:hdoc ; https://its.1c.ru/db/v8std#content:484:hdoc

  • Если добавляем/удаляем функциональность - увеличиваем номер версии, при этом номер сборки сбрасывается в 1;

  • Если исправляем назначительные ошибки (не меняют поведение системы) - увеличиваем номер сборки;

  • Если одновременно меняем функциональность и исправляем ошибки - увеличиваем номер версии, при этом номер сборки сбрасывается в 1.

Перешли на номер версии из четырех чисел, чтобы отрабатывали механизмы БСП которые мы задействовали для обновления данных при переходе на новую версию.

8. Для выполнения доп обработчиков (например, заполнение справочников по умолчанию) при изменении версии добавляем их описание в процедуру лксОбновлениеИнформационнойБазы.ПриДобавленииОбработчиковОбновления (описано тут: https://its.1c.ru/db/bsp23doc#content:1629:hdoc):

+ меняем версию в лксОбновлениеИнформационнойБазы.ПриДобавленииПодсистемы:

Для того, чтобы обработчики выполнились, нужно после этого запустить базу с ключом ЗапуститьОбновлениеИнформационнойБазы.

9. cfe расширения берем из базы Srvr="msk-s3-vs-sql01";Ref="empl_zup_ru_model"; По сути, для нас это база является origin/master

10. При помещении в хранилище обязателен комментарий с кратким описанием (шаблон такой, если в рамках задачи: <НомерЗадачи> <Описание>, без задачи: <Описание>)

11. Настройки приложения добавляем в ресурсы регистра лксНастройкиПриложения.

Для получения значения настройки в модуле менеджера есть функция РегистрыСведений.лксНастройкиПриложения.ЗначениеНастройки(<ИмяНастройки>).

Для редактирования настроек используется обработка лксНастройкиПриложения. На форму выведен менеджер записи лксНастройкиПриложения, при сохранении формы данные записываются в регистр.

12. При записи ошибок в журнал регистрации имя события формируем следующим образом: Личный кабинет сотрудника.<Имя подсистемы>.<Имя события (с пробелами, до 5-6 слов)>. Для формирования имени события используем функцию лксОбщегоНазначенияКлиентСервер.ИмяСобытияЖурналаРегистрации.

13. Для HTTP-запросов использовать лксКоннектор. Примеры запросов можно посмотреть здесь: https://github.com/vbondarevsky/Connector

14. Если нужно добавить в расширение документ, который будет использоваться при ЭКДО нужно:

  • добавить в расширение справочник присоединенных файлов этого документа

  • в справочнике вэПечатныеФормыЛК для реквизита Основание в состав типов включить добавляемый документ

  • в справочнике вэПечатныеФормыЛК для реквизита ПрисоединенныйФайл в состав типов включить справочник присоединенных файлов добавляемого документа

  • в регистре лксПодписанныеОбъекты для реквизита Объект в состав типов включить справочник присоединенных файлов добавляемого документа

  • в регистре лксПодписанныеОбъекты для реквизита ПодписьПрисоединенныйФайл в состав типов включить справочник присоединенных файлов добавляемого документа

  • добавить в расширению форму документа

  • в модуль формы документа добавить обработчик события ПриСозданииНаСервереПосле, в нем сделать вызов процедуры: лксБлокировкаИзмененийОбъекта.ПриСозданииНаСервере(ЭтотОбъект);

Last updated