Netsuite脚本-更新自定义可用数量字段//位置=仓库
Netsuite Script - Update Custom quantity available field // location = warehouse
我正在尝试创建一个脚本,以便它可以用"仓库"位置(我们有多个位置)的可用数量更新自定义字段。首先,我试图在自定义字段中设置值,但不起作用。代码:
{
var stdField = 'custitem_annaslinenssku'; // Custom field for quantity
var qtyAvail = 0;
qtyAvail = rec.getValue('locationquantityavailable');
}
function Qtyupdate()
{
if(location == 1)
nlapiSetFieldValue(stdField,qtyAvail);
return true;
}
然后我想添加一个逻辑,比如"如果数量小于12,那么脚本应该使这些项目的数量为0。
我也想增加套件/包装项目的可用数量,但完全不知道。
您可能还想分享如何使用这些信息。看起来您可能正在尝试建立库存储备。您最好创建一个储备位置并将库存转移到那里。然后,您可以将您的12件物品放入保留位置,并使其不可用于网站。
如果这不是你想要完成的,你可能想看看Netsuite的库存管理字段。
然而,为了回答您的问题,您通常无法从项目记录中获取库存位置字段,因此在计划脚本中,您将执行以下操作。如果您是从用户脚本运行此脚本,请注意治理问题:
var items = nlapiSearchRecord('inventoryitem', null,
[
new nlobjSearchFilter('inventorylocation', null, 'is', 1), // your target inventory location internal id.
new nlobjSearchFilter('isinactive', null, 'is', 'F'),
new nlobjSearchFilter('locationavailable', null, 'lessthan', 13),
new nlobjSearchFilter('custitem_my_custom_field', null, 'greaterthan', 0)
],[
new nlobjSearchColumn('locationavailable'),
new nlobjSearchColumn('custitem_my_custom_field')
]);
if(!items) return;
items.forEach(function(it){
var customLevel = parseInt(it.getValue('locationavailable'), 10)||0;
customLevel = Math.min(customLevel - 12, 0);
if(customLevel == parseInt(it.getValue('custitem_my_custom_field'), 10)) return;
nlapiSubmitField(it.getRecordType(), it.getId(), 'custitem_my_custom_field', customLevel);
});
相关文章:
- 检索要提交的字段的标记位置
- 当用户单击按钮(在光标位置)时,在输入字段中添加一个文本字符串
- HTML5要求隐藏文件字段-反馈位置
- Netsuite脚本-更新自定义可用数量字段//位置=仓库
- 如何检测用户何时在Google Places字段中输入无效位置
- SmartyStreets:使用条件字段调整表单中已验证勾号的位置
- 更改文件字段内显示的路径的位置
- 隐藏的“纬度”和“lng”字段没有被删除,所以我的脚本仍在从不正确的地理位置中搜索纬度和液化天然气结果
- 使用 PHP 或 JavaScript 解析 pdf 表单以获取字段位置
- 替换输入字段的文本会移动其位置
- 使用地理位置坐标填充字段
- 复制字段元素和重复项的位置
- 返回隐藏字段的标记位置
- 如何触发位置绝对验证引擎功能来验证按钮单击上的字段
- 更新PHP 字段与GMaps标记位置
- 在javascript中更改字段的位置或顺序
- 控制输入字段中开始输入的位置
- HTML输入字段,记住光标的位置
- 单个输入字段使用四个位置
- MongooseJS接近不工作与Keystone位置字段