首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过WEB服务创建Acumatica错误

通过WEB服务创建Acumatica错误
EN

Stack Overflow用户
提问于 2015-05-29 04:05:14
回答 2查看 256关注 0票数 0

当通过Acumatica服务创建时,我正在体验下面的错误。下面是错误和示例编码。

代码语言:javascript
复制
PX.Data.PXException: Error #289: The button Save is disabled.

SO301000Content soSchema = context.SO301000GetSchema();            

        var commands = new List<Acumatica_LSOne_Integration.SALES.Command>();
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = vType, LinkedCommand = soSchema.OrderSummary.OrderType});
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = vCustomer, LinkedCommand = soSchema.OrderSummary.Customer});
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = TransDate.ToLongTimeString(), LinkedCommand = soSchema.OrderSummary.Date});
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = TransDate.ToLongTimeString(), LinkedCommand = soSchema.OrderSummary.RequestedOn});            
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = "X",LinkedCommand = soSchema.OrderSummary.Project});
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = APaymentMethod,LinkedCommand = soSchema.PaymentSettings.PaymentMethod});
        commands.Add(new Acumatica_LSOne_Integration.SALES.Value
            {Value = "FROM LSOne TransactionID: " + vRecordID + " ReceiptID: " + vReceiptID,LinkedCommand = soSchema.OrderSummary.Description});            
        commands.Add(soSchema.Actions.Save);
        commands.Add(soSchema.OrderSummary.OrderNbr);

        context.SO301000Submit(commands.ToArray());
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-29 08:55:41

出现此问题是因为您正在设置关键字段之一OrderType,而没有指示要添加记录。当从用户界面执行此操作时,系统会将屏幕放在记录上,但在通过web服务调用时,这种情况似乎不会自动发生。

您可以在设置soSchema.Actions.Insert之后添加OrderType,也可以传入虚拟OrderNbr,如:new SO301000.Value { Value = "<NEW>", LinkedCommand = soSchema.OrderSummary.OrderNbr }

最后,一个警告词--您在没有指定区域性的情况下使用ToLongTimeString()转换ToLongTimeString()字段。如果客户端计算机具有与Acumatica服务器不同的区域设置,则可能会出现错误。我建议您改用TransDate.ToString(System.Globalization.CultureInfo.InvariantCulture)

票数 0
EN

Stack Overflow用户

发布于 2015-06-02 03:08:27

您是在尝试一次创建一个订单吗?或者你有多个线程来做这件事?

无论如何,试着添加

context.SO301000Clear();

代码语言:javascript
复制
SO301000Content soSchema = context.SO301000GetSchema();

你可以加上加百列提到..。

代码语言:javascript
复制
SOSchema.Actions.Insert

在设置OrderType之后。看看这对你有没有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30520942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档