Acumatica API-删除销售订单行

Acumatica API-删除销售订单行,api,line,acumatica,erp,Api,Line,Acumatica,Erp,我想按给定的OrderNbr删除所有销售订单行,然后使用相同的销售订单号插入新的销售订单行。 这仅适用于处于“未结”或“信用保持”状态的销售订单,当然也适用于订单行尚未发货的情况 我怎样才能得到行数,并通过每一行删除呢? 我如何使用SO301000.DocumentDetails.ServiceCommands.DeleteRow?我认为您应该使用以下内容: var命令=新列表 { 新值{LinkedCommand=SO301000.OrderSummary.OrderType,Value=“

我想按给定的OrderNbr删除所有销售订单行,然后使用相同的销售订单号插入新的销售订单行。 这仅适用于处于“未结”或“信用保持”状态的销售订单,当然也适用于订单行尚未发货的情况

我怎样才能得到行数,并通过每一行删除呢?
我如何使用SO301000.DocumentDetails.ServiceCommands.DeleteRow?

我认为您应该使用以下内容:

var命令=新列表
{
新值{LinkedCommand=SO301000.OrderSummary.OrderType,Value=“SO”},
新值{LinkedCommand=SO301000.OrderSummary.OrderNbr,Value=“XXXXXX”},
SO301000.DocumentDetails.ServiceCommands.RowNumber,
SO301000.DocumentDetails.OrderType,
SO301000.DocumentDetails.OrderNbr,
SO301000.DocumentDetails.LineNbr,
SO301000.DocumentDetails.InventoryID,
SO301000.DocumentDetails.Quantity,
};

var content=context.SO301000Submit(commands.ToArray())这也适用于报价或任何营销文档

以下是进一步参考的代码:

try {
    apitest.Screen context = new apitest.Screen();
    context.CookieContainer = new System.Net.CookieContainer();

    context.Url = "http://localhost/Acumatica52v1865/Soap/APITEST.asmx";

    LoginResult lresult = context.Login("admin", "123");

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

    var commands = new List<Command>
    {
        new Value { LinkedCommand = SO301000.OrderSummary.OrderType, Value = "SO"},
        new Value { LinkedCommand = SO301000.OrderSummary.OrderNbr, Value = "000179"},

        SO301000.DocumentDetails.ServiceCommands.RowNumber,
        SO301000.DocumentDetails.OrderType,
        SO301000.DocumentDetails.OrderNbr,
        SO301000.DocumentDetails.LineNbr,
        SO301000.DocumentDetails.InventoryID,
        SO301000.DocumentDetails.Quantity,
    };

    var content = context.SO301000Submit(commands.ToArray());

    List<Command> cmds = new List<Command>();
    cmds.Add(new Value { LinkedCommand = SO301000.OrderSummary.OrderType, Value = "SO" });
    cmds.Add(new Value { LinkedCommand = SO301000.OrderSummary.OrderNbr, Value = "000179" });

    //Remove all row,
    foreach (var item in content)
    {
        cmds.AddRange(new List<Command>
                {
                    SO301000.DocumentDetails.ServiceCommands.DeleteRow
                });
    }

    cmds.Add(SO301000.DocumentDetails.ServiceCommands.NewRow);
    cmds.Add(new Value { Value = "301CMPST01", LinkedCommand = SO301000.DocumentDetails.InventoryID, Commit = true });
    cmds.Add(new Value { Value = "2", LinkedCommand = SO301000.DocumentDetails.Quantity, Commit = true });
    cmds.Add(new Value { Value = "110", LinkedCommand = SO301000.DocumentDetails.UnitPrice });

    cmds.Add(SO301000.Actions.Save);
    context.SO301000Submit(cmds.ToArray());
}
catch (Exception ex)
{
    throw ex;
}
试试看{
apitest.Screen上下文=新建apitest.Screen();
context.CookieContainer=new System.Net.CookieContainer();
context.Url=”http://localhost/Acumatica52v1865/Soap/APITEST.asmx";
LoginResult lresult=context.Login(“admin”,“123”);
var SO301000=context.SO301000GetSchema();
SO301000Clear();
var命令=新列表
{
新值{LinkedCommand=SO301000.OrderSummary.OrderType,Value=“SO”},
新值{LinkedCommand=SO301000.OrderSummary.OrderNbr,Value=“000179”},
SO301000.DocumentDetails.ServiceCommands.RowNumber,
SO301000.DocumentDetails.OrderType,
SO301000.DocumentDetails.OrderNbr,
SO301000.DocumentDetails.LineNbr,
SO301000.DocumentDetails.InventoryID,
SO301000.DocumentDetails.Quantity,
};
var content=context.SO301000Submit(commands.ToArray());
List cmds=新列表();
Add(新值{LinkedCommand=SO301000.OrderSummary.OrderType,Value=“SO”});
Add(新值{LinkedCommand=SO301000.OrderSummary.OrderNbr,Value=“000179”});
//删除所有行,
foreach(内容中的var项)
{
cmds.AddRange(新列表
{
SO301000.DocumentDetails.ServiceCommands.DeleteRow
});
}
添加(SO301000.DocumentDetails.ServiceCommands.NewRow);
Add(新值{Value=“301CMPST01”,LinkedCommand=SO301000.DocumentDetails.InventoryID,Commit=true});
Add(新值{Value=“2”,LinkedCommand=SO301000.DocumentDetails.Quantity,Commit=true});
Add(新值{Value=“110”,LinkedCommand=SO301000.DocumentDetails.UnitPrice});
添加(SO301000.Actions.Save);
context.SO301000Submit(cmds.ToArray());
}
捕获(例外情况除外)
{
掷骰子;
}

你试过什么吗?谢谢加文,就是这样做的。有趣的是我们在同一家公司工作。英雄联盟