在SuiteScript中以下三者都和 Sourcing 有关,那到底什么是 Sourcing?
- record.submitFields()函数中的 enableSourcing 参数
- Client Script 中的 postSourcing()函数
- Record.setCurrentSublistValue()函数的 forceSyncSourcing 参数
假设现在有 A、B 两个字段,它们是 List/Record 或 Multiple Select 类型,且 B 字段的列表值根据 A 字段变化而变化,那么这种情况就是 Sourcing。简而言之,就是两字段存在依赖关系。
把 record.submitFields()函数的 enableSourcing 参数设置为 true,那么提交B字段值时会先根据依赖的A字段更新下拉列表值,然后再赋值。
Record.setCurrentSublistValue()函数的 forceSyncSourcing 参数是为了解决在某些浏览器中,某些 API 会在字段下拉列表值加载未完成的情况下被触发,进而导致错误结果这一情况。
- forceSyncSourcing 参数设置为 true,某字段的值为空,同步提供依赖字段信息。
- forceSyncSourcing 参数设置为 false,不同步提供依赖字段信息。
Client Script 中的 postSourcing()函数:假设 A 字段来源字段,B 是依赖 A 字段的字段。如果改变 A 字段值,那么先触发 Client Script 中的 fieldChange()方法,然后当 A 字段赋值完成后触发 postSourcing()方法。如果在 A 字段 fieldChange 期间获取 B 字段值,将返回 B 字段原值,如果在 postSourcing 中 B 字段值,将返回 B 字段新值