You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法动态获取PO ID实现PO子列表数据同步至入库单子列表求助

动态适配任意PO ID的实现方案

核心思路

入库单与采购订单(PO)属于关联关系,通过当前入库单的来源PO标准字段createdfrom,可以动态获取到关联的PO ID,用这个动态ID加载对应PO记录,就能实现适配任意PO的逻辑。

修改后的完整代码

function pageInit(scriptContext) {
    // 1. 从当前入库单获取关联的PO ID
    var poId = scriptContext.currentRecord.getValue({
        fieldId: 'createdfrom'
    });

    // 无关联PO时直接终止执行
    if (!poId) {
        return;
    }

    try {
        // 2. 动态加载关联的PO记录
        var purchaseOrder = record.load({
            type: record.Type.PURCHASE_ORDER,
            id: poId,
            isDynamic: true
        });

        var poLineCount = purchaseOrder.getLineCount({
            sublistId: 'item'
        });

        if (poLineCount > 0) {
            for (var i = 0; i < poLineCount; i++) {
                scriptContext.currentRecord.selectNewLine({
                    sublistId: 'items'
                });

                // 从PO的item子列表读取目标字段值
                var poFieldValue = purchaseOrder.getSublistValue({
                    sublistId: 'item',
                    fieldId: 'custcitem_po',
                    line: i
                });

                scriptContext.currentRecord.setCurrentSublistValue({
                    sublistId: 'items',
                    fieldId: 'custrecord_sample',
                    value: poFieldValue,
                    ignoreFieldChange: true
                });

                scriptContext.currentRecord.commitLine({
                    sublistId: 'items'
                });
            }
        }
    } catch (e) {
        // 捕获加载PO失败的异常,避免脚本崩溃
        log.error('PO加载失败', e.message);
    }
}

关键改动说明

  • 动态获取PO ID:用scriptContext.currentRecord.getValue('createdfrom')替代写死的'1234',自动适配当前入库单关联的PO。
  • 增加前置校验:判断poId是否存在,避免无关联PO时执行后续代码引发错误。
  • 异常捕获:用try-catch包裹PO加载逻辑,处理PO不存在、权限不足等异常场景,提升脚本稳定性。
  • 变量拆分优化:将PO子列表字段值单独提取为poFieldValue,让代码更易读和维护。

注意事项

  • 如果你的入库单使用自定义字段关联PO,只需将fieldId: 'createdfrom'替换为对应的自定义字段ID即可。
  • 确保脚本拥有PO记录的读取权限,否则会出现加载失败的异常。

内容的提问来源于stack exchange,提问作者aly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 12:24:59