28.11.2019, 10:06 | #141 |
Участник
|
Даже не рядом.
Как мне объяснить китайцу что он обязан для своего отчета сделать ровно такого же customer-а в модели, как уже есть? Я нормальных слов на уровне пользователя не знаю. Цитата:
Цитата:
У меня мнение что не просто нужна а необходима, так как не могу нормально работать со сторонними коллегами: они должны делать копию customer, чтобы гарантировать что маппинг по их отчету будет работать нормально. customer customer_1 .. customer_20 в модели будет смотреться шикарно. Ну и как уже написал мне тяжело объяснять пользователям почему им нельзя использовать root с модели, поставляемой MS. Цитата:
Это как? Вопрос не в том что в LCS, а в работоспособности. Последний раз редактировалось axm2017; 28.11.2019 в 10:30. |
|
02.12.2019, 21:25 | #142 |
Banned
|
|
|
|
За это сообщение автора поблагодарили: trud (3), axm2017 (3). |
03.12.2019, 12:26 | #143 |
Участник
|
Помогите разобраться.
Нужно сделать так, чтобы ProjInvoiceRevenue записи, связанные с ProjInvoiceJour, фильтровались по кастомному полю, скажем XYZHideLine. В стандарте такая формула: Пробовал изменить ее на: WHERE(ProjInvoiceJour.'<Relations'.ProjInvoiceRevenue,ProjInvoiceJour.'<Relations'.ProjInvoiceRevenue.XYZHideLine=Enums.NoYes.No) но в итоге просто возвращается первая запись, которая к тому же не соответствует критерию. Как правильно фильтровать в этом случае? |
|
03.12.2019, 12:47 | #144 |
Banned
|
Я у себя объявил такую переменную:
$ProcurementCategory = FIRSTORNULL(FILTER(ProjTable.'$ItemRequirements'.'>Relations'.InventTable.'<Relations'.EcoResProductCategory, ProjTable.'$ItemRequirements'.'>Relations'.InventTable.'<Relations'.EcoResProductCategory.CategoryHierarchy = '$ProcurementHierarchyRecId'.CategoryHierarchy)) и присвоил ее ветке модели. Работает. |
|
|
За это сообщение автора поблагодарили: Stitch_MS (5). |
03.12.2019, 18:39 | #145 |
Участник
|
|
|
03.12.2019, 19:00 | #146 |
Участник
|
|
|
03.12.2019, 20:17 | #147 |
Участник
|
В модели ОС (Fixed assets model) описана
$Books:Вычисляемое поле = IF(ISEMPTY(AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'), EMPTYLIST(AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'), AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'): Список записей: DataContainerList (): DataContainerList () как я понимаю определяет список записей из таблицы AssetBook, связанных с текущей записью AssetTable по Relations AssetTable_AssetId (AssetBook.AssertId == AssetTable.AssertId) Есть таблица LedgerJournalTrans_Asset у которой полностью идентичный Relations AssetTable_AssertId (LedgerJournalTrans_Asset.AssertId == AssetTable.AssertId). Нужно получить из нее список связанных записей. В формате добавляю вычисляемое поле JournalTrans и задаю для него формулу IF(ISEMPTY(AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId'), EMPTYLIST(AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId'), AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId') При сохранении - ошибка: Неверная ссылка "AssetTable/<Relations/LedgerJournalTrans_Asset.AssetTable_AssertId". Что я делаю неправильно? Подскажите, пожалуйста. |
|
03.12.2019, 21:05 | #148 |
Banned
|
Вы делаете неправильно ВСЕ. В конструкторе формул ФОРМАТА принципиально нельзя оперировать таблицами, это можно делать только в маппинге модели.
|
|
04.12.2019, 00:54 | #149 |
Участник
|
|
|
04.12.2019, 08:33 | #150 |
Участник
|
|
|
04.12.2019, 11:51 | #151 |
Участник
|
Цитата:
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме? И такой вопрос: в природе существует какая-то документация кроме https://docs.microsoft.com/ru-ru/dyn...onic-reporting ? Тут более-менее информативны только разделы связанные с администрированием, а по созданию моделей и форматов только "нажмите кнопку - введите значение". Почему именно эту кнопку нажимать? Почему именно это значение выбирать? Что будет если выбрать другое значение? И это позиционируется как инструмент для не-программиста? |
|
04.12.2019, 12:39 | #152 |
Участник
|
Цитата:
Сообщение от Libovs
Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме? Цитата:
И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ? Тут более-менее информативны только разделы связанные с администрированием, а по созданию моделей и форматов только "нажмите кнопку - введите значение". Почему именно эту кнопку нажимать? Почему именно это значение выбирать? Что будет если выбрать другое значение? И это позиционируется как инструмент для не-программиста? Вот пример раздела первого типа, где содержится описание рекомендуемого подхода: документация: Although GER allows for direct mapping of format components to database artifacts (tables or data entities), we don't recommend this approach, because it's likely that multiple formats will be maintained in some business domain areas that use the same data sources. Whenever the structure of such database artifacts is changed, the format mapping to the database artifacts must also be changed, and the cost of these changes will be multiplied by the number of maintained formats. Therefore, we recommend that you work through the data model as the abstract description of the domain-specific data structure, and that you use the direct binding of format elements to database components only for simplification and for coverage for specific customizations (for example, to refer to custom tables when these references are required in a limited number of maintained formats). Некоторые шаги во разделах второго типа содержат пояснения. Мы работаем над реструктуризацией документации, но я не могу сказать, когда вы сможете увидеть результаты этого. |
|
04.12.2019, 12:47 | #153 |
Участник
|
Так как слегка сталкиваюсь с ЕР + скучно, осмелюсь ответить.
Цитата:
Сообщение от Libovs
Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме? Цитата:
Сообщение от Libovs
И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ? Да, и в общем и целом это вполне может покатить (как Excel). Проблема с документацией решается, подозреваю, одним человечко-месяцем на нормальную документацию, но видимо у МС нет ресурсов. |
|
04.12.2019, 12:53 | #154 |
Участник
|
Цитата:
Сообщение от belugin
Технически их можно сделать, это должно работать так же как как и в меппинге моделей. Это не рекомендуется. Насколько я помню, если не хочется их видеть, можно убрать у соответствующего пользователя роль разработчика ER оставив роль функционального консультанта или выключить Show Details - будет упрощенный режим.
Это в принципе возможно? Есть смысл "методом тыка" пытаться в этом разобраться или это априори бесперспективно? |
|
04.12.2019, 13:07 | #155 |
Участник
|
Конкретную ситуацию я описал выше:
- в модели ОС корневой элемент AssetTable; - $Books - список записей из таблицы AssetBook, связанных по Relations с текущей записью AssetTable. Есть таблица LedgerJournalTrans_Asset с абсолютно идентичным Relations с AssetTable, но в модели ее нет. Возможно ли в формате, а не в модели, добавить ее как источник данных, аналогично AssetBook? Если хотя бы теоретически "это должно работать так же как как и в меппинге моделей", то можете ли схематично подсказать последовательность действий? А я уже попробую. |
|
04.12.2019, 13:15 | #156 |
Участник
|
Цитата:
Стоит ли пробовать все-таки это сделать в формате или только в модели? |
|
04.12.2019, 13:36 | #157 |
Участник
|
Цитата:
Сообщение от belugin
Я не знаю других источников. Там есть разделы как обще-информативного характера и step-by-step.
Вот пример раздела первого типа, где содержится описание рекомендуемого подхода: документация: Although GER allows for direct mapping of format components to database artifacts (tables or data entities), we don't recommend this approach, because it's likely that multiple formats will be maintained in some business domain areas that use the same data sources. Whenever the structure of such database artifacts is changed, the format mapping to the database artifacts must also be changed, and the cost of these changes will be multiplied by the number of maintained formats. Therefore, we recommend that you work through the data model as the abstract description of the domain-specific data structure, and that you use the direct binding of format elements to database components only for simplification and for coverage for specific customizations (for example, to refer to custom tables when these references are required in a limited number of maintained formats). Некоторые шаги во разделах второго типа содержат пояснения. Мы работаем над реструктуризацией документации, но я не могу сказать, когда вы сможете увидеть результаты этого. Пару простых вопросов: - в каких случаях использовать "Добавить корень", а в каких "Добавить"? - в чем отличие "Таблица" и "Записи таблицы" как источника данных? - что такое "Поиск" среди источников данных - нужно ли каждую таблицу добавлять как источник данных или только "корневую", а все связанные через relations определяются как "Вычисляемое поле"? - где можно выполнять фильтрацию записей - только в модели или это можно сделать и в формате? Вот пример вопросов, которые в первую очередь возникают у меня как не-программиста (хотя и с 30-летним опытом программирования, но в прошлом), на которые хотелось бы видеть ответы в документации - пусть одним-двумя абзацами, чисто концептуально. А сейчас единственный доступный мне путь - изучать уже загруженные модели/форматы и пытаться понять, как оно работает. |
|
|
За это сообщение автора поблагодарили: belugin (5). |
04.12.2019, 13:43 | #158 |
Участник
|
Цитата:
"Неправильно ВСЕ" - не стимулирует у меня мыслительный процесс |
|
04.12.2019, 14:07 | #159 |
Участник
|
Это касательно чего? Важен контекст.
В модели. Root это корневая структура с которой собственно и можно организовывать mapping. Для остального добавить в корень или так с ходу кроме логического удобства как правило не несет сильной смысловой нагрузки (хотя могут быть ньюансы). Если глянуть их в реальности то В первом случае это лишь набор static методов таблицы во втором реальный запрос записей со всеми вытекающими (обычно используется с наложением фильтров через calculated field их кстати принято именовать как понимаю с префиксом $ так как это сулит удачу) То же что и поиск в других местах. Реально при большом числе объектов и ужасном рабочем дизайне поиск выручает (хотя он тоже реализован кривовато) Цитата:
Цитата:
Вопрос документации актуален да. Но по моим прикидкам повторюсь это месяц работы стажера имхо и видимо малореально так как MS загружено. Все жду когда они среду сделают удобной или хотя бы анонсируют. Последний раз редактировалось axm2017; 04.12.2019 в 14:09. |
|
04.12.2019, 14:15 | #160 |
Участник
|
Рекомендуемый способ для этого использовать свою модель и меппинг (см derive) yна основе существующей.
Нерекомендуемый способ: Технически возможно использовать источники данных на меппинге формата, только там нету источников данных с меппингов модели а только результат - сама модель. Если вы можете использовать данные модели, то можно отбирать данные из источников с помощью функции FILTER: FILTER(MyTable, MyTable.AssetBookID = model.AssetBookID ) |
|
Теги |
generic electronic reporting, ger |
|
|