Веб-API на основе экрана «Подготовка счета-фактуры» перестает работать после обновления Acumatica с V6 до 2018R2 - PullRequest
0 голосов
/ 19 декабря 2018

У нас есть экранный API для добавления заказа на продажу и подготовки счета, и он работал хорошо до недавнего времени после того, как мы обновили Acumatica с v6 до 2018R2.Судя по примечанию к выпуску и коду, похоже, что единственное отличие заключается в опции «Quick Process», которая доступна только в 2018R2, однако мы не включили эту опцию и предположили, что она не должна влиять на наш API.

Ниже приведен код API:

            ....................
            SO301000Content SO301000 = context.SO301000GetSchema();
            context.SO301000Clear();

            SO301000.Actions.PrepareInvoiceAction.Commit = true;

            List<Command> cmds = new List<Command>();

            cmds.Add(new Value { Value = soType, LinkedCommand = SO301000.OrderSummary.OrderType});
            cmds.Add(new Value { Value = soNbr, LinkedCommand = SO301000.OrderSummary.OrderNbr });
            cmds.Add(new Value { Value = customerCD, LinkedCommand = SO301000.OrderSummary.Customer, Commit = true });
            cmds.Add(new Value { Value = customerLocation, LinkedCommand = SO301000.OrderSummary.Location});


            cmds.Add(SO301000.Actions.PrepareInvoiceAction);
            cmds.Add(SO301000.Actions.Save);


            SO301000Content[] SO30100content = context.SO301000Submit(cmds.ToArray());
            .......................

После запуска этого кода мы получили сообщение об ошибке:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> PX.Data.PXActionDisabledException: Error: The Save button is disabled.
at PX.Data.PXAction`1.<Press>d__31.MoveNext()
at PX.Api.SyImportProcessor.SyStep.a(Object A_0, PXFilterRow[] A_1, PXFilterRow[] A_2)
at PX.Api.SyImportProcessor.ExportTableHelper.ExportTable()
at PX.Api.ScreenUtils.Submit(String screenId, IReadOnlyList`1 commands, SchemaMode schemaMode, PXGraph& graph, String& redirectContainerView, String& redirectScreen, Boolean mobile, Dictionary`2 viewFilters)
at PX.Api.Services.ScreenService.Submit(String id, IEnumerable`1 commands, SchemaMode schemaMode, Boolean mobile, PXGraph& forceGraph, String& redirectContainerView, String& redirectScreen, Dictionary`2 viewFilters)
at PX.Api.Services.ScreenService.Submit(String id, IEnumerable`1 commands, SchemaMode schemaMode)
at PX.Api.Soap.Screen.ScreenGate.Submit(Command[] commands)
 --- End of inner exception stack trace ---

Кто-нибудь имеет представление об этой проблеме?

Кстати, мы собираемся перейти к REST API в ближайшем будущем, но из-за рабочей нагрузки мы хотели бы сначала выполнить обновление, поэтому нам нужно сначала запустить этот API.

Спасибо.

...