09_T100新增单头与单身栏位
1、如果”营运据点“不是主键,游标锁表刷新单头不会自动添加”营运据点“条件,手动添加条件
2、新增栏位
1)r.t 添加单头表的“总金额”字段(新建表最好预留1-10个备用字段,这样就不用新增字段,直接修改即可)
2)r.t 添加单身表的“单价”字段(新建表最好预留1-10个备用字段,这样就不用新增字段,直接修改即可)
3)先T100设计器更新基础资料,再增加单头的“总金额”
3)增加单身的“总金额”(ctrl+c/v复制数量或数量右键Insert After),添加完字段再上传规格
3、修改程序
1)检查SQL填充是否自动生成,无生成则手动添加
2)修改函数返回单价
################################################################################
# Descriptions...: 出货单带值
# Memo...........:
# Usage..........: CALL s_aooi150_ins (传入参数)
# RETURNING 回传参数
# Input parameter: 传入参数变量1 传入参数变量说明1
# : 传入参数变量2 传入参数变量说明2
# Return code....: 回传参数变量1 回传参数变量说明1
# : 回传参数变量2 回传参数变量说明2
# Date & Author..: 日期 By 作者
# Modify.........:
################################################################################
PRIVATE FUNCTION coot801_itsxuc001_desc()
--当前行资料中,出货单+项次同时不为空,需带出该出货单+项次对应出货明细的产品编号、单位、数量、金额;
IF NOT cl_null(g_itsxuc_d[l_ac].itsxuc001) AND NOT cl_null(g_itsxuc_d[l_ac].itsxuc002) THEN
SELECT xmdl008,xmdl017,xmdl018,xmdl027
,xmdl024 --2022-5-25 stc66@qq.com 添加单价
INTO g_itsxuc_d[l_ac].itsxuc003,g_itsxuc_d[l_ac].itsxuc004,g_itsxuc_d[l_ac].itsxuc005,g_itsxuc_d[l_ac].itsxuc006
,g_itsxuc_d[l_ac].itsxuc010 --2022-5-25 stc66@qq.com 添加对应栏位
FROM xmdl_t
WHERE xmdlent=g_enterprise AND xmdldocno=g_itsxuc_d[l_ac].itsxuc001 AND xmdlseq=g_itsxuc_d[l_ac].itsxuc002
--带出品名规格
CALL s_desc_get_item_desc(g_itsxuc_d[l_ac].itsxuc003) RETURNING g_itsxuc_d[l_ac].itsxuc003_desc,g_itsxuc_d[l_ac].itsxuc003_desc_desc
--带出单位说明
CALL s_desc_get_unit_desc(g_itsxuc_d[l_ac].itsxuc004) RETURNING g_itsxuc_d[l_ac].itsxuc004_desc
DISPLAY BY NAME g_itsxuc_d[l_ac].itsxuc003,g_itsxuc_d[l_ac].itsxuc004,g_itsxuc_d[l_ac].itsxuc005,g_itsxuc_d[l_ac].itsxuc006,
g_itsxuc_d[l_ac].itsxuc003_desc,g_itsxuc_d[l_ac].itsxuc003_desc_desc,g_itsxuc_d[l_ac].itsxuc004_desc
END IF
END FUNCTION
3)修改单价重新计算金额
--(g_itsxuc_d_o为备份数据)修改时需要重新计算单身金额,金额=数量*单价;重算得到的金额,需根据币种的设置进行小数位数截取-------------------------------
IF g_itsxuc_d[l_ac].itsxuc010 <> g_itsxuc_d_o.itsxuc010 OR cl_null(g_itsxuc_d_o.itsxuc010) THEN
LET g_itsxuc_d[l_ac].itsxuc006 = g_itsxuc_d[l_ac].itsxuc005 * g_itsxuc_d[l_ac].itsxuc010
CALL s_curr_round(g_site,g_itsmuc_m.itsmuc002,g_itsxuc_d[l_ac].itsxuc006,'2') RETURNING g_itsxuc_d[l_ac].itsxuc006
DISPLAY BY NAME g_itsxuc_d[l_ac].itsxuc010,g_itsxuc_d[l_ac].itsxuc006
END IF
--end 202205025 stc66@qq.com-----------------------------------------------------------------------------------------
4)修改数量重新计算金额
--修改时需要重新计算单身金额,金额=数量*单价;重算得到的金额,需根据币种的设置进行小数位数截取-------------------------------
IF g_itsxuc_d[l_ac].itsxuc005 <> g_itsxuc_d_o.itsxuc005 OR cl_null(g_itsxuc_d_o.itsxuc005) THEN
LET g_itsxuc_d[l_ac].itsxuc006 = g_itsxuc_d[l_ac].itsxuc005 * g_itsxuc_d[l_ac].itsxuc010
CALL s_curr_round(g_site,g_itsmuc_m.itsmuc002,g_itsxuc_d[l_ac].itsxuc006,'2') RETURNING g_itsxuc_d[l_ac].itsxuc006
DISPLAY BY NAME g_itsxuc_d[l_ac].itsxuc005,g_itsxuc_d[l_ac].itsxuc006
END IF
--end 202205025 stc66@qq.com-----------------------------------------------------------------------------------------
4)修改金额不可修改2种方法:1、set_entry_b和 set_no_entry_b设置;2、通过规格属性设置
5)离开单身(after input)后修改汇总金额,并更新数据库汇总金额
--2022-5-25 stc66@qq.com 离开单身后更新汇总金额----------------------
SELECT SUM(itsxuc006) INTO g_itsmuc_m.itsmuc007
FROM itsxuc_t
WHERE itsxucent=g_enterprise AND itsxucsite=g_site
AND itsxucdocno=g_itsmuc_m.itsmucdocno
IF cl_null(g_itsmuc_m.itsmuc007) THEN LET g_itsmuc_m.itsmuc007 = 0 END IF
DISPLAY BY NAME g_itsmuc_m.itsmuc007
UPDATE itsmuc_t SET itsmuc007=g_itsmuc_m.itsmuc007
WHERE itsmucent=g_enterprise AND itsmucdocno=g_itsmuc_m.itsmucdocno
--------------------------------------------------------------------
4、添加完栏位需要重新排序TabIndex以适应TAB键顺序正确
