以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133096) |
||||
-- 作者:采菊东篱下 -- 发布时间:2019/4/6 16:35:00 -- 请教 我跟着论坛上的视频教程学了一个月,建了一个账套,现我想实现业务类型为采购收货、采购退货、销售出仓、销售退货时数据列表中的单位名称才引用货品资料中的供应商,我在表属性中的DataColChanged事件中已经编了代码,但代码有问题,无法引用,麻烦帮我看一下,我打算三月后买你的企业高级开发版和书,现在在努力学习。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/4/6 17:23:00 -- Select Case e.DataCol.name Case "产品名称", "规格型号" If e.DataRow.IsNull("产品名称") Then e.DataRow("物料编码") = Nothing e.DataRow("主计量单位") = Nothing e.DataRow("辅助计量单位") = Nothing e.DataRow("折算系数") = Nothing e.DataRow("受托加工前产品名称") = Nothing e.DataRow("工资表上的产品名称") = Nothing e.DataRow("供应商或客户叫的产品名称") = Nothing e.DataRow("客货号") = Nothing e.DataRow("货品属性") = Nothing e.DataRow("物料分类") = Nothing e.DataRow("供应商或客户") = Nothing e.DataRow("供应商或客户简称") = Nothing e.DataRow("修改人姓名") = Nothing Else Dim fdr As DataRow = DataTables("货品资料").find("产品名称 = \'" & e.DataRow("产品名称").replace("\'", "\'\'") & "\' and 规格型号 " & IIF(e.DataRow.IsNull("规格型号")," Is Null"," =\'" & e.DataRow("规格型号") & "\'")) If fdr IsNot Nothing Then e.DataRow("物料编码") = fdr("物料编码") e.DataRow("主计量单位") = fdr("主计量单位") e.DataRow("辅助计量单位") = fdr("辅助计量单位") e.DataRow("折算系数") = fdr("折算系数") e.DataRow("受托加工前产品名称") = fdr("受托加工前产品名称") e.DataRow("工资表上的产品名称") = fdr("工资表上的产品名称") e.DataRow("客货号") = fdr("客货号") e.DataRow("货品属性") = fdr("货品属性") e.DataRow("物料分类") = fdr("物料分类") If e.DataRow("业务类型") = "采购收货" OrElse e.DataRow("业务类型") = "采购退货" OrElse e.DataRow("业务类型") = "销售出仓" OrElse e.DataRow("业务类型") = "销售退货" Then e.DataRow("供应商或客户叫的产品名称") = fdr("供应商或客户叫的产品名称") e.DataRow("单位名称") = fdr("供应商") End If End If End If Case "业务类型" If e.NewValue = "采购收货" OrElse e.NewValue = "采购退货" OrElse e.NewValue = "销售出仓" OrElse e.NewValue = "销售退货" Then Dim fdr As DataRow = DataTables("货品资料").find("产品名称 = \'" & e.DataRow("产品名称").replace("\'", "\'\'") & "\' and 规格型号 " & IIF(e.DataRow.IsNull("规格型号")," Is Null"," =\'" & e.DataRow("规格型号") & "\'")) If fdr IsNot Nothing Then e.DataRow("供应商或客户叫的产品名称") = fdr("供应商或客户叫的产品名称") e.DataRow("单位名称") = fdr("供应商") End If Else e.DataRow("供应商或客户叫的产品名称") = Nothing e.DataRow("单位名称") = Nothing End If End Select
|
||||
-- 作者:采菊东篱下 -- 发布时间:2019/4/6 17:43:00 -- 谢谢指教,你这段代码当业务类型为生产领用,单位名称依然出现,生产领用不涉往来,应不显单位名称。 |
||||
-- 作者:有点蓝 -- 发布时间:2019/4/6 17:47:00 -- 我测试没有问题。请说明测试步骤 |
||||
-- 作者:采菊东篱下 -- 发布时间:2019/4/6 17:54:00 -- 你的代码没问题,之前业务类型为生产领用,已显的单位名称怎么不消除? |
||||
-- 作者:有点蓝 -- 发布时间:2019/4/6 17:58:00 -- 重置"业务类型"列 |