![]() |
#8 |
Administrator
|
Цитата:
Во-первых, Relation типа ForeignKey дает возможность установить на Relation-е свойство CreateNavigatePropertyMethods и впоследствии пользоваться не только теми методами, которые находятся в узле Methods, но и динамически создаваемыми методами перехода от одной таблицы к другой. Во-вторых, в форме расширенного фильтра есть возможность выбирать из списка полей не только поля выбранной таблицы и ее родителей, а еще и связанных по ForeignKey таблиц (см таблицу VendTable и релейшн MainContactWorker на таблицу HcmWorker; в форме - это поле Ответственный). И этот выбор зависит от значения метода sysDictField.isSurrogateForeignKey(). Сейчас, если создать Relation типа Обычный и добавить одну связку - то независимо от того - взведен флаг с ForeignKey у релейшна или нет, и метод CreateNavigatePropertyMethods на релейшне доступен и метод sysDictField.isSurrogateForeignKey() возвращает значение True. Все эти прелести пропадают при добавлениии в релейшн второго поля-связки. Соответственно, с учетом того, что система хранит информацию о том, как был создан Relation - через ForeignKey или через Nornal - никто не застрахован от того, что метод sysDictField.isSurrogateForeignKey() будет смотреть на этот флаг (а это ядро между тем), а также пропадет свойство CreateNavigatePropertyMethods у релейшна, у которого "нет полномочий его менять. Но пока оно работает... хорошо ![]()
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: EVGL (1), Владимир Максимов (1), Cardagant (1). |