Cloud 在Acumatica中通过图形插入销售订单

Cloud 在Acumatica中通过图形插入销售订单,cloud,erp,acumatica,Cloud,Erp,Acumatica,我试图通过图表插入销售订单 我的代码正在工作,但无法插入数据库 这是我创建销售订单的代码。我正在使用Acumatica 4.0 void genSO(string outletCD,string salesmanCD) { Customer cus = PXSelect<Customer, Where<Customer.acctCD, Equal<Required<Customer.acctCD>>>

我试图通过图表插入销售订单 我的代码正在工作,但无法插入数据库 这是我创建销售订单的代码。我正在使用Acumatica 4.0

void genSO(string outletCD,string salesmanCD)
{
            Customer cus =
                PXSelect<Customer, Where<Customer.acctCD, Equal<Required<Customer.acctCD>>>>
                    .Select(this, outletCD);

            SalesPerson salesman=
                PXSelect<SalesPerson, Where<SalesPerson.salesPersonCD, Equal<Required<SalesPerson.salesPersonCD>>>>
                    .Select(this, salesmanCD);


            if (cus != null && cus.BAccountID != null )
            {

                SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
                SOOrder newOrder = graph.Document.Insert();
                newOrder.OrderType = "SO";
                newOrder.OrderDate=DateTime.Now;
                newOrder.RequestDate = DateTime.Now;
                newOrder.CustomerID = cus.BAccountID;

                graph.Document.Cache.RaiseFieldUpdated<SOOrder.customerID>(newOrder, null);
                newOrder.SalesPersonID = smNPP.SalesPersonID;
                graph.Document.Cache.RaiseFieldUpdated<SOOrder.salesPersonID>(newOrder, null);


                newOrder.Status = "N";
                graph.Document.Current = newOrder;

                graph.Document.Cache.Update(newOrder);
                graph.Actions.PressSave();
            }
}
谢谢你的帮助。

试试这个:

SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
SOOrder newOrder = (SOOrder)graph.Document.Cache.CreateInstance();
//Fill only keys.
newOrder.OrderType = "SO";    
newOrder = sograph.Document.Insert(newOrder);
//Apply automation step.
newOrder = PXCache<SOOrder>.CreateCopy(graph.Document.Search<SOOrder.orderNbr>(newOrder.OrderNbr));
newOrder.OrderDate=DateTime.Now;
newOrder.RequestDate = DateTime.Now;
newOrder.CustomerID = cus.BAccountID;
newOrder.SalesPersonID = smNPP.SalesPersonID;
graph.Document.Update(newOrder);
graph.Actions.PressSave();

graph.Document.InsertnewOrder;
坚持

你有什么错误吗?或者只是什么都不做?不,不是。但是数据不能插入数据库我可以发现这段代码的一些问题,但是它在4.2中工作正常,并且插入了一个顺序。首先,你应该替换DateTime。现在是DateTime。今天。我替换了,但什么也没发生。我尝试了这个,但还是什么都没发生。调试时,我找到了新订单的OrderNbr,但之后,没有任何内容插入到数据库中。是否有销售订单的自定义?是的,我通过为Soline添加新字段在销售订单屏幕上进行了自定义是否可以取消发布并检查?我也这样做了,但仍然相同:这应该如何解决问题?另外请注意,建议使用Actions.pressave进行保存,而不是PsrsistI。我同意按save是更好的选择。但OP似乎在这方面遇到了一些困难。我在处理CRM案例活动时遇到了类似的问题。我被迫调用Persist方法。然后在activities主视图上调用Refresh,以便我可以看到保存的新活动。