以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 求助,专用价格表的设计思路? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57520)
|
-- 作者:pz1256
-- 发布时间:2014/9/25 23:38:00
-- 求助,专用价格表的设计思路?
公司的产品对大部分客户来说都是通用价格的,但有的客户采用的是专用价格,如何设计这种表格?请前辈明示!
[此贴子已经被作者于2014-9-25 23:38:53编辑过]
|
-- 作者:mxm121
-- 发布时间:2014/9/26 1:07:00
--
手册里搜动态列表
可以根据客户名称来动态选择价格
[此贴子已经被作者于2014-9-26 1:08:34编辑过]
|
-- 作者:程兴刚
-- 发布时间:2014/9/26 1:16:00
--
文件发上来才会有人帮您构思,否者,全是没有的话!
|
-- 作者:有点甜
-- 发布时间:2014/9/26 9:04:00
--
参考 http://www.foxtable.com/help/topics/1459.htm
|
-- 作者:pz1256
-- 发布时间:2014/9/26 13:46:00
--
好吧,直接上例子。
欲实现“当打开订单录入窗口,选择了影楼名称及明细中的产品类型与产品规格后,该产品的制作单价调用的是价格表中对应影楼名称列的专用价。而不是通用制作单价” 谢谢!
|
-- 作者:有点甜
-- 发布时间:2014/9/26 14:32:00
--
Datacolchanged事件,加入如下代码
Select e.DataCol.Name Case "订单编号" If e.DataRow.IsNull("订单编号") Then e.DataRow("产品编号") = Nothing Else Dim lb As String = e.DataRow("订单编号") If e.DataRow("产品编号").StartsWith(lb) = False \'如果单据编号前缀不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(产品编号)","订单编号 = \'" & lb & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号 If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring( max.IndexOf ("-")+3,3) +1 )\'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("产品编号") = lb & Format(idx,"000") End If End If Case "产品类型", "产品规格" If e.DataRow.IsNull("产品类型") = False AndAlso e.DataRow.IsNull("产品规格") = False Then Dim fdr As DataRow = DataTables("价格表").Find("产品类型 = \'" & e.DataRow("产品类型") & "\' and 产品规格 = \'" & e.DataRow("产品规格") & "\'") If fdr IsNot Nothing Then Dim pdr As DataRow = e.DataRow.GetParentRow("订单汇总表") If pdr IsNot Nothing AndAlso pdr.IsNull("影楼名称") = False AndAlso DataTables("价格表").DataCols.Contains(pdr("影楼名称") & "专用价格") Then e.DataRow("制作单价") = fdr(pdr("影楼名称") & "专用价格") Else e.DataRow("制作单价") = fdr("制作单价") End If End If End If End Select
|
-- 作者:pz1256
-- 发布时间:2014/9/26 15:14:00
--
非常感谢!
|