22.09.2015, 08:35 | #1 |
Участник
|
Srs провайдер передача параметров
Создал класс провайдера для Srs отчета(наследник от SRSReportDataProviderBase). Подскажите пожалуйста как можно передать в этот класс параметры ARGS ???
|
|
22.09.2015, 09:43 | #2 |
Участник
|
Если вы именно о args(), то чтобы их анализировать нужно перекрывать контроллер. в дата провайдере можно обращаться только к контракту
вообще крайне советую Microsoft Dynamics AX 2012 White Paper: Report Programming Model, там все такие случаи расписаны http://www.microsoft.com/en-au/downl....aspx?id=27725 |
|
|
За это сообщение автора поблагодарили: arhat (1). |
22.09.2015, 09:50 | #3 |
Участник
|
Напрямую args в провайдер данных для отчета передавать нельзя. Вместо этого нужные параметры из args необходимо реализовать в контракте данных отчета и в провайдере брать эти параметры из него.
Инициализировать параметры в контракте на основе данных из args можно в контроллере отчета. Для этого в своем наследнике класса SRSReportRunController нужно перекрыть, например, метод prePromptModifyContract или preRunModifyContract и выполнить обработку args, передав нужные значения параметров в контракт. |
|
|
За это сообщение автора поблагодарили: arhat (1). |
22.09.2015, 09:56 | #4 |
Участник
|
всем Спасибо
|
|
23.09.2015, 09:15 | #5 |
Участник
|
Создаю класс контракта передаю в него параметры
X++: MEL_SrsContractStickerLabel_Sales contract; ; super(); contract = this.parmReportContract().parmRdpContract() as MEL_SrsContractStickerLabel_Sales; contract.parmSalesId("21321321"); [c] \Classes\SysOperationDataContractInfo\packDataContractObject 72 строка инициализирует 0 Последний раз редактировалось arhat; 23.09.2015 в 09:18. |
|
23.09.2015, 10:47 | #6 |
Участник
|
Контракт описан корректно? Все члены помечены атрибутами?
Распаковка строки в "0" говорит либо о неправильном типе в контейнере, либо контейнер пустой. Стоит попробовать почистить SysLastValue связанных с отчетом классов. |
|
23.09.2015, 11:12 | #7 |
Участник
|
X++: [ DataMemberAttribute('SalesId') ] SalesId parmSalesId(SalesId _salesId) {; salesId = _salesId; return salesId; } |
|
25.09.2015, 07:44 | #8 |
Участник
|
не могу никак передать параметры! испробовал все, незнаю что делаю не так? есть у кого нибудь предположения что могу делать не так? могу скинуть проект если кто может посмотреть
|
|
08.10.2015, 22:12 | #9 |
Участник
|
попробуй засунуть во временную таблицу, добавить её как ещё один источник данных на отчёте (DataSet), а потом выбирать из неё через First!НужныйПараметр
__________________
Felix nihil admirari |
|