【发布时间】:2012-06-20 02:18:45
【问题描述】:
我正在处理一个 C# 项目,该项目使用 dll Microsoft.Dynamics.AX.ManagedInterop 与 AX 2012 环境一起工作。在代码中,我需要根据特定条件找到一个 SalesQuotationLine 并将其删除。到目前为止,我可以获得我需要的记录,但我无法删除它,因为我没有使用TTSBEGIN/TTSCOMMIT 语句并且我没有使用FORUPDATE。这是我的代码:
DictTable dictTable = new DictTable(Global.tableName2Id("SalesQuotationLine"));
int quotationIdFieldId = (int)dictTable.Call("fieldName2Id", "QuotationId");
int bdcParentRecIdFieldId = (int)dictTable.Call("fieldName2Id", "BDCParentRecId");
var query = new Query();
var datasource = query.addDataSource(Global.tableName2Id("SalesQuotationLine"));
var queryRange1 = datasource.addRange(quotationIdFieldId);
queryRange1.value = "=" + line.QuotationId;
QueryRun queryRun = new QueryRun(query as object);
while (queryRun.next())
{
var result = queryRun.get(Global.tableName2Id("SalesQuotationLine"));
result.Delete();
}
我还查看了这里的代码http://msdn.microsoft.com/en-us/library/cc197113.aspx,但我发现我无法使用它,因为我正在使用的代码不使用 .NET Business Connector(我不确定何时应该在其他)。
【问题讨论】:
标签: c# dynamics-ax-2012