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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.05.2021, 10:01   #1  
axm2017 is offline
axm2017
Участник
 
1,757 / 292 (13) ++++++
Регистрация: 15.05.2017
О рукожо..ах (?). И немножко ER
В силу того что люди таки начали осваивать ER ( и довольно на удивление успешно, напоминая порой тетенек-бухгалтерш ака виртуозов Excel) приходится анализировать и их неудачи.

Одна из них оказалась связана с отчетом "Sales tax declaration info report for HU":

Кто то талантливый из видимо в MS (в терминах одного самокритичного коллеги работавшего на данную контору - см заголовок) не стал как обычно выводить название в параметры или использовать константы, смог как то обойти кодревью, проверки и втиснуть шедевр в класс SalesTaxDeclarationInformationReportService который как понимаю таки венгерский отчет но без всяких суффиксов.

Благодаря его столь решительному подходу попытки сделать свое в виде derive ов и прочего у консультантов обрекались на неудачу.

X++:
/// <summary>
    /// Called by service controller.
    /// </summary>
    /// <param name = "_dataContract">The report parameters.</param>
    [Microsoft.Dynamics.BusinessPlatform.SharedTypes.InternalUseOnlyAttribute]
    public void run(SalesTaxDeclarationInfoReportContract _dataContract)
    {
        dataContract = _dataContract;

        this.processReport();

        this.runER();
    }

    /// <summary>
    /// Called by service controller.
    /// </summary>
    private void runER()
    {
        ERIModelDefinitionParamsAction parameters = new ERModelDefinitionParamsUIActionComposite()
                    .add(
                        new ERModelDefinitionDatabaseContext()
                            .addTemporaryTable(this.getTmpTaxReport()))
                    .add(
                        new ERModelDefinitionDatabaseContext()
                            .addValue(tableNum(CompanyInfo), fieldNum(CompanyInfo, DataArea), curext()))
                   .add(
                        new ERModelDefinitionInputParametersAction()
                            .addParameter('ParameterReportMode', dataContract.parmReportMode()))
                    .add(
                        new ERModelDefinitionInputParametersAction()
                            .addParameter('model/ParameterFromDateRange',dataContract.parmTaxReportPeriodFromDate()))
                   .add(
                        new ERModelDefinitionInputParametersAction()
                            .addParameter('model/ParameterToDateRange', dataContract.parmTaxReportPeriodToDate()));

        // Call ER to generate the report.
        ERFormatMappingTable eRFormatMappingTable;
        select RecId from eRFormatMappingTable where eRFormatMappingTable.Name == "Sales tax declaration info report for HU";
        ERFormatMappingId formatMapping = eRFormatMappingTable.RecId;

        ERObjectsFactory::createFormatMappingRunByFormatMappingId(formatMapping)
            .withFileDestination(ERObjectsFactory::createFileDestinationBrowser())
                .withParameter(parameters)
                        .withCreatingObjectParameter(SalesTaxDeclarationInfoReportContract::parmERModelname(),
                                                     classStr(SalesTaxDeclarationInfoReportContract),
                                                     dataContract).run();
    }
Вопрос в том как это можно безболезненно и с минимумом кода поправить?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
erconsult: Electronic Reporting (ER) Cookbook 4: References in a model Blog bot DAX Blogs 0 04.12.2020 06:14
cleverax: ER: Add product image to your Business documents Blog bot DAX Blogs 0 17.04.2020 13:11
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47

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

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

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