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键顺序正确

 

posted @ 2022-05-25 16:56  滔天蟹  阅读(914)  评论(0)    收藏  举报