私は、dll、Microsoft.Dynamics.AX.ManagedInterop を使用して AX 2012 環境で動作する C# プロジェクトを使用しています。コード内から、特定の条件に基づいて SalesQuotationLine を見つけて削除する必要があります。TTSBEGIN/TTSCOMMI
これまでのところ、必要なレコードを取得できますが、 T ステートメントを使用しておらず、 も使用していないため、削除できません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 を使用していないため、使用できないことがわかりました。 (ある dll をいつ他の dll よりも優先して使用する必要があるかはわかりません)。