Отчеты не будут запускаться в пакетном режиме

Я пытаюсь запустить немодифицированные отчеты, используя пакетную обработку в Microsoft Dynamics AX 2009. Я настроил свою конфигурацию и настроил принтер AOS для запуска отчета. Когда я отправляю отчет в пакетную очередь, у него сразу возникает ошибка, когда он начинает выполнение.

Ошибка заключается в следующем:

Ошибка выполнения кода: объект SysGlobalCache не инициализирован.

(S)\Classes\SysGlobalCache\get (S)\Classes\ClassFactory\reportRunClass - строка 14 (S)\Classes\RunBaseReport\makeReportRun - строка 19 (S)\Classes\RunBaseReport\unpack - строка 31 (S)\Classes \RunbaseReportStd\unpack — строка 26 (S)\Classes\BatchRun\runJobStatic — строка 27

Я пробовал запускать три разных отчета: «Клиент», «Продавец» и «Строки покупки». Я получаю ту же ошибку каждый раз.

Какие-либо предложения?


person SShaheen    schedule 22.08.2012    source источник


Ответы (4)


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

Сервер пакетной обработки может их обрабатывать, но, поскольку вам нужно будет указать место для сохранения файла, обратите внимание на следующее:

Обязательно используйте путь к файлу UNC, который вы хотите сохранить, иначе вы можете получить следующую ошибку: «Целевой файл должен быть в формате UNC».

Также убедитесь, что были применены необходимые разрешения, чтобы разрешить запись в это место, иначе вы получите сообщение об ошибке, например: «Невозможно открыть файл».

person Vince Perta    schedule 22.08.2012
comment
Спасибо за обходной путь! Это будет работать, но не решит проблему. - person SShaheen; 24.08.2012
comment
Пожалуйста. Это еще один обходной путь, но он также может быть полезен. Возможно, вы уже заметили, что запуск отчета в Print Archive сопряжен с той же проблемой, что и печать непосредственно на принтере. Но если вы измените \Classes\RunbaseReportStd.runsImpresonated(), чтобы он обрабатывал PrintMedium::PrintArchive так же, как PrintMedium::File и PrintMedium::Mail, пакеты будут запускаться для него успешно и могут быть просмотрены/распечатаны позже из Основные › Запросы › Печать Архив - person Vince Perta; 31.08.2012

Я считаю, что проблема в том, что пакеты пытаются обработать серверный код, а отчеты предназначены для запуска на стороне клиента. Попробуйте обходной путь по этому URL-адресу:

http://blogs.msdn.com/b/emeadaxsupport/archive/2009/06/16/how-to-run-client-batches-on-ax-2009.aspx

Суть в том, что вы создаете пакетную группу под названием «Клиент» или что-то еще, назначаете ее серверу пакетной обработки, а затем запускаете устаревший пакетный процессор в группе. Это может сработать для вас.

person Alex Kwitny    schedule 22.08.2012
comment
Есть что-то подобное для AX 2012? - person Tassisto; 06.11.2012

Другой вариант — изменить отчет для запуска на сервере. Вам нужно будет проверить пункт меню и убедиться, что он настроен для работы на сервере. Это свойство пункта меню.

Когда вы добавляете отчет в партию, взгляните на экран запроса партии. Выберите пакетное задание, затем нажмите «Задачи». Если задача показывает «Расположение выполнения» = клиент, она не будет выполняться в серверной пакетной среде.

Роб.

person Rob V    schedule 25.08.2012

Я получал аналогичную ошибку. Я перезапустил службу отчетов AOS и SQL, и все заработало нормально. Надеюсь это поможет.

person Nazia    schedule 24.01.2013