单据转换中“获取单据字段值”函数说明
1 业务背景
业务背景
客户A为大型贵金属冶炼企业,销售服务中以金额为确立依据进行立账及结算处理。
客户需求
客户期望暂估应收单通过BOTP关联生成财务应收单时,根据金额、物料重量自动计算销售单价。
痛点分析
如使用苍穹标准产品botp存在以下问题:
1、财务应收单上没有物料重量信息,无法直接通过计算公式计算;
2、如果在财务应收单上增加物料重量信息,则需要额外的二次开发工作解决历史数据问题。
2 解决方案
方案描述
经过分析财务应收单上的金额数据,是在暂估应收单生成财务应收单时,通过数量、实际单价及汇率自动计算得出。这种情况下,生成财务应收单时,自动生成销售单价,也只能通过金额数据和物料重量计算得出。对于目标单上字段之间的运算,常用的方式是通过配置单据转换业务规则实现。
关键步骤
生成财务应收单计算销售单价,操作步骤如下:
1、扩展出厂转换规则
【开发平台】-【单据转换开发】-【转换规则】-扩展“暂估应收下推财务应收”转换规则。
图(1)
2、创建业务规则。
图(2)
3、配置计算公式。
服务类型为:“计算定义公式的值并填写到指定列”。
公式设置为:销售单价=金额(本位币)/物料净重
图(3)
这里发现目标单字段列表中并没有物料净重字段,那么怎样获取物料的净重数值呢?
图(4)
我们可以通过函数来实现,使用通用函数中的“获取单据字段值(GetFieldValue)”函数,为方便理解,这里对此函数做一个说明:
botp转换规则,可以使用GetFieldValue函数,取任意单据上的字段值。
函数格式:
GetFieldValue(entityNumber, readProp, filterProp1, filterValue1)
返回值:Object
函数说明:
1)函数描述:
根据传入的取值条件,读取单据字段值
2)函数格式:
GetFieldValue(entityNumber, readProp, filterProp1, filterValue1)
3)函数参数:
entityNumber, 读取单据; readProp, 读取字段; filterProp1, 条件字段; filterValue1, 条件值;
示例:
公式:GetFieldValue(‘demo_bill1’, ‘id’, ‘billno’, ‘JD-001’):
公式解读:根据单据编号”JD-001”,找到单据demo_bill1,输出单据内码。
函数设置:
在本案例中,需要获取物料的净重值,可以这样理解:生成财务应收单时,物料信息是携带生成,根据当前行的物料id,获取其对应的净重值,函数参数设置如下:
读取单据:选择主数据下的“物料”业务对象(bd_material)
读取字段:选择物料上的“净重”字段
条件字段:选择物料id“单据头.内码(id)”
条件取值方式:这里是自动取值,需选择“取其他字段值”
条件值:选物料字段“物料编码(e_material)“
4、暂估财务应收单下推财务应收单,自动生成销售单价。
图(6)
图(7)
3 方案的可推广价值
单据转换标准产品提供通用函数,用户可按需配置,无需二次开发,使用更加灵活方便。
单据转换中“获取单据字段值”函数说明
本文2024-09-23 00:25:07发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139330.html