主控台 : KdMain : 操作员单据K3Bills : .Bill单据显示 : .frmBill中间层模版K3MBillsPack...中间层单据保存BillDataAcces...中间层KMCheckBill : CheckNow1: CallBill( )2: Show( )用户新增单据显示单据界面3: Show( )4: BuildBill( )创建单据头和体5: GetBillTemplatePackage( )读取模版数据6: 用户录入单据数据7: DoAction( )触发相关Action8: mnuFileSave_Click( )用户保存单据9: CheckMustInput( )数据检查10: SaveBillEx( )调中间层保存单据11: mnuViewCheck_Click( )用户审核单据12: CheckBill( )13: CheckBill( )调用中间层审...
? 模版
单据主要是在模版的基础上实现的。单据的模版有以下几张表:ICTransactionType,ICTemplate,ICTemplateEntry,ICSelBills,ICTableRelation。前三张表用于构造显示单据,后两张表用于选单。
一,单据构造模版:
1.ICTransactionType:该表反映了供需链所有单据的总体情况。
ICTransactionType FbrNo FID FROB Fname Ftype FtempalteID FvchTempalteID FheadTable FentryTable FcheckPro FformWidth FformHeight FfixCols
2.ICTemplate:该表反映了所有单据的表头的详细情况。
ICTemplate FID FctlIndex FtabIndex Fcaption Fctltype 单据模版ID 表头控件编号,连续且唯一 控件的Tab跳动次序 控件标题 控件类型 0文本,1日期,2查找,3数量 ,4 编号,5 选单 ,6 单据标题,7 单据分录,8 审核,9 制单,10 批号,11 金额,12 单价,13 税率,14 会计科目 ,15 生产订单状态,16 生产订单来源,17 要求缺省为空的日期,18 记账 ,20 汇率,21 含税价 30 自定义单据使用的字符串类型,31自定义单据使用的数字类型,32 自定义单据使用的日期类型,33自定义单据使用的整数类型 如为查找类型 则与表t_ItemClass(核算项目表)中的FItemClassID对应。或者为辅助资料的ID (t_submestype 中的FtypeID) 单据事务类型内部ID 红蓝字标记 :1表示该单据区分红 蓝字 ,0表示没有红蓝字之分 单据名称 单据类别 单据模版ID ICTemplate,ICTemplateEntry 表中的FID对应 (未用) 单据表头对应的数据库表名 单据表体对应的数据库表名 (未用) 单据录入时的缺省宽度 单据录入时的缺省高度 单据的固定列数目 (与
FlookUpCls FneedSave FvalueType FsaveValue FfieldName 是否需要保存到数据库中 值的类型 0 字符串,1 数字,2 日期,3 整数 保存值的类型 0 名称,1 内部ID,2 代码 该字段对应在数据库表中的字段。在同一个单据的模版中不能重复。 该单据头控件的位置 Fleft Ftop Fwidth Fheight Fenable 控件在各种状态下是否可录入:新增、修改、察看、审核、下达、单价金额修改。用一个六位的二进制数表示,可录入则对应位为1否则为0。常用值:0、32、48。 是否打印(暂未用) 字体类型 字体大小 如果该控件可以选择其它单据作为数据的输入来源,则该值对应为被选择单据的叙事簿ID (ICListTemplate表中的FID) 是否必须录入 过滤条件。一般用于选单或查找某类基础资料时过滤掉一些不符合选择条件的单据或基础资料。 表示哪一个字段的改变会导致当前控件值的 改变。它的值为对应字段的数据库字段名。 如有多个这样的字段可以用逗号隔开。 为前面Frelationid定义的字段的改变时该执行什么样的操作。 例如汇率这个字段,它的FrelationID为FcurrencyID ,Faction为 “.,FExchangeRate” 表示当改变币别时,把对应币别的默认汇率 填入汇率栏中。 为1表示选单过来的数据不能再添加删除分录 1 只在蓝字单据中可见,2只在红字单据中可见 3 在红蓝字单据中都可见 系统自带控件为1,自定义的为0 控件在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。 Fprint Ffontname FfontSize FselBill FmustInput Ffilter FrelationID Faction FlockA FROB FdefaultCtl FvisForBillType FVBACtlType 自定义单据用来区分是什么类型的控件 有Frame,Label,Kdtext三种 如果该控件为其它选择类型的属性则为1 例如:销售发票有个客户开户银行账号就是此类 如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。 FrelateOutTbl FSystemMustInputItem
3.ICTemplateEntry:该表反映了所有单据的分录的详细情况。
ICTemplateEntry FID FctlOrder FctlIndex Fctltype 单据模版ID 分录列的排列前后顺序 分录列编号,连续且唯一 分录列类型 0文本,1日期,2查找,3数量 ,4 编号,5 选单 ,6 单据标题,7 单据分录,8 审核,9 制单,10 批号,11 金额,12 单价,13 税率,14 会计科目 ,15 生产订单状态,16 生产订单来源,17 要求缺省为空的日期,18 记账 ,20 汇率,21 含税价, 30 自定义单据使用的字符串类型,31自定义单据使用的数字类型,32自定义单据使用的日期类型,33自定义单据使用的整数类型 FlookUpCls 如为查找类型 则与表t_ItemClass(核算项目表)中的FItemClassID对应。或者为辅助资料的ID (t_submestype 中的FtypeID) 是否需要保存到数据库中 值的类型 0 字符串,1 数字,2 日期,3 整数 保存值的类型 0 名称,1 内部ID,2 代码 该字段对应在数据库表中的字段。在同一个单据的模版中不能重复。 该分录列在各种状态下是否可录入:新增、修改、察看、审核、下达、单价金额修改。用一个六位的二进制数表示,可录入则对应位为1否则为0。常用值:0、48、49。 FneedSave FvalueType FsaveValue FfieldName Fenable Fprint FheadCaption Fwidth FneedCount FrelationID 是否打印该列(暂未用) 该分录列的表头标题 该分录列的宽度 该分录列是否需要合计,1:需要 0:不需要 表示哪一个字段的改变会导致当前列值的 改变。它的值为对应字段的数据库字段名。 如有多个这样的字段可以用逗号隔开。 为前面Frelationid定义的字段的改变时该执行什么样的操作。 例如金额这个字段,它的FrelationID为“FauxQty,FAuxPrice” ,Faction为“(),FAuxQty,*,FAuxPrice” 表示当数量或单价改变时,计算数量与单价的乘积,并填入金额列中。 是否必须录入 过滤条件。一般用于查找某类基础资料时过滤掉一些不符合选择条件的基础资料。 该列值的保存规则,例如“U:0”表示该列的值不能为0。 系统自带分录列为1,自定义的为0 该列在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。 Faction FmustInput Ffilter FSaveRule FdefaultCtl FvisForBillType FRelateOutTbl 如果该分录列为其它选择类型的属性则为1 例如:销售发票有个客户开户银行账号就是此类 如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。 FSystemMustInputItem
单据构造模版的基本用途是:根据要显示哪一种单据,首先去ICTransactionType表中获取该种单据的总体信息,包括表头模版号、分录模版号、单据宽高等等。然后根据表头模版号去查表头模版ICTemplate,构造该种单据的表头,根据分录模版号去查分录模版ICTemplateEntry,构造单据的分录。
函数:Bills.SetPropDesc
FSaveRule说明: 操作符 功能 例子 备注
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库金蝶 K3 供应链单据开发手册(2)在线全文阅读。
相关推荐: