EDITIONDATE (поле)

Материал из GedeminWiki
Версия от 16:11, 28 августа 2008; SYSDBA (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Строго говоря, Гедымин требует обновления поля editiondate только в двух случаях:

  1. меняются данные непосредственно в самой таблице, где находится это поле;
  2. меняются данные в таблице связанной 1-к-1 (например, gd_contact - gd_company).

В остальных случаях решение принимается разработчиком. Мы не требуем жесткого обновления этого поля по следующим причинам:

  1. Производительность. Например, в случае изменения editiondate в таблице at_relations в ответ на изменение записи в at_relation_fields, в процессе синхронизации

метаданных для таблицы с N полей N раз вызовется триггер на обновление мастер записи.

  1. Вероятность возникновения ошибки. Если принцип обновления editiondate применять

повсеместно, то начнутся каскадные апдейты и даже может возникнуть рекурсия.

  1. Логическая размытость (неясность) в каком случае обновлять, а в каком нет. Например, если обновлять таблицу при изменении записи в таблице с полями, то почему

тогда не обновлять запись в таблице с полями (а за ней и запись в таблице с позициями) при изменении записи в таблице с доменами?

Пример не из метаданных: стоит ли менять editiondate у документа накладной, если изменился адрес контрагента? Вроде бы нет -- контрагент эта запись в таблице справочнике, связанная с накладной. Но, с другой стороны, для пользователя накладная -- это то что отпечаталось на листе бумаги, и для него изменение адреса в накладной -- это и есть изменение накладной. Значит, да?

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты