0
如何將最新訂單產品添加到新創建的銷售訂單產品。 我從我的最後訂單中檢索了所有產品,但我不知道如何將它們添加到當前銷售/ salesOrderDetail。CRM 2013,從上次銷售訂單複製訂單產品
我需要在JavaScript中這樣做,我不能使用Csharp代碼。 函數retrieveproducts()運行良好,函數retrieveProductsCallBack(數據)必須在訂單上創建/複製檢索到的產品,但我不知道該怎麼做。歡迎任何建議和/或hulp。
//代碼示例
變種的SalesOrderID,的clientId;如果你改變
product.SalesOrderId = salesOrderID;
到
product.SalesOrderId = {Id: salesOrderID, LogicalName: "SalesOrder"};
因爲SalesOrderId
是一個實體引用
//this function is used to get products from last order
function RetrieveProducts() {
var odataQuery;
var oMyObject = window.dialogArguments;
clientId = oMyObject.customerid;
salesOrderID = oMyObject.salesorderid;
var entitySchemaName = "SalesOrder";
if (document.getElementById("checkID").checked == true) {
odataQuery = "?$top=1&$select=order_details/IsPriceOverridden,order_details/IsProductOverridden,order_details/ProductId,order_details/SalesOrderId,order_details/UoMId&$orderby=CreatedOn desc&$expand=order_details&$filter=CustomerId/Id eq guid'" + clientId + "'";
}
else {
odataQuery = "?$top=1&$select=order_details&$orderby=CreatedOn desc&$expand=order_details&$filter=CustomerId/Id eq guid'" + clientId + "'";
}
SDK.REST.retrieveMultipleRecords(entitySchemaName, odataQuery, retrievedProductsCallBack, function (error) { alert(error.message); }, function() { });
}
function retrievedProductsCallBack(data) {
for (var i = 0; i < data[0].order_details.results.length ; i++) {
var rec = data[0].order_details.results[i];
var product = rec.ProductId;
var product = {};
//Set ohter required attrbitues of products
product.SalesOrderId = salesOrderID;
product.ProductId = rec.ProductId;
product.Quantity = rec.Quantity;
//create quote product
SDK.REST.createRecord(product, "SalesOrderDetail", function() { }, function (error) { alert(error.message); }, function() { });
}
}
</script>