NetSuite Advanced PDF中查询Matrix子项对应父项的方法问询
NetSuite Advanced PDF 矩阵子项查询父项实现方案
有可直接落地的实现方案,常用的两种场景适配方案如下:
方案1:直接在PDF模板内通过Freemarker语法获取(无需修改数据源)
矩阵子项自带标准parent关联字段存储对应父项信息,不需要额外调整打印数据源,直接在模板遍历行项目时读取即可,示例代码如下:
<#list record.item as line> <#-- 处理行项目为空的情况 --> <#if line.item?has_content> 子项编码:${line.item.itemid} <#-- 校验是否为矩阵子项、存在父项关联 --> <#if line.item.parent?has_content> 对应父项编码:${line.item.parent.itemid} 父项显示名称:${line.item.parent.displayname} <#-- 按需读取父项其他字段即可,比如销售描述、分类等 --> </#if> </#if> </#list>
注意:使用该方案需要确认当前打印角色的物品权限已开启矩阵父子项查看权限,同时模板的字段访问配置未屏蔽item的关联字段
方案2:预处理数据源写入自定义字段(适合复杂逻辑场景)
如果需要对父项做额外计算、或者存在权限限制无法直接读取关联字段,可以提前把父项信息预写到行项目自定义字段中,步骤如下:
- 给对应事务(销售订单/发票等)的行项目新增自定义字段,例如
custcol_matrix_parent,字段类型关联物品 - 通过用户事件脚本、工作流或者打印关联的保存搜索新增结果字段,提前把矩阵子项的parent值写入该自定义字段
- PDF模板内直接读取
${line.custcol_matrix_parent.itemid}即可获取父项信息,逻辑更稳定,不会受字段权限变动影响
内容的提问来源于stack exchange,提问作者Athul Krishna
相关产品推荐
相关产品推荐

