Разберем формирование пространств имен на примере условного проекта Санаторий:
- Проанализируем проект и выделим в нем подсистемы. Пусть, в нашем случае такими будут: Номерной фонд (НФ), Санаторное питание (СП), Медицинские услуги (МУ). Подсистем может и не быть, если проект небольшой и цельный.
- Определимся с названиями файлов ПИ. Мы рекомендуем использовать префикс для идентификации разработчика (GS), имя проекта и подсистемы. Например, GS.Санаторий.НФ.Справочник номеров.yml.
- Определимся с общими для всех подсистем метаданными (домены, исключения) и разместим их в ПИ GS.Санаторий.Метаданные.yml Аналогично создадим ПИ для общих скрипт-объектов: скрипт-функций, VB-классов, констант.
- Для каждого бизнес-объекта или группы строго логически связанных между собой бизнес-объектов создаем отдельное ПИ, куда включаем в такой последовательности: метаданые (по порядку: домены, исключения, таблицы, индексы, представления, процедуры, триггеры), константы, ВБ-классы, скрипт-функции, методы, формы (DFM), события, макросы, отчеты.
- Для макросов, форм, отчетов, которые не являются неотъемлемой частью реализации БО, создаем отдельные ПИ. Объекты по ПИ распределяем в соответствии с логической группировкой. Например, в один файл удобно поместить форму, ее события, макрос, который ее вызывает.
- Общие отчеты, которые строятся по совокупности данных разных объектов, выносим в отдельное ПИ.
- В отдельное ПИ выносим визуальные настройки гридов.
- Создаем пакет Санаторий (пакет -- это ПИ со снятым флагом Внутреннее). Расставляем зависимости.
- Сохраняем на диске и закидываем в gedemin-apps.
Проверяем:
- Грузим пакет на чистую БД.
- С помощью утилиты IBExpert сравниваем структуры старой и новой БД. Выясняем, все ли метаданные мы включили. Если нет, то включаем, сохраняем, возвращаемся к шагу 1.
- С помощью утилиты FDBExtract сравниваем данные в таблицах платформы. Выясняем, все ли скрипт-функции, макросы, отчеты, формы мы включили.
- Вручную тестируем проект. Если все работает -- идем за пивом и\или шампанским.