AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2020, 12:52   #1  
Vitals is offline
Vitals
Участник
 
23 / 10 (1) +
Регистрация: 28.10.2007
Electronic Reporting DAX365FO всё время выводит первый документ
Добрый день!

Проблема:
Electronic Reporting DAX365FO всё время выводит первый документ, а не текущий документ.
в чём может быть причина?
Старый 11.12.2020, 12:54   #2  
axm2017 is offline
axm2017
Участник
 
446 / 180 (7) ++++++
Регистрация: 15.05.2017
Наверное в том что отчёт не знает ничего о текущей записи, если её туда не передать.
Старый 12.12.2020, 15:34   #3  
Vitals is offline
Vitals
Участник
 
23 / 10 (1) +
Регистрация: 28.10.2007
Как его можно настроить, чтобы он получил текущую запись?
Старый 12.12.2020, 20:09   #4  
axm2017 is offline
axm2017
Участник
 
446 / 180 (7) ++++++
Регистрация: 15.05.2017
Вы сами сделали отчёт?
Можно разными путями: программно или к примеру указав вывод запроса в самом ер.
Старый 12.12.2020, 20:43   #5  
Vitals is offline
Vitals
Участник
 
23 / 10 (1) +
Регистрация: 28.10.2007
Да, сами, на таблицу VendPurchOrderJournal, без программирования, стандартным функционалом. Никак не могу понять, как описывается ловля текущей записи в Elcetronic Reports data source
Старый 13.12.2020, 20:42   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Передать текущую запись можно только программно но можно установить галочку "ask for query" на table records datasource и получить стандартную форму редактирования запроса при запуске
__________________
blog | twitter
Старый 14.12.2020, 11:26   #7  
Vitals is offline
Vitals
Участник
 
23 / 10 (1) +
Регистрация: 28.10.2007
Например, при распечатке sales invoice он ничего не спрашивает, а сразу находит текущую запись. В стандарте предполагается распечатка VendPurchOrder Journal, но только query не создан в Electronic reportinge, вот, пытаюсь сделать, и не понятно, что указывает на ловлю записи.
Oтчёт закускается через printmanagement
Старый 14.12.2020, 12:13   #8  
axm2017 is offline
axm2017
Участник
 
446 / 180 (7) ++++++
Регистрация: 15.05.2017
При sales invoice вы наверное используете что то типа отчёта bdr(?) . Расшифровку не знаю но смысл что там используется функционал ssrs фреймворка и параметры и прочее в рамках этого вполне себе передаются в ер.
Старый 14.12.2020, 12:23   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от Vitals Посмотреть сообщение
Например, при распечатке sales invoice он ничего не спрашивает, а сразу находит текущую запись. В стандарте предполагается распечатка VendPurchOrder Journal, но только query не создан в Electronic reportinge, вот, пытаюсь сделать, и не понятно, что указывает на ловлю записи.
Oтчёт закускается через printmanagement
Там есть X++ код который автоматически заполняет источник данных, у каоторого выставлено "ask for query".

Вот пример, с использованием ERModelDefinitionDatabaseContext - можно по исходникам поискать его использование.

X++:
ERIModelDefinitionParamsAction parameters = new ERModelDefinitionParamsUIActionComposite()
                    .add(new ERModelDefinitionDatabaseContext().addTemporaryTable(assetRollForwardTmp))
                    .add(new ERModelDefinitionObjectParameterAction(ERModelDataSourceName, 'MyParameters', _contract, true));

                // Call ER to generate the report.
                ERObjectsFactory::createFormatMappingRunByFormatMappingId(formatMappingId, DefaultExportedFileName)
                    .withParameter(parameters)
                    .withFileDestination(_contract.getFileDestination())
                    .run();
__________________
blog | twitter
За это сообщение автора поблагодарили: EVGL (3).
Старый 14.12.2020, 14:46   #10  
trud is offline
trud
Участник
Лучший по профессии 2017
 
966 / 1334 (46) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от belugin Посмотреть сообщение
.withParameter(parameters)
.withFileDestination(_contract.getFileDestination())
.run();
а для чего кстати делается такая запись вызова множества методов в одну строчку? какая-то защита на пути отладчика?
За это сообщение автора поблагодарили: Raven Melancholic (2), mazzy (5).
Старый 14.12.2020, 15:17   #11  
axm2017 is offline
axm2017
Участник
 
446 / 180 (7) ++++++
Регистрация: 15.05.2017
Лаконичнее же, чем иным способом.
Старый 14.12.2020, 15:53   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от trud Посмотреть сообщение
а для чего кстати делается такая запись вызова множества методов в одну строчку? какая-то защита на пути отладчика?
Чтобы было меньше повторений одного и того же, см. также https://en.wikipedia.org/wiki/Fluent_interface
__________________
blog | twitter
За это сообщение автора поблагодарили: mazzy (5).
Старый 14.12.2020, 17:06   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,270 / 4111 (196) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от belugin Посмотреть сообщение
Чтобы было меньше повторений одного и того же
"мы за ценой не постоим"
https://en.wikipedia.org/wiki/Fluent_interface#Problems
__________________
Полезное на axForum, GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 14.12.2020, 17:30   #14  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от mazzy Посмотреть сообщение
"мы за ценой не постоим"
https://en.wikipedia.org/wiki/Fluent_interface#Problems
С моей точки зрения там эти проблемы не всегда проявляются и в конкретном случае их влияние минимально.
__________________
blog | twitter
Старый 15.12.2020, 13:56   #15  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
829 / 575 (21) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от trud Посмотреть сообщение
а для чего кстати делается такая запись вызова множества методов в одну строчку? какая-то защита на пути отладчика?
Настоящий программист должен программировать в блокноте, использовать все 10 пальцев и не смотреть на клавиатуру. Тогда экономия на лишних словах особенно заметна. В блокноте если щелкнуть по слову двойным щелчком мыши, то выделяется сразу несколько слов, если между ними нет пробелов, а есть только точки - поэтому в блокноте неудобно выделять отдельные слова и копировать их, гораздо удобнее их пропускать.
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/
Старый 15.12.2020, 14:51   #16  
trud is offline
trud
Участник
Лучший по профессии 2017
 
966 / 1334 (46) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от belugin Посмотреть сообщение
С моей точки зрения там эти проблемы не всегда проявляются и в конкретном случае их влияние минимально.
Сейчас посмотрел, там еще в этих методах сплошные интерфейсы, т.е. невозможно просто из текстового кода в VS посмотреть реализацию(при переходе к методу идет переход к интерфейсу в котором ничего нет). При этом используются интерфейсы которые тоже наследуются. Т.е. я так понимаю если хочется посмотреть логику - это только отладчиком смотреть. При этом запись в одну строчку как раз усложняет использование отладчика .
Старый 15.12.2020, 15:05   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от trud Посмотреть сообщение
Сейчас посмотрел, там еще в этих методах сплошные интерфейсы, т.е. невозможно просто из текстового кода в VS посмотреть реализацию(при переходе к методу идет переход к интерфейсу в котором ничего нет). При этом используются интерфейсы которые тоже наследуются.
Какой интерфейс вы имеете ввиду?

Цитата:
Сообщение от trud Посмотреть сообщение
Т.е. я так понимаю если хочется посмотреть логику - это только отладчиком смотреть. При этом запись в одну строчку как раз усложняет использование отладчика .
Ну да, придется несколько раз нажать F11 Shift+F11
__________________
blog | twitter
Старый 15.12.2020, 15:27   #18  
trud is offline
trud
Участник
Лучший по профессии 2017
 
966 / 1334 (46) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Ну в приведенном примере метод run, там будет ERIFormatMappingRun и также есть его наследник ERIFormatMappingRunByGUID. Кстати первый раз увидел что можно наследовать интерфейсы .
Но я так понимаю что это все же не является чем-то хорошим, т.е. в пределах возможности лучше такого избегать
https://softwareengineering.stackexc...er-inheritance
Старый 15.12.2020, 15:33   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,506 / 2619 (97) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Сколько реализаций этого интерфейса вы видите в системе? Нужен ли отладчик?

Цитата:
Но я так понимаю что это все же не является чем-то хорошим,
Это вынужденная мера, так как там по идее лучше был бы класс. Но теперь мы вынужденны поддерживать обратную совместимость, так что приходится делать новые интерфейсы вместо расширения этого.
__________________
blog | twitter
Старый 15.12.2020, 15:44   #20  
trud is offline
trud
Участник
Лучший по профессии 2017
 
966 / 1334 (46) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Я даже не знаю как быстро посмотреть все реализации. Перекрестные ссылки на ERIFormatMappingRun показывают 83 использования, есть какой-нибудь способ кроме как тыкать в каждую?
А кстати интерестный вопрос про обратную совместимость, довольно много кода помечено [Hookable(false)] или это к интерфейсам не относится. Можно наверное V2 создать, как с дата этнити
Теги
dax365fo, electronic reporting

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
erconsult: Electronic Reporting (ER) Cookbook 4: References in a model Blog bot DAX Blogs 0 04.12.2020 06:14
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
dynamics-coe: Microsoft Dynamics AX 2012 Reporting Services – Integrated with SharePoint Farm Blog bot DAX Blogs 0 21.11.2014 13:11
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:03.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.