有人可以帮助我使用以下代码。我有来自custitem10的值的问题这是项目上存储的整数,但是我的公式似乎没有提取数字。我已经通过输入随机数来测试这个,代码似乎工作得很好,有什么建议吗?
function fieldChanged(type, name)
{
if (name == 'quantity')
{
if (nlapiGetCurrentLineItemValue('item','quantity') >= nlapiGetCurrentLineItemValue('item','custitem10'))
{
alert("Order is above the minimum stock held. Please contact purchasing once you have completed the invoice.");
return true;
}
}
if (name == 'custbody533')
{
if (lodalert == "T")
{
alert("Letter of demand has been sent to this customer\n\nCustomer must pay for goods upfront!");
}
}
return true;
}
答案 0 :(得分:0)
您应该在商品记录中获得'custitem'值。使用nlapiLookupField API检索记录的字段值。
if (name == 'quantity')
{
var itemId = nlapiGetCurrentLineItemValue('item','itemId');
var itemCustomVal = nlapiLookupField('item', itemId, 'custitem10');
if (nlapiGetCurrentLineItemValue('item','quantity') >= itemCustomVal)
{
alert("Order is above the minimum stock held. Please contact purchasing once you have completed the invoice.");
return true;
}
}
答案 1 :(得分:0)
而不是为每个订单项使用nlapiLookupField。我建议你在SO上创建一个自定义列字段来源项目自定义字段。
nlapiLookupField消耗使用量,因此如果您的SO包含大量订单项,则可能会遇到客户端脚本的使用限制。
答案 2 :(得分:0)
在比较之前执行parseInt或paraeFloat。你在那里比较2个字符串...
使用最低库存的电子邮件提醒进行预定报告也不会更好吗?
答案 3 :(得分:0)
感谢所有帮助提出了下面的代码似乎正在起作用。它有点像你所有答案的frankenstein,我确信有一个更好的方法来编码,但我肯定不是开发人员,这对我有用。再次感谢您的帮助!
function fieldChanged(type, name)
{
var lodalert = nlapiGetFieldValue('custbody533');
var paymentby = nlapiGetFieldText('custbody14');
if (name == 'quantity')
{
var itemId = nlapiGetCurrentLineItemValue('item', 'item');
var itemMinStock = nlapiLookupField("item", itemId, "custitem10");
var itemq = parseInt(nlapiGetCurrentLineItemValue('item', 'quantity'));
if (itemq < 1)
{
alert("Quantity is less than 1. You might want to use the 'Broken Price' Price level");
return true;
}
if (itemq >= itemMinStock)
{
alert("Order is above the minimum stock held. Please contact purchasing once you have completed the invoice.");
return true;
}
}
if (name == 'custbody533')
{
if (lodalert == "T")
{
alert("Letter of demand has been sent to this customer\n\nCustomer must pay for goods upfront!");
}
}
return true;
}