21.07.2003, 07:35 | #1 |
Участник
|
Зачем таблице нужен релэйшн на саму себя?
Здравствуйте!
Не понял, зачем в таблице RAssetMoveHist есть Relation на саму себя? В каких случаях и зачем нужен такой финт ушами? Заранее благодарен. С уважением. |
|
21.07.2003, 11:38 | #2 |
Участник
|
Где то здесь об этом писал EVGL.
Это делается для того, чтобы работал механизм переименования Ключевого поля. Поищите его ответ. Там, вроде, было чуть подробнее. |
|
21.07.2003, 11:52 | #3 |
Banned
|
Запуск BestPractice дает ответ на этот вопрос. Self-relation нужны для переименования первичных ключей.
Если расширенный тип не имеет такой ссылки, то BestPractice выдает соответствущее предупреждение и ждет, что ссылка будет создана на самой таблице. Однако в ряде таблиц (RAssetMoveHist, скорее всего, в их числе) первичного ключа либо нет, либо он состоит из нескольких полей. Тут попытка создать Self-relation ни к чему не приводит: BestPractice продолжает ошибочно выдавать все то же предупреждение. Есть и еще одна причина: в ряде случаев программист хочет, чтобы при вызове формы создалась динамическая ссылка с источником данных вызываеющего объекта. Пример: вызов проводок по ГК из плана счетов. А если вызывающая и вызываемая таблицы одинаковые? Если таблицу рабочих центров вызываем из формы рабочих центров и хотим видеть, как содержимое второй формы фильтруется по номеру из первой? Автоматически наложить правильный DynaLink на таблицу (особенно с первичным ключом из двух и более полей) в таком случае помогает Self-relation. |
|