У нас есть экранный 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.
Спасибо.