Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法确定当前Netsuite记录是否是suitescript中另一条记录的子记录?_Netsuite_Suitescript - Fatal编程技术网

有没有办法确定当前Netsuite记录是否是suitescript中另一条记录的子记录?

有没有办法确定当前Netsuite记录是否是suitescript中另一条记录的子记录?,netsuite,suitescript,Netsuite,Suitescript,问题: 我正在为库存详细信息记录(id:inventorydetail)编写客户端脚本(pageInit条目),但我只需要在从物料接收记录(而不是物料完成或任何其他记录)加载此记录(inventorydetail)时运行此脚本 是否有方法在脚本执行期间获取“超级”记录类型,或者我可以在Ntesuite UI中指定此逻辑(仅在物料接收上下文中针对库存详细信息运行) 注意: 在任何用户更改之前,脚本必须更改(或至少设置默认值)库存详细信息表单中的值,或者,理想情况下,它应该捕获用户更改并执行一些操作

问题:
我正在为库存详细信息记录(id:inventorydetail)编写客户端脚本(pageInit条目),但我只需要在从物料接收记录(而不是物料完成或任何其他记录)加载此记录(inventorydetail)时运行此脚本

是否有方法在脚本执行期间获取“超级”记录类型,或者我可以在Ntesuite UI中指定此逻辑(仅在物料接收上下文中针对库存详细信息运行)

注意:

在任何用户更改之前,脚本必须更改(或至少设置默认值)库存详细信息表单中的值,或者,理想情况下,它应该捕获用户更改并执行一些操作。最好是SuiteScript2.0。

我不确定NetSuite是否有API。我得检查一下。但如果没有NetSuite API,我们可以通过JavaScriptDOM实现它。您可以使用
window.parent.location.path
,从中可以获得打开子记录的记录的引用。

另一种解决方案是使用用户事件脚本

库存详细信息不被视为NetSuite上的记录,因此您不能对其应用用户事件脚本。它是一个子记录,您可以将其视为具有多个属性的字段

您可能必须将脚本作为用户事件脚本应用于项目接收记录。您的脚本必须在“加载前功能”用户事件中更新库存详细信息。这意味着默认值将填充到库存详细信息中,但在用户保存物料接收记录之前不会保存到数据库中

在SuiteScript 2中,获取ItemReceive上每行的库存明细子记录,并根据需要更改值:

var inventoryDetailRecord = itemReceipt.getSublistSubrecord({
      sublistId: 'item',
      fieldId: 'inventorydetail',
      line: i
    });

    inventoryDetailRecord.setSublistValue({
      sublistId: 'inventoryassignment',
      fieldId: 'issueinventorynumber',
      value: serialId,
      line: 0
    });

此解决方案的缺点是,即使未查看子记录,也会在子记录上填充数据-这可能不理想,具体取决于您要执行的操作。

您可以在附加到清单详细信息的脚本上使用SS 1.0命令,并参考父项(窗口):


您想在用户查看库存详细信息时设置这些默认值,还是仅在用户编辑详细信息时设置这些默认值?我想在用户编辑/创建事件期间设置默认值,NS API对我来说没有问题,但我想将此行为应用于库存详细信息,库存详细信息仅在ItemReceive内部创建/编辑。感谢回复,对我来说,这对于能够将客户端脚本中的父记录附加到inventorydetail记录是至关重要的(不确定您为什么说它受到限制,这显然是一个有效的案例)。您尝试过Purna的解决方案吗?他的答案可能就是你需要的答案。请参阅我上面的更正,“用户事件脚本”不能应用于子记录。为什么特别需要使用客户端脚本?我没有机会测试Purna的解决方案。我会尽快尝试,感觉这正是我需要的。理想情况下,我需要在客户端脚本中实现我的逻辑,因为它应该响应用户输入。用户事件脚本是我的任务的回退解决方案,试图避免这种情况。无论如何,谢谢你的回答。谢谢!我正在使用window.parent.location.pathname并检查父路径名是否包含“itemrcpt”。虽然我不喜欢在这里使用窗口功能。
parent.nlapiGetRecordType()