范例(axmt541,隶属axmt540):
1、价格清单(核价单)更改后,更新单身的出货明细单价;
2、单身出货明细 新增、修改后,根据所选的价格清单(核价单)更新单价;
3、单价更新成功后开窗提示。
(备注,核价单axmt420)
具体:
1、自定义函数1,此函数会return相关价格,主要是价格清单开窗、修改时调用,更新数据库相关单价的同时,获取相关单价的回传值显示到明细上:
PRIVATE FUNCTION axmt540_getPrice_xmdkud004(n_site,n_xmdldocno,n_xmdlseq,n_xmdkud004,n_xmdl008,n_xmdl018) #定义参数变数 DEFINE n_site LIKE xmdl_t.xmdlsite #据点 DEFINE n_xmdldocno LIKE xmdl_t.xmdldocno #出货单号 DEFINE n_xmdlseq LIKE xmdl_t.xmdlseq #出货项次 DEFINE n_xmdkud004 LIKE xmdu_t.xmdudocno #核价单号 DEFINE n_xmdl008 LIKE xmdl_t.xmdl008 #料件编号 DEFINE n_xmdl018 LIKE xmdl_t.xmdl018 #出货数量 #定义存储值变数 DEFINE n_xmdt006 LIKE xmdt_t.xmdt006 #核价单头——税别 DEFINE n_xmdt008 LIKE xmdt_t.xmdt008 #核价单头——单价含税否 DEFINE n_xmdu011 LIKE xmdu_t.xmdu011 #核价单身——单价(取出单价xmdl045) DEFINE n_xmdu012 LIKE xmdu_t.xmdu012 #核价单身——税率 DEFINE n_price LIKE xmdl_t.xmdl024 #新单价 DEFINE n_nprice LIKE xmdl_t.xmdl027 #未税金额 DEFINE n_sprice LIKE xmdl_t.xmdl028 #含税金额 DEFINE n_ns LIKE xmdl_t.xmdl029 #税额 #根据核价单号获取税别、单价含税否 SELECT xmdt006,xmdt008 INTO n_xmdt006,n_xmdt008 FROM xmdt_t WHERE xmdtent = g_enterprise AND xmdtsite = n_site AND xmdtdocno = n_xmdkud004 #根据核价单号、料件编号获取单价、税率 SELECT xmdu011,xmdu012 INTO n_xmdu011,n_xmdu012 FROM xmdu_t WHERE xmduent = g_enterprise AND xmdusite = n_site AND xmdudocno = n_xmdkud004 AND xmdu002 = n_xmdl008 #单价含税 IF n_xmdt008 THEN LET n_price = n_xmdu011 LET n_sprice = n_price * n_xmdl018 LET n_nprice = n_sprice / (1 + n_xmdu012 / 100) LET n_ns = n_sprice - n_nprice #单价不含税 ELSE LET n_price = n_xmdu011 * (1 + n_xmdu012 / 100) LET n_sprice = n_price * n_xmdl018 LET n_nprice = n_xmdu011 * n_xmdl018 LET n_ns = n_sprice - n_nprice END IF #根据出货单号、出货项次更新出货单身表的单价、税别、税率、未税金额、含税金额、税额、取出单价字段 UPDATE xmdl_t SET xmdl024 = n_price, xmdl025 = n_xm