23 мая 2017 г.
Как не запутаться в зависимостях объектов ПИ
Уже миллион раз успел пожалеть, что сделал в Гедымине режим добавления объектов в ПИ "с зависимыми". Это мощная функция, которая требует от применяющего досконального знания теории реляционных баз данных, структуры конкретной БД, внутреннего устройства своего прикладного решения.
Добросовестная разработка с использованием данной галки требует следования определенной последовательности операций:
-
Добавить объект в ПИ с зависимыми.
Открыть список ПИ. Найти нужное и по-порядку, по списку входящих в него объектов, проверить что именно добавилось. Убрать лишнее.
Открыть список зависимостей для выбранного ПИ и проверить какие зависимости добавились. При необходимости изменить.
Сохранить ПИ в репозиторий.
Взять чистый эталон и загрузить на него пакет (каждый функционально завершенный и обособленный модуль должен быть оформлен в виде пакета).
Протестировать работоспособность загруженного пакета.
-
В такой базе может присутствовать целый букет устаревших, временных, давно забытых ПИ. При добавлении "с зависимостями" они подхватятся и затянутся в список зависимых ПИ.
В таблицах на таких БД могут присутствовать устаревшие, уже не используемые поля. Мало того, что они затянутся в ПИ, так еще затянутся и объекты на которые они ссылаются.
Устаревшие скрипт-функции могут привести к тому, что код, работающий на разработочной базе, не будет работать на чистой базе, собранной из актуальных ПИ.
-
Поскольку решение не велико, то объекты разобъем по следующим ПИ:
-
GS.Зарплата.Наряды.Метаданные -- домены, таблицы, триггеры и т.п.
GS.Зарплата.Наряды.Хранилище -- экранные формы.
GS.Зарплата.Наряды.Макросы -- перекрытые методы, локальные макросы форм.
GS.Зарплата.Наряды.Отчеты -- печатные формы.
-
GS.Зарплата.Наряды.Метаданные зависит от пакета GS.Зарплата.
GS.Зарплата.Наряды.Хранилище зависит от GS.Зарплата.Наряды.Метаданные.
GS.Зарплата.Наряды.Макросы зависит от GS.Зарплата.Наряды.Хранилище.
GS.Зарплата.Наряды.Отчеты зависит от GS.Зарплата.Наряды.Макросы.
Labels:
база данных,
документация,
исходный код,
полезное,
проблема
Подписаться на:
Сообщения (Atom)