В течение жизненного цикла документ как правило обрастает историей.
Хранить историю внутри объекта некрасиво и неправильно. Разумно
разрешить документу иметь в том же журнале подчиненные документы (с точки зрения пользователя "подчиненные записи").
Реализуется это элементарно: добавляем в подчиненный объект поле REF, содержащее
UNID родительского документа, а для визуализации в списке документов рядом с главным
документом рисуем треугольник ▼ или ► (скрыть или показать историю).
Для программиста все тоже просто: метод getDocWithResponses(unid)
возвращает коллекцию из главного документа и всех подчиненных.
Обработчики событий подчиненных документов могут изменять главный документ.
Для этих целей предусмотрен свой набор правил: responsRule.
Тем, кого заинтересовала описанная технология я рекомендую скачать
бесплатную CRM-Sova и с помощью SQLite-смотрелки исследовать базы.
В Сове нет никаких ограничений и вредоносных закладок, это рекламная акция для популяризации фреймворка RSF (Result Systems Framework).
Алексей Носиков
aon24@mail.ru
http://result-systems.ru