20 нояб. 2013 г.

Формируем ПИ из существующих проектов

Теперь, когда ядро Комплексной автоматизации переведено в пространства имен, пришло время достать из сундуков все, что было нажито непосильным трудом за долгие-долгие годы, хорошенько вытрясти, почистить и выставить на всеообщее обозрение.

Разберем формирование пространств имен на примере условного проекта Санаторий:

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

Проверяем:

  1. Грузим пакет на чистую БД.
  2. С помощью утилиты IBExpert сравниваем структуры старой и новой БД. Выясняем, все ли метаданные мы включили. Если нет, то включаем, сохраняем, возвращаемся к шагу 1.
  3. С помощью утилиты FDBExtract сравниваем данные в таблицах платформы. Выясняем, все ли скрипт-функции, макросы, отчеты, формы мы включили.
  4. Вручную тестируем проект. Если все работает -- идем за пивом и\или шампанским.
В любом случае исходную базу данных архивируем и сохраняем в надежном месте.

Комментариев нет:

Отправить комментарий