|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от belugin
![]() Технически их можно сделать, это должно работать так же как как и в меппинге моделей. Это не рекомендуется. Насколько я помню, если не хочется их видеть, можно убрать у соответствующего пользователя роль разработчика ER оставив роль функционального консультанта или выключить Show Details - будет упрощенный режим.
Это в принципе возможно? Есть смысл "методом тыка" пытаться в этом разобраться или это априори бесперспективно? |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от 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). |
![]() |
#3 |
Участник
|
Так как слегка сталкиваюсь с ЕР + скучно, осмелюсь ответить.
Цитата:
Сообщение от Libovs
![]() Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме? Цитата:
Сообщение от Libovs
![]() И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ? Да, и в общем и целом это вполне может покатить (как Excel). Проблема с документацией решается, подозреваю, одним человечко-месяцем на нормальную документацию, но видимо у МС нет ресурсов. |
|
![]() |
#4 |
Участник
|
Цитата:
"Неправильно ВСЕ" - не стимулирует у меня мыслительный процесс ![]() |
|
![]() |
#5 |
Участник
|
Цитата:
Стоит ли пробовать все-таки это сделать в формате или только в модели? |
|
![]() |
#6 |
Участник
|
Конкретную ситуацию я описал выше:
- в модели ОС корневой элемент AssetTable; - $Books - список записей из таблицы AssetBook, связанных по Relations с текущей записью AssetTable. Есть таблица LedgerJournalTrans_Asset с абсолютно идентичным Relations с AssetTable, но в модели ее нет. Возможно ли в формате, а не в модели, добавить ее как источник данных, аналогично AssetBook? Если хотя бы теоретически "это должно работать так же как как и в меппинге моделей", то можете ли схематично подсказать последовательность действий? А я уже попробую. |
|
![]() |
#7 |
Участник
|
Вот и очередная непонятка: на форме создания источника данных типа записи таблицы есть галочка "Запросить запрос". Зачем она? На что влияет? Включать?
Без документации - ну ни как... Извините за нытье |
|
![]() |
#8 |
Участник
|
Эта штука просит вызывающего предоставить аксаптовский запрос. Стандартное поведение - вывод его в диалог запроса параметров запуска - там можно будет наложить какие-то источники данных, но его может и программно заполнить вызыващий код X++
|
|
![]() |
#9 |
Участник
|
Цитата:
Я понимаю, сколько прошло времени с выпуска АХ2012 и сколько с D365. По АХ2012 на docs.microsoft.com все-таки расписана каждая форма, кнопка и поле на форме, пусть конспективно и не всегда понятно на что влияет, но хоть что-то... |
|
![]() |
#10 |
Участник
|
Подскажите, пожалуйста
Хотел, чтобы в импорте выписки в формате 1С поле плательщика бралось из второго возможного тэга, если первый пуст. В Model mapping designer в дизайнере вот такая формула для счета плательщика: Цитата:
@.SectionTypes.Documents.Data.Document.'$PayerAccountNum'.DocumentAttrTypes.PayerAccountNumSeq.Data.PayerAccountNum
Цитата:
If(@.SectionTypes.Documents.Data.Document.'$PayerAccountNum'.DocumentAttrTypes.PayerAccountNumSeq.Data.PayerAccountNum="","123",@.SectionTypes.Documents.Data.Document.'$PayerAccountNum'.DocumentAttrTypes.PayerAccountNumSeq.Data.PayerAccountNum)
Цитата:
Incorrect reference 'format/IncomingFile/File/$Documents/SectionTypes/Documents/Data/Document/$PayerAccountNum/DocumentAttrTypes/PayerAccountNumSeq/Data/PayerAccountNum'
No overload for function = matches the input parameters Function arguments are of incorrect types in 'If' |
|
![]() |
#11 |
Участник
|
Я не знаю, что тут неправильно. Ошибка означает, что он не может найти операцию сравнения для данных аргументов. Для строк операция сравнения есть. Значит что-то не то с типами данных. Либо какая-то ошибка в пути, что он не определил тип либо еще что-то.
|
|
![]() |
#12 |
Участник
|
Очень не хватает в конструкторе форматов кнопки Свернуть/Развернуть на правой части формы (модели). На левой (шаблона) она есть.
Т.к. Поиск выполняется только по развернутым узлам, то раскрывать все дерево модели ручками как-то не по феншую. Может есть какой hotkey или недокументированная возможность? |
|
![]() |
#13 |
Участник
|
|
|
![]() |
#14 |
Участник
|
Подскажите, как написать выражение с вызовом метода таблицы с параметрами?
Добавил источник данных таблица AssetLedgerAccounts(Asset Ledger Accounts):Таблица AssetLedgerAccounts у нее есть метод assetLedgerDimension():Int64 (String _assetId, String _assetBookId, AssetTransType _assetTransType, String _assetPostingProfile, AssetDocumentType_JP _assetDocumentType_JP, Int64 _assetDocumentEntryRecId) Ячейку отчета связал с этим методом Ячейка<Col05_LedgerAccount> = model.AssetLedgerAccounts.'assetLedgerDimension()' В качестве параметров надо передать элементы model.'$BooksRecords'.'$LedgerJournalRecords'.AssetId model.'$BooksRecords'.'$LedgerJournalRecords'.BookId model.AssetTransTypeJournal.Acquisition model.'$BooksRecords'.General.PostingProfile.Id Попытка вставить между скобками пару кавычек и в них пути к параметрам успехом не увенчалась Ячейка<Col05_LedgerAccount> = model.AssetLedgerAccounts.'assetLedgerDimension('model.'$BooksRecords'.'$LedgerJournalRecords'.AssetId, model.'$BooksRecords'.'$LedgerJournalRecords'.BookId, model.AssetTransTypeJournal.Acquisition, model.'$BooksRecords'.General.PostingProfile.Id')' Как это правильно сделать? |
|
![]() |
#15 |
Banned
|
Это невозможно. Методы с параметрами приходится эмулировать прямым SQL в выражениях FILTER или WHERE:
FILTER(EGCAssetLedgerAccounts, AND(EGCAssetLedgerAccounts.BookId=AssetRollForwardTmp.AssetBookId,OR(EGCAssetLedgerAccounts.AccountRelation=AssetRollForwardTmp.AssetGroup, EGCAssetLedgerAccounts.AccountRelation=""), EGCAssetLedgerAccounts.TransType=EGCAssetTransType.Acquisition, EGCAssetLedgerAccounts.PostingProfile=EGCAssetParameters.PostingProfile)) Последний раз редактировалось EVGL; 09.12.2019 в 12:01. |
|
![]() |
#16 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: EVGL (5). |
![]() |
#17 |
Banned
|
|
|
![]() |
#18 |
Участник
|
Тогда, по крайней мере мне, непонятна разница между типами Источника данных "Записи таблицы" и "Таблица". Я считал что второй как раз и дает возможность получить доступ к методам, в отличии от первого.
|
|
![]() |
#19 |
Участник
|
|
|
![]() |
#20 |
Участник
|
|
|
Теги |
generic electronic reporting, ger |
|
|