K3单据模板Faction字段说明文档
- 格式:docx
- 大小:22.17 KB
- 文档页数:4
K3单据模板Faction字段说明文档
“.”:取基础资料的附属属性值。
例:FrelationID为“FitemID”,Faction为“.,Fname”,表示由物料代码带出物料名称。
“.A”:取基础资料附带的其他基础资料属性。
例:FrelationID为FitemID,Faction为“.A,FunitID,t_MeasureUnit”,表示由物料代码带出计量单位的内码、名称、代码。
“V>=K”:表示某分录控件的值应大于或等于某表头控件的值。
例:表头模版ICTemplate中FrelationID为“FDate”,Faction为“V>=K,Fdate”,表示分录里的日期应大于等于表头的日期。
“=”:处理是否允许录入批次。
例:FrelationID为“FitemID”,Faction为“=,Ftrack,80”,表示物料计价方法为分批认定时(Ftrack=80),锁定控件不让录入,否则允许录入。
“<=”:表示当前控件的值应小于等于某值。
例:FrelationID为“FDescount”,Faction为“<=,100”,表示当前格的值应小于等于100。
“!”:取分录某几列的值,从左到右依次进行四则运算。运算式中不能包含常
量。
例:FrelationID为“FAuxQty,FAuxPrice,FQty”,Faction为“!,FAuxQty,*,FAuxPrice”,表示当数量、单价、基本单位数量任一个发生改变时,计算数量x单价的值,填入当前格(金额)。
注:“!”完全可被“!1”取代。
“!1”、“()”:取分录某几列的值,从左到右依次进行四则运算。运算式中可
包含常量。
例:FrelationID为“FAuxQty,FAuxPrice,FQty”,Faction为“!,FAuxQty,*,FauxPrice,+,0”,表示当数量、单价、基本单位数量任一个发生改变时,计算数量x单价+0的值,填入当前格(金额)。
注:“()”最多只能定义三项之间的运算。主要是用于自定义单据中。
而“!1”则不受限制。可考虑将两者统一。
“!2”:特殊计算,由折扣率或折扣额之一计算金额(折扣率或折扣额中某一
列必不可见)。
例:Faction 为“!2,FAmount,*,FTaxRate,/,100;!2,FAuxQty,*,FUniDiscount”,表示当使用折扣率时,计算金额x 折扣率/100的值;当使用折扣额时,计算数量x单位折扣额的值。
“!3”:前一项与后几项的运算结果进行运算。
例:Faction 为“!3,FAuxPrice,*,100,+,FTaxRate,/,100”,
表示计算单价x(100+税率/100)的值。
注:任何“!”、“!1”式子都可改装为“!3”的式子,因此,可考虑用“!3”替换“!”、“!1”。
“!4”前一项与后几项的运算结果进行运算,但数据是取界面上显示的数。
注:因为VaSpread的特殊性,界面上看见的数与实际表格里面的数可能有尾差,从而有可能导致计算上的误差,例如在发票上金额与税额的和不等于价税合计。故引入“!4”解决该问题。
“&”:取基础资料附带的其他基础资料属性。
例:FrelationID为“FcustID”,Faction为“&,FSetID,FSetName,FSetNumber”,表示由供应商带出结算方式的内码、名称、代码。
注:可考虑与“.A”合并。
“~”:计划价调价单据中,得到物料的记价方法为计划价调价的当前库存数。
“*”:处理其他入库单单据头只能录供应商和部门中的一种,其他出库单单据
头只能录客户和部门中的一种。
“A”:在录入盘赢盘亏单时自动带出某种物料在某个仓库中的帐存数量。
“A*”:在录入盘赢盘亏单时仓库改变时自动带出录入的所有物料在该仓库中
的帐存数量。
“A1”:当数量改变时,相应的改变基本单位数量。
“A2”:当基本单位数量改变时,相应的改变数量。
一、概述
介绍单据Action实现的方式以及各种Action的说明。
二、关键词
单据、模板。
三、分类
四、功能标准定义
一、Action的实现方式
与Action的应用相关的字段FCtlIndex、FRelationID
由FCtlIndex定义了Action的执行顺序, 通过访问FRelationID确定需要执行Action的字段,然后调用DoAction函数执行相关字段的Action。
对于一些需要关联计算的字段,大致有两种情况:一、如供应商改变,要改变携带的单价,而单价的改变又要影响金额。二、如单价改变影响金额,而金额的改变又要影响税额。对于第一种情况,第一项(供应商)和第三项(金额)没有必然的联系,只有在携带单价后,再次调用DoActions,进行计算。对于第二种情况,可以使用变通的方法,如:将税额的计算公式改成由金额的计算公式所涉及到的字段来计算,而不是直接使用金额进行计算。
关于rsItem:rsItem属性是在对当前触发字段进行校验时(即GetData中)生成的临时属性记录集,然后在随后的DoAction中使用,并在DoActions中(GetData结束前)清空。