禁止在销售订单上添加/删除项目
Disable adding/deleting items on Sales Order
我浏览了很多Netsuite的文档,并在stackoverflow上进行了搜索,但目前没有找到答案。
我基本上想锁定(禁止最终用户更改)销售订单上的某些字段,这些字段在满足某些条件后会影响利润。我已经能够在项目级别锁定我想要的字段,但我意识到他们仍然可以添加/复制/删除项目,这也会影响边距。
我不想锁定整个项目子列表-我们希望他们能够编辑次要内容,但实际项目无法添加/复制/删除。
你知道我该怎么做吗?基本上以某种方式删除添加/复制/删除按钮?
编辑:由于删除了我的Javascript标记,我将解释它的用途。这个删除,因为在行级别,我知道需要使用NetSuite的API在SuiteScript-Javascript中完成。值得注意的是,这是我试图使用的语言。
代码:为了解释我到目前为止所做的工作,下面是一些伪代码:
function pageInit(){
if(currDate >= dLockDate && type == 'edit'){
//lock SO Date (header level)
nlapiDisableField('trandate', true);
}
}
在线路I中nit://locks在行项目级的一些字段
function lineInit(){
if(type == 'item'){
//list of items to disable
var a_itemDisFields = ['rate', 'quantity','porate','amount', 'item'];
for(var i = 0; i < a_itemDisFields.length; i++){
nlapiDisableLineItemField('item',a_itemDisFields[i] , true);
}
}
}
类似于上面两个函数,在我禁用字段的地方,我想禁用添加行项目的功能。我不想锁定整个记录(我知道我可以从工作流中锁定),但我想阻止用户添加/复制/删除项目子列表中的项目。
您可以在客户端脚本中使用validateLine
事件来防止用户在满足某些条件时添加行。您使用的函数只需要返回一个布尔值:如果行添加可以继续,则返回true
;如果不应该继续,则需要返回false
。
类似地,当满足某些条件时,可以使用validateDelete
事件来防止删除线路。
最后,也遵循类似的模式,当满足某些条件时,可以使用validateField
事件来防止用户修改字段值。这并不是完全禁用字段,但会阻止他们更改值。
将这些事件处理程序函数添加到客户端脚本中应该可以防止所需的更改,尽管它实际上并没有禁用任何字段。
您可以使用jQuery禁用添加/复制/删除按钮和某些字段,但我怀疑NetSuite是否会认为这是一种"受支持"的方法。
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何从 HTML 查询中删除项目
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 根据Select值添加/删除表行
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 添加/删除类淡入淡出不起作用
- 如何在NativeScript中从列表中删除项目时设置动画
- 如何使用javascript(非罐装html)初始化/添加/删除Fuel UX SelectList中的项目
- 如果源 json 已更新(添加或删除项目),则动态更新 D3 旭日
- 动态添加和删除项目以选择 jquery
- 使用角度从ng重复,简单的购物车实现中添加和删除项目
- 从选择框中删除项目或向选择框添加项目
- 节点.js / 猫鼬 - 从子集合中添加、更新和删除项目
- 从列表中添加/删除项目并更新总数
- 选择/取消选择单元格时,添加/删除数组中的项目
- javascript—添加和删除项目
- 如何使用Knockout JS从列表中添加和删除项目
- 禁止在销售订单上添加/删除项目
- 添加/删除<李>点击按钮时要列出的项目-推特引导
- 需要帮助从列表中添加和删除项目与jQuery