Показать сообщение отдельно
Старый 27.10.2022, 10:12   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
На днях пришлось использовать вашу идею с передачей параметра, при этом выяснил, что его в маппинге надо оставлять в "корне", а не прятать в отдельном контейнере, в противном случае ER не может его нормально найти по пути. Использовал GUID для поиска отчета:

X++:
    public static void main(Args args)
    {
        const str reportMappingGUID = "31716666-8662-45EF-BE58-8C71EC584132";
        const str paramPackageIdPath = "model/SPLPackageId";

        var erReport = ERObjectsFactory::createFormatMappingRunByFormatMappingId(ERFormatMappingTable::findByGUID(str2Guid(reportMappingGUID)).Format); 
        if (args && args.record())
        {
            SPLPackageTable packageTable = args.record() as SPLPackageTable;

            ERModelDefinitionInputParametersAction inputParameters = new ERModelDefinitionInputParametersAction();
            inputParameters.addParameter(paramPackageIdPath, packageTable.PackageId);

            erReport.withParameter(inputParameters).run();
        }
        else
        {
            erReport.run();
        }
    }
За это сообщение автора поблагодарили: sukhanchik (10).