|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от EVGL
![]() Многое
![]() Одинарные кавычки появляются тогда, когда есть специальные символы или точки. К примеру, "AssetBook.AssetTable_AssertId" - это не таблица, а relation. Действительно, в явном виде надо объявлять только "корневые" таблицы, если с них начинается поиск. Если же до другой таблицы можно добраться через 1:N или N:1 от корневой, то их эксклюзивно объявлять не надо. И как быть если relation не у корневой на подчиненную, а наоборот? Т.е. корневая таблица «не знает» о существовании таблиц, которые на нее ссылаются? В примере, с которым я разбираюсь, у корневой таблицы AssetTable нет relation на таблицы AssetBook и LedgerJournalTrans_Asset. Эти таблицы ссылаются на AssetTable. У AssetBook relation AssetTable_AssertId AssetBook.AssertId == AssetTable.AssertId а у LedgerJournalTrans_Asset relation AssetTable_AssertId LedgerJournalTrans_Asse.AssertId == AssetTable.AssertId Правильно ли я понимаю, что о "направлении" связи говорит знак ">" или "<"? В первом случае - это relation корневой таблицы на подчиненную, а во втором - наоборот? И такой пример из той же модели: У таблицы AssetTable есть relation WorkerContactName_FK AssetTable.WorkerContactName == HcmWorker.RecID В модели есть поле с такой формулой FIRSTORNULL(AssetTable.'>Relations'.WorkerContactName) Раз ссылка на RecID, то это связь 1:1, WorkerContactName это имя поля, а не relation (там еще _FK и WorkerContactName вне кавычек) и данное выражение возвращает единичную запись из таблицы HcmWorker. Правильно? Выражение (опуская IF и проверку на пустой список) AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId' Связь 1:N, AssetTable_AssertId это relation таблицы AssetBook (а не AssetTable) и данное выражение возвращает список записей таблицы AssetBook, но не всех, а только связанных с текущей записью AssetTable. Правильно? И, все равно не понимаю, чем выражение AssetTable.'<Relations'.' LedgerJournalTrans_Asset.AssetTable_AssertId' отличается от предыдущего. Единственное, что приходит на ум, это то, что первое используется в маппинге модели и там можно добраться до любой связанной таблицы без ее эксклюзивного объявления, независимо от «направления» relation. А в маппинге формата можно добраться только до элементов модели, но не до таблицы. Но если в формате ее добавить как источник данных, то можно записи из нее использовать – это я уже попробовал. Вот только связать ее с корневой таблицей модели так же не получается. Надо ссылаться на ER-метку и с отбором по relation что-то не получается. Пробую использовать FILTER, но пока никак не получается написать корректное выражение где с одной стороны поле добавленной таблицы (источника данных), а с другой – поле элемента модели данных. |
|
Теги |
generic electronic reporting, ger |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|