场景:用户在下推时选择不同的当前登录组织,携带情况不一样,这是因为基础资料在进行携带时会进行组织隔离携带,说具体的就是单据A下的基础资料A携带到单据B下的基础资料B,会判断基础资料A的使用组织跟基础资料B的使用组织是否相同,不相同就需要根据基础资料B的使用组织来取基础资料A在其对应下的值。
基础资料是否组织隔离携带条件:
1. 目标单据存在主组织,基础资料是多组织型(分配型,私有型),基础资料不支持分发(最近版本)
2. 满足条件1,如果来源字段没有控制组织,则需要隔离
3. 满足条件1,对应的目标字段没有控制组织或控制组织没有来源组织,则需要隔离
4. 满足条件1,对应的目标字段的控制组织不等于来源字段的控制组织,则需要隔离
注:这里的控制组织首先取使用组织,如果没有则取主组织
转换引擎组织隔离携带逻辑:
首先判断目标基础资料的控制组织有没有来源,没有则根据目标主组织进行隔离, 有则判断来源组织是否是其来源基础资料的控制组织,是则不需要隔离,不是则需根据来源组织要隔离。
转换引擎目标主组织:是指转换引擎持有的目标主业务组织,其值首先取传入参数的目标组织,没有传入则取当前登录组织。
下推选单页面传入组织逻辑:如果选单页面显示目标单据主组织字段供用户选择,则会把选择的主组织传给转换引擎;如果选单页面隐藏目标单据主组织字段,则会把0传给转换引擎,这明显是不合理的,应该传主组织字段所持有的值, 因为传0给转换引擎,那么转换引擎中的目标主组织就变成了当前登录组织(这个最近版本会改)。
实例1:
发货通知单在不同的当前登录组织下携带出货仓库到直接调拨单的调入仓库情况不一样
发货通知单能在当前登录组织为4SCMORA0311组织下携带出货仓库到直接调拨单的调入仓库:
在其他组织下无法携带下来:
经分析:直接调拨单中的调入仓库它的控制组织是调入库存组织,调入库存组织的来源是个自定义公式,按转换引擎看就是没有来源组织,并且下推选单页面传入的组织是0 ,从而调入仓库的来源字段出货仓库按当前登录组织进行隔离携带,而名叫“允负”的仓库只有在组织为4SCMORA0311的下才有值,故如果当前登录组织选择的是非"4SCMORA0311"就没有值。
推荐阅读