![]() |
#1 |
Участник
|
О рукожо..ах (?). И немножко 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(); } |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|