【发布时间】:2016-02-03 09:11:49
【问题描述】:
我快到了。我正在挂断将客户存款添加到客户退款中。这是我用来创建客户退款的代码。
var ifxCreateCustomerRefund = {
fromSalesOrder: function () {
var salesOrder = nlapiGetNewRecord();
var customerRefund = nlapiCreateRecord('customerrefund');
customerRefund.setFieldValue("customer", salesOrder.getFieldValue("entity"));
customerRefund.setFieldValue("paymentmethod", salesOrder.getFieldValue("custbody_ifx_cc_payment_method"));
var account = ifxFindRecord.find("account", "number", "1099");
customerRefund.setFieldValue("account", account.id);
nlapiLogExecution("debug", "today", nlapiDateToString(nlapiStringToDate(this.today())));
customerRefund.setFieldValue("trandate", nlapiDateToString(nlapiStringToDate(this.today())));
nlapiLogExecution("debug", "order #", salesOrder.getFieldValue("tranid"));
nlapiLogExecution("debug", "deposittransaction", JSON.stringify(salesOrder.getFieldValue("deposittransaction")));
var deposits = nlapiSearchRecord("customerdeposit", null, new nlobjSearchFilter("createdfrom", null, "is", salesOrder.id), null);
nlapiLogExecution("debug", "customer deposits", JSON.stringify(deposits));
customerRefund.insertLineItem("deposit", 1);
customerRefund.setLineItemValue("deposit", "doc", 1, deposits[0].id);
customerRefund.setLineItemValue("deposit", "apply", 1, true);
nlapiSubmitRecord(customerRefund);
},
today: function () {
var dt = new Date();
var str = (dt.getMonth() + 1) + "/" + dt.getDay() + "/" + dt.getFullYear();
return nlapiDateToString(nlapiStringToDate(str));
}
};
它给了我这个错误:
您尝试了无效的子列表或订单项操作。你是 要么尝试访问不存在的行上的字段,要么您正在 尝试在静态子列表中添加或删除行。
您能帮我将与销售订单相关的客户押金用于客户退款吗?
【问题讨论】:
标签: netsuite