153006269499
当前位置:
U8开发之单据控件
来源: | 作者:yonsuite | 发布时间: 2020-04-19 | 398 次浏览 | 分享到:

U8开发之单据控件

知识库属性

 

适用产品

单据

支持版本

V11.0 ;  V890;  V10.0;  V10.1; v13.0 你5.1参照

行业

通用

关键字

 

最后更新时间

 

作者

 

 

摘要

单据控件是U8ERP业务单据不可或缺的功能组件。是一个标准的OCX控件,使用符合OCX控件规范。方便业务组快速开发应用单据。

什么是单据控件?

基本概念及其关系


单据[Voucher]

单据工具栏

Voucher Toolbar

1

单体[Detail]

单尾[Footer]

单体工具栏[Detail Toolbar]

0..1

0..1

0..n

标题拦[Caption Band]

快速功能[Quick button]

0..n

1

单头[Header]

0..1

0..1

主题[Subject Panel]

1..n

助手视图[Side Panel]

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

排版与布局规范

Ø  单据工具栏作为单据界面的一部分,放置在顶部,用Ribbon工具栏风格。

Ø  单据Caption Band紧邻单据工具栏下方,单据Caption水平居中。

Ø  单据定位搜索等快速功能放在单据Caption Band有侧。(V11特性)

Ø  单据内容显示空间自Caption Band之下开始。

Ø  单头自动紧贴单据内容空间左上角开始显示。

Ø  单头栏目列数 = 可用空间宽度 / 默认列宽(取整),各列自动缩放适应显示空间。

Ø  单尾在显示空间底对齐。

Ø  单尾栏目列数和自适应与单头相同。

Ø  单体自动填充剩余空间。

Ø  单体自适应空间时,各列优先按照默认宽度显示,尽量显示更多列。(V11特性)

Ø  单体支持最大化功能,此时单体占据整个单据内容显示空间。(V11特性)

Ø  单体相关功能按钮直接放在单体表格上方,用单行Window Toolbar风格。(V11特性)

Ø  助手视图右侧,可停靠或者悬浮。助手在单据内容空间内显示。

目标

本文主要介绍单据控件的基础知识,应用过程及相关注意事项,方便各类U8产品开发人员更好的使用单据控件,更高效的开发产品。

单据控件特性 (V11.0)

       单据控件实现各业务产品组中各种单据的分层处理。单据控件以OCX提供给各个业务模块使用(包括WEB组)业务组在使用前初始化单据控件,最终业务模块从单据控件取得数据按各自的业务规则检查合法后保存。

 

单据标题栏[Caption Band]

Ø  单据名称居中显示。

Ø  左肩快速功能区放置单据附加内容快速访问按钮,如附件/批注/讨论等。红蓝单切换按钮也放在左肩。附件、批注、讨论、红蓝字顺序排列,如果前面按钮没有显示,后面的按钮自动前移。

Ø  右肩放置单据查找定位相关的功能按钮。

Ø  单据状态图章放在单据标题后面。

左肩快速功能按钮

附件

Ø  当单据有附件时显示附件内容链接按钮

Ø  点击按钮,在浮动层中显示具体的附件清单。

Ø  每一个附件项目后面都显示一个删除按钮。

Ø  点击附件项目,按照附件的文件类型打开文件。

批注

Ø  当单据有批注时显示批注链接按钮

Ø  点击按钮,在浮动层中显示具体的批注信息。批准信息批注时间倒排序。

红蓝字切换

Ø  单据在新增编辑状态下可用,其他状态不显示。

Ø  单据切为红字单时,单据标题用红色显示。

单据状态图章

Ø  单据的业务状态用醒目的图章标识。

Ø  一组业务状态只显示当前状态。开立、审核中、已审、变更审批中、关闭为一组,开立不用图章。一张单据有多组业务状态时,各组可以同时显示,如开票、结算、支付状态。最多能同时支持三个即可。

右肩快速功能按钮

刷新

Ø  当前为非空白单据或者有定位条件时可用。

Ø  点击按钮重新加载当前单据,如果当前有定位条件则先执行定位查询,查询结果中如果有当前单据则重新加载单据,否则,加载定位结果中的第一张单据。

翻页(首张、前一张、后一张、末张)

Ø  当前单据为空白单据时,前一张与首张的功能相同,后一张与末张的功能相同。

Ø  当前如果有定位条件,且定位结果有多条时,则在定位结果中翻页。

Ø  当达到首张或者末张后,继续点击翻页按钮时,给出提示信息,但按钮继续可用。

快速定位

Ø  支持单号、单据条码和本单据的关键对象,如客户信息的快速查找定位。

Ø  快速搜索条件不超过3个。

Ø  当快速定位有输入条件执行定位后,输入框中的清除条件按钮亮起。

Ø  点击高级进入过滤条件窗口,用户可以输入复杂的定位条件。

Ø  当高级条件执行定位后,快速搜索框显示“高级条件定位”,且清除按钮亮起。

Ø  单据列表联查进入单据时,快速搜索框显示“列表联查”,单据定位的范围是单据列表,清除按钮亮起。

Ø  点击按钮,清除定位条件。

最近访问/定位结果清单

Ø  点击按钮打开一个浮动层,在其中的定位结果组中显示定位结果清单。

Ø  没有定位条件时,定位结果组不显示。

Ø  定位结果显示5条,如果有超过5条的记录,在第5条后面增加一个“更多”项目,点击后进入单据列表,并用定位条件查询出结果。如果单据本身就是单据列表联查进入的,应该直接回到相关联的单据列表界面。

Ø  “最新单据”组是当前操作员最新的5张单据(原单据助手中的最近单据)。

单头

总体规范

Ø  自适应显示空间。

Ø  单头栏目列数 = 可用空间宽度 / 默认列宽(取整),各列自动缩放适应显示空间。

Ø  没有权限的字段不显示,其他字段按顺序自动移动位置。

Ø  栏目排版顺序为先行后列。

必输项

Ø  必输项标签后边用一个“*”标识。

关联档案

Ø  关联档案项目标签用蓝色下划线样式,鼠标变为手型。

Ø  点击标签进入关联档案的卡片浏览状态。

IM集成

Ø  能发起IM的联系人相关项目鼠标滑过时在,显示IM相关的功能小按钮。

单体

总体规范

Ø  单体相关的功能按钮放在单体工具栏。

Ø  原则上右键菜单功能都在单体工具栏都有对应功能按钮或者菜单。

Ø  在相对布局模式下单体自适应单头和单尾占用剩余的所有可用空间。

Ø  单体支持最大化,占据整个单据内容显示空间(单头、单体、单尾)。

单体工具栏

总体规范

Ø  使用Window Toolbar风格。

Ø  只支持一行Toolbar

Ø  单体最大化功能按钮放在工具栏最右端。

Ø  没有权限的按钮不显示。

Ø  所有按钮都为普通横向排列的小按钮,都有图标和标签。

Ø  单据编辑状态和浏览状态逻辑定义为两个工具栏实例,只有在浏览状态下能的功能在编辑状态下不显示,反之也燃。

分组规范

Ø  表格通用操作(插行、删行、复制行、批改)作为独立组放在最左端(第一组)。这是编辑状态才可用的功能。

Ø  关联查询和业务处理功能作为第二组,称作业务功能组,当业务功能太多是工具栏一行无法完全显示所有功能时,把一些不常用的功能合并到一个通用功能按钮“更多”中。

Ø  排序定位功能作为第三组,称为排序定位组。

Ø  显示格式相关功能作为第四组,称为显示格式组。

按钮风格

通用操作组

Ø  都为普通小按钮。

Ø  只有在编辑状态才可用。

业务功能组

Ø  业务功能性质系统的功能归到一个按钮的下拉菜单中,如货位相关的所有功能,可用量相关的所有功能,最常用的功能指定为这个按钮的默认功能。如果没有默认功能,该按钮设为普通下拉菜单按钮。

Ø  常见的单体相关的业务功能有:可用量、价格、信用、批号、序列号、货位、锁定、关闭等,根据单据的实际情况定义一级功能按钮。业务功能排列顺序就按照以上顺序排列,如果有更多业务功能在规范之外,需要共同合议决定。

Ø  如果工具栏排不下所有业务功能,把不常用的归纳的“更多”按钮下面。

Ø  如果显示器分辨率问题,导致显示不下,业务功能自动按先后顺序自动归到“更多”按钮下面。

排序定位组

Ø  排序、定位的所有功能归到一个按钮下面。

显示格式组

Ø  自动折行、列冻结、行汇总合并等显示相关的设置都归到这里。

Ø  自动折行是一个选项菜单,选项状态自动记入单据模板对应属性。

冻结列是把表格冻结列设为当前列,不能之前是否有冻结列。

Ø  有列被冻结时,取消冻结才高亮可用,否则置灰。

Ø  合并显示相关功能只能在浏览状态下显示(可以)。

Ø  冻结列和合并显示的状态只是当前窗口有效。

Ø  行或者单元格更多的设置都可以归到这里。

单体右键菜单

Ø  右键菜单只保留与鼠标焦点所在行/列相关的上下文菜单。

Ø  右键菜单原则上在单体工具栏中有对应的按钮或者菜单项。

Ø  原右键菜单中整单相关的功能移到单据工具栏(Ribbon),右键菜单中不再保留。

Ø  原右键菜单中对表体所有行有效的功能移到单体工具栏中,右键菜单中不再保留。

Ø  只能在浏览状态或者编辑状态可用的功能菜单项,在编辑状态和浏览状态间隐藏。

Ø  在当前状态下,因当前行数据导致的不可用菜单置灰。

Ø  没有权限的菜单项隐藏。

 

单尾

Ø  单尾与单头出放在单体下方,紧贴显示空间底部外,其他显示规范与单头相关。

Ø  单尾都是一些系统自动记录的字段,一般不放置需手工维护的字段。

 

 

数据字典

a)     数据字典

单据活动文本信息表(voucherfiexdlabel_lang(UFData)

字段名

字段类型

说明

AutoId

Int

自动编号

Localid

Nvarchar(32)

语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文)

PrintInterval

Nvarchar(200)

套打属性

nActionText

Int

活动文本

sCol

Nvarchar(100)

表体指定列

VT_ID

Int

单据模板号

FontState

Nvarchar(40)

单据控件字体

nActionSource

Int

活动文本来源

Pubufts

Timestamp

事件戳

ReserveSegTitlePos

Bit

是否保留字段标题占位

nRow

Int

表体指定行数

X

Int

左坐标

Width

Int

宽度

Text

Nvarchar(1000)

文本内容

Height

Int

高度

Y

Int

顶位置

PrintUcase

Bit

打印成大写

nBorder

Int

边框

单据表体附件信息表,附件保存于文件服务器(VoucherBodyAccessories(UFData)

字段名

字段类型

说明

ID

uniqueidentifier

GUID 

CellID

uniqueidentifier

表体单元格的ID 

Cardnum

Nvarchar(50)

单据类型号 

FileName

Nvarchar(50)

文件名 

FileID

Nvarchar(50)

文件ID,文件服务器有对应的值 

nOrder

Int

序号 

单据设置信息表(VoucherCustomerInfo(UFData)

字段名

字段类型

说明

fchrID

Nvarchar(50)

GUID 

fchrXmlInfo

Ntext

使用者相关的信息 

fchrOperator

Nvarchar(20)

操作员 

fchrType

Nvarchar(50)

类型,比如缺省打印模板信息

fchrVoucherTemplateType

Nvarchar(50)

单据模板ID 

fchrVoucherType

Nvarchar(50)

单据ID 

单据草稿、模板信息表(VoucherHelper(UFData)(V11.0)

字段名

字段类型

说明

cPath

Nvarchar(255)

GUID 

cServer

Nvarchar(255)

使用者相关的信息 

cCreateOn

Datatime

操作员 

sHeadDom

text

类型,比如缺省打印模板信息

cVoucherType

Nvarchar(100)

单据模板ID 

cID

Nvarchar(50)

单据ID 

cName

Nvarchar(255)

名称 

sOtherDom

Text

其他Dom信息 

cAcc_Id

Nvarchar(3)

帐套号 

iDataType

Int

数据类型:草稿(0),模板(1

cUserID

Nvarchar(20)

操作员 

sBodyDom

Text

表体Dom 

cIYear

Smallint

年度信息

cLocaleId

Nvarchar(32)

语言信息

单据模板明细信息基本表(voucheritems_base(UFData)

字段名

字段类型

说明

AutoId

Int

自动编号

IsFixedLenght

Bit

是否定长

EnumType

Nvarchar(100)

枚举类型

bIMFld(V11)

Tinyint

单据字段上显示UTU和业务通知图标的设置,0代表都不显示,1代表只显示业务通知,2代表都显示 

AutoFillRule

Nvarchar(1000)

自动填充规则

COY

Int

顶坐标

FieldType

Smallint

数据类型

CanDelete

Int

是否可删除

bsplit

Bit

是否支持行拆分

nBorder

Int

边框

MaxLength

Int

最大长度

Width

Int

单元控件宽度

BuildArchives

Bit

是否建档

AliasNum

Smallint

别名

PrintInterval

Nvarchar(100)

金额大写或日期单位间距

isSelfDef

Int

是否为自定义项目

DataRule

Nvarchar(1000)

数据公式

EnumTypeString

Nvarchar(2000)

枚举信息 

VT_ID

Int

单据模版号 

IsJoinQuery

Bit

是否关联查询

ValidityCheck

Bit

是否合法性检测 

FieldName

Nvarchar(40)

字段名称 

LinkIt

Smallint

是否是连接域 

Catalog

Int

类型 

bExtended

Bit

是否扩展字段 

TableName

Nvarchar(100)

数据表名 

DefaultValue

Nvarchar(20)

默认值

DataSource

Int

数据来源类型 

ReserveSegTitlePos

Bit

是否保留字段标题占位 

CardItemNum

Nvarchar(3)

项目编码 

cmemo

Nvarchar(1000)

备注 

EnterType

Int

输入方式 

LinkField

Nvarchar(20)

连接字段名 

PrintUpcase

Bit

是否打印成金额大写 

ShowIt

Bit

是否选择 

CanModify

Bit

是否可修改 

FormatData

Nvarchar(20)

数据项显示格式 

LinkTbl

Nvarchar(20)

连接表名 

IsNull

Bit

是否可空 

CanNotSelect

Bit

不可选标志 

iFlags

Smallint

是否启用日期时分秒 

TabIndex

Int

响应TABLE键顺序

refObject

Varchar(50)

参照ID 

NumPoint

Int

小数位数 

IsMain

Bit

是否为主表 

ReferTable

Nvarchar(100)

用户参照表名 

UserPrompt

Nvarchar(28)

用户提示 

PrintCaption

Bit

是否打印项目标题 

Height

Int

单元控件高度 

ReferReturnField

Nvarchar(1000)

参照返回字段 

vValueDefault

Nvarchar(500)

缺省值 

CardNum

Nvarchar(20)

所属单据编号 

bZeroAllowable

Bit

是否可以为零 

FormatChar

Nvarchar(1)

数据分割符 

MaxShowLen

Int

最大显示长度 

UserCheck

Nvarchar(50)

检查公式 

CardSection

Nvarchar(4)

所在区域 

pubufts

Timestamp

时间戳 

NeedSum

Smallint

是否需要合计 

CalcField

Bit

是否是计算得来字段 

IsEnum

Bit

是否枚举 

COX

Int

单元控件左坐标 

bAutoComplete(V11.0)

Bit

是否支持智能提示功能 

ReferType

smallint

是否有参照 

单据显示模板明细语言表(voucheritems_lang(UFData)

字段名

字段类型

说明

ID

Nvarchar(50)

GUID

cardformula1

Nvarchar(500)

显示名称 

fontstate

Nvarchar(40)

单元控件字体 

carditemname

Nvarchar(500)

项目名称 

cardsection

Nvarchar(4)

所在区域 

cardformula2

Nvarchar(500)

工业用显示名称 

ufts

timestamp

时间戳 

cardnum

Nvarchar(100)

所属单据编号 

fieldname

Nvarchar(40)

字段名称 

vt_id

int

单据模版号 

localeid

Nvarchar(32)

语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文)

单据打印模板明细信息基本表(voucheritems_Prn_base(UFData)

字段名

字段类型

说明

AutoId

Int

自动编号

CanModify

Bit

是否可修改 

ValidityCheck

Bit

是否合法性检测 

nBorder

Int

边框

VT_ID

Int

单据模版号 

CardNum

Nvarchar(20)

所属单据编号 

ReferReturnField

Nvarchar(1000)

参照返回字段 

FormatData

Nvarchar(20)

数据项显示格式 

MaxLength

Int

最大长度

IsMain

Bit

是否为主表 

UserPrompt

Nvarchar(28)

用户提示 

BuildArchives

Bit

是否建档

TabIndex

Int

响应TABLE键顺序

IsFixedLenght

Bit

是否定长

EnumType

Nvarchar(100)

枚举类型

bIMFld(V11)

Tinyint

单据字段上显示UTU和业务通知图标的设置,0代表都不显示,1代表只显示业务通知,2代表都显示 

AutoFillRule

Nvarchar(1000)

自动填充规则

COY

Int

顶坐标

FieldType

Smallint

数据类型

CanDelete

Int

是否可删除

bsplit

Bit

是否支持行拆分

Width

Int

单元控件宽度

AliasNum

Smallint

别名

PrintInterval

Nvarchar(100)

金额大写或日期单位间距

isSelfDef

Int

是否为自定义项目

DataRule

Nvarchar(1000)

数据公式

EnumTypeString

Nvarchar(2000)

枚举信息 

IsJoinQuery

Bit

是否关联查询

FieldName

Nvarchar(40)

字段名称 

LinkIt

Smallint

是否是连接域 

Catalog

Int

类型 

bExtended

Bit

是否扩展字段 

TableName

Nvarchar(100)

数据表名 

DefaultValue

Nvarchar(20)

默认值

DataSource

Int

数据来源类型 

ReserveSegTitlePos

Bit

是否保留字段标题占位 

CardItemNum

Nvarchar(3)

项目编码 

cmemo

Nvarchar(1000)

备注 

EnterType

Int

输入方式 

LinkField

Nvarchar(20)

连接字段名 

PrintUpcase

Bit

是否打印成金额大写 

ShowIt

Bit

是否选择 

LinkTbl

Nvarchar(20)

连接表名 

IsNull

Bit

是否可空 

CanNotSelect

Bit

不可选标志 

iFlags

Smallint

是否启用日期时分秒 

refObject

Varchar(50)

参照ID 

NumPoint

Int

小数位数 

ReferTable

Nvarchar(100)

用户参照表名 

PrintCaption

Bit

是否打印项目标题 

Height

Int

单元控件高度 

vValueDefault

Nvarchar(500)

缺省值 

bZeroAllowable

Bit

是否可以为零 

FormatChar

Nvarchar(1)

数据分割符 

MaxShowLen

Int

最大显示长度 

UserCheck

Nvarchar(50)

检查公式 

CardSection

Nvarchar(4)

所在区域 

pubufts

Timestamp

时间戳 

NeedSum

Smallint

是否需要合计 

CalcField

Bit

是否是计算得来字段 

IsEnum

Bit

是否枚举 

COX

Int

单元控件左坐标 

bAutoComplete(V11.0)

Bit

是否支持智能提示功能 

ReferType

smallint

是否有参照 

单据显示模板明细语言表(voucheritems_Prn_lang(UFData)

字段名

字段类型

说明

ID

Nvarchar(50)

GUID

cardformula1

Nvarchar(500)

显示名称 

fontstate

Nvarchar(40)

单元控件字体 

carditemname

Nvarchar(500)

项目名称 

cardsection

Nvarchar(4)

所在区域 

cardformula2

Nvarchar(500)

工业用显示名称 

ufts

timestamp

时间戳 

cardnum

Nvarchar(100)

所属单据编号 

fieldname

Nvarchar(40)

字段名称 

vt_id

int

单据模版号 

localeid

Nvarchar(32)

语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文)

单据批注信息表(VoucherNotes(UFData)(V11.0)

字段名

字段类型

说明

dCreateOn

datetime

创建时间

cNoteID

Nvarchar(50)

主键GUID

dModifyOn

datetime

修改时间  

cVchUniqueID

Nvarchar(64)

单据ID 

cUserID

Nvarchar(20)

操作员 

cVchTableName

Nvarchar(50)

业务单据存储位置信息

cNoteContent

Nvarchar(4000)

批注内容 

单据信息表(vouchers_base(UFData)

字段名

字段类型

说明

CardNumber

Varchar(100)

单据类型编码

BodyWidth

Int

表体宽度

BodyLeft

int

表体左坐标   

DEF_ID_PRN

int

默认打印单据模板号 

InventoryFieldName

Nvarchar(40)

存货字段名 

BodyFKName

Nvarchar(20)

表体主键字段名 

CardType

Nvarchar(10)

单据类型

cHeadFuncName

Nvarchar(100)

UAP Used 

Name

Nvarchar(20)

单据名称 

VchListQName

Nvarchar(255)

单据列表视图 

pubufts

Timestamp

时间戳 

BodyHeight

Int

表体高度 

AuditFieldName

Nvarchar(40)

审批人字段名 

cBodyBusObjectId

Nvarchar(100)

表体业务对象的IDUAP Used 

cBodyFuncName

Nvarchar(100)

表体函数名,用于数据引擎 

DEF_ID

Int

表体函数名,用于数据引擎 

AlertAuditFieldName

Nvarchar(40)

变更审批字段名 

SelfDef1

Nvarchar(20)

自定义

AlertFieldName

Nvarchar(40)

变更人字段名 

cSub_IdLocation

Nvarchar(200)

单据模版所在的子产品 

BodyModify

Bit

表体是否可修改 

BodyDefaultConditionFieldName

Nvarchar(40)

表体排序默认条件字段名

VoucherHeight

Int

单据高度 

HaveBodyGrid

Bit

是否有表体 

iVT_IDFieldName

Nvarchar(40)

业务组物理表中存储单据模版编号的字段名称

Memo

Nvarchar(20)

备注 

BTQName

Nvarchar(40)

单据表头视图 

AllowDateTimeFormat

Bit

是否手工录入日期 

iOrder

Int

是否手工录入日期 

IsPrintLimited

Bit

是否打印控制 

cHeadBusObjectId

Nvarchar(100)

表头业务对象的IDUAP Used 

SelfDef3

Nvarchar(20)

自定义

PrintCountFieldName

Nvarchar(40)

打印计数对应的字段名 

cFieldAuthid

Nvarchar(100)

对应的权限ID 

vchtblPrimarykeyNames

Nvarchar(100)

对应的权限ID 

IsAlertAuditedPrint

bit

是否支持审批后打印 

BodyTop

Int

表体顶坐标

cIndustry

Nvarchar(20)

工商业标志 

BWQName

Nvarchar(40)

单据表体视图 

Shield

Bit

是否屏蔽 

ReceiptNoFieldName

Nvarchar(30)

单据编号字段名 

bAllowMulTemp

Bit

是否多模板 

IsAuditedPrint

Bit

是否支持审批打印 

VoucherWidth

Int

单据宽度 

UpdateTime

Datetime

更新时间 

NotAppiesAuth

Bit

是否受权限控制,用于单据模板设计器 

ItemTblName

Nvarchar(20)

项目定义表 

cSub_Id

Nvarchar(100)

所属模块标识串

SelfDef2

Nvarchar(20)

自定义2

itemCol

int

表头列数 

vchBodyPKName

Varchar(20)

表体主键字段名 

BWTblName

Nvarchar(100)

单据表体表 

cDefWhere

Nvarchar(100)

单据识别条件 

BTTblName

Nvarchar(100)

单据表头表 

单据信息语言表(vouchers_lang(UFData)

字段名

字段类型

说明

localeid

Nvarchar(32)

语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文)

cardnumber

Varchar(100)

单据类型编码

appname

Nvarchar(100)

所属模块名称 

ccardname

Nvarchar(500)

所属模块名称 

ufts

Timestamp

时间戳 

单据水印规则对照表(VoucherStatusRuleContrapose(UFData)(V11.0)

字段名

字段类型

说明

cContraposeAutoID

int

自增ID, 主键

cCardNumber

Varchar(50)

单据类型

cRuleCode

Nvarchar(50)

规则编码

单据水印规则明细表(VoucherStatusRuleDetails(UFData)(V11.0)

字段名

字段类型

说明

iHaveCount

int

对应字段默认值-1,0代表无值,1代表有值 0代表无值,1代表有值默认值-1, 0代表无值,1代表有值默认值-1, 0代表无值,1代表有值默认值-1, 0代表无值,1代表有值默认值-1,0代表无值,1代表有值 

cConditionType

nVarchar(20)

条件类型,=,<>,value 

cValue

Nvarchar(100)

字段对应值cConditionTypeValue时考虑cValue的值 

cRuleID

Nvarchar(50)

规则明细索引,主键GUID 

iNO

Int

一般的用不上,财务采用 

cFieldName

Nvarchar(50)

字段名 

cRuleCode

Nvarchar(50)

对应规则编码 

cFieldType

Nvarchar(20)

字段类型 

单据水印规则主表(VoucherStatusRules(UFData)(V11.0)

字段名

字段类型

说明

cRuleCode

int

规则编码--唯一值 

iGroup

nVarchar(20)

规则分组状态分组,代表不同的业务状态组(即此规则判断的状态水印是属于1单据状态,2业务状态还是3结算状态) 

cSection

Nvarchar(10)

所适用区域:表头或表体T,B 

cRuleDescription

Nvarchar(100)

规则描述

cPic

Nvarchar(20)

状态对应图片

iPriority

int

规则级次(优先级)从高到底的优先级顺序,通用的预置以10为单位,如90,80,70,

单据模板表(vouchertemplates_base(UFData)

字段名

字段类型

说明

VT_ID

Int

单据模版号 

VT_Lock

Bit

模板是否处于锁定状态

VT_PageTotal

Int

是否打印表体合计

VT_SelfDef2

Nvarchar(20)

单据自定义

VT_BodyTop

Int

表体顶坐标 

VT_ControlStyle

Int

界面样式 

VT_GridStyle

Int

表体网格风格 

VT_Memo

Nvarchar(20)

备注 

VT_BodyWidth

Int

表体宽度

VT_BodyHeight

Int

表体左坐标 

VT_BodyLeft

Int

表体左坐标 

nPrintSeril

Int

表格打印行行高 

VT_GridPrnRowHeight

Int

表格打印行行高 

pubufts

Timestamp

时间戳 

VT_TitleTop

Int

单据标题顶坐标 

VT_CardNumber

Varchar(50)

所属单据类型编码 

VT_Width

Int

单据宽度 

VT_BodyMaxRows

Int

表体可输入行数

VT_SelfDef3

Nvarchar(20)

工作区颜色 

VT_WorkAreaColor

Int

工作区颜色 

VT_AutoCalc

Int

自动计算表体高度 

VT_PageSubTotal

Int

是否打印表体小计 

templateSubType

Tinyint

单据模版子类型

VT_TitleLeft

Int

单据标题左坐标 

VT_xamlField

Nvarchar(2000)

保留字段 

VT_FiexdColor

Int

表体固定行列颜色

VT_PageHeader

Nvarchar(255)

页眉

VT_TotalColor

Int

表体合计行颜色 

VT_AmongColor

Int

表体隔行颜色 

VT_BodyFixedCols

Int

表体左边固定列 

VT_PrintGrid

Int

是否打印网格数据 

varPrintSetting

Nvarchar(3000)

XML格式字符串 

VT_PrintTemplID

Int

对应打印模版号 

AuditDisplayFlag

Varchar(30)

审核显示标识 

nPrintGridLine

Int

打印表体标题行 

VT_RowLayoutEnabled

Bit

是否启用行布局 

VT_TemplateMode

Int

模版类型 

VT_Height

Int

单据高度 

nAutoCalcWidth

Int

自动计算表体宽度 

VT_PRN_DEF_LANDID

Nvarchar(64)

缺省的打印模板ID 

VT_SelfDef1

Nvarchar(20)

单据自定义

VT_ReservedInfo

Nvarchar(1000)

保留信息 

VT_GridPrnRows

Int

表格打印行数 

vt_saveObject

Varchar(50)

保存是调用的数据引擎对象,数据引擎使用

单据模板语言表(vouchertemplates_lang(UFData)(V11.0)

字段名

字段类型

说明

vt_id

int

单据模版号 

localeid

nVarchar(32)

语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文

vt_gridstylehead

Nvarchar(50)

表格头打印风格 

vt_RowLayoutXML

Ntext

表体行布局信息 

vt_gridstyletotal

Nvarchar(50)

合计行打印风格 

vt_gridstylebody

Nvarchar(50)

表格打印风格 

vt_titlename

Nvarchar(500)

单据标题名称 

vt_titlefontstate

Nvarchar(40)

表体字体 

ufts

Timestamp

时间戳 

vt_foot

Nvarchar(200)

页脚内容 

vt_header

Nvarchar(200)

页眉内容 

vt_name

Nvarchar(500)

单据模板名称 

vt_footheaderfont

Nvarchar(40)

页眉页脚字体 

vt_cardnumber

Varchar(50)

所属单据类型编码 

b)     单据插件信息表

单据插件信息表(VoucherPlugins(UFData)U890/U10.0/U10.1/U11.0

字段名

字段类型

说明

ID

Uniqueidentifier

GUID

iOrder

Int

插件的顺序

CardNum

Nvarchar(50)

单据类型号

ClassName

Nvarchar(200)

插件类型名称,用于CreateObject

SubID

Nvarchar(50)

子产品ID

Ufts

Timestamp

时间戳

 

如何使用单据控件?

VB中引用单据控件

 

VB中点击主菜单中的“工程->部件”或者直接按Ctrl+T热键,随后出现的“部件”对话框中选中“UAPVoucherControl85”,然后点击“确定”,左侧的工具条中将出现该控件的图标,如下图所示

 

 

 

 

 

 

 

 

OCX文件的方法函数图例如下:

 

主要属性

 

    BackColor,BackColorBkg,BackColorFixed,BackColorSel,BackColorTotal属性:

返回或设置单据控件不同的背景颜色

语法:

voucher.BackColor [=color]
voucher.BackColorBkg [=color]
voucher.BackColorFixed [=color]
voucher.BackColorSel [=color]

voucher.BackColorTotal [=color]

 

              参数说明:

 

参数

描述

Voucher

单据控件名称

Color

一个指定的颜色值

             

备注:


              下图为Voucher属性设置效果

 

 

 

              Example

 

              Note如要设置这些属性值,必需在设置完模板数据后再设置才能起作

用。

参考代码

 

Private Sub Form_Load ()

   Timer1.Interval =500

End Sub

 

Private Sub Timer1_Timer ()

   Voucher1.BackColorBkg =QBColor(Rnd * 15)

   Voucher1.BackColorFixed =QBColor(Rnd * 10)

   Voucher1.BackColorSel =QBColor(Rnd * 10)

   Voucher1.BackColorSelTotal =QBColor(Rnd * 10)

End Sub

 

    Col, Row,ColSel,RowSel 属性

返回或设置当前表体活动单元格的行列坐标,此属性在设计状态不可用。

语法:

voucher.Col [=number]
voucher.Row [=number]

参数说明:

             

参数

描述

Voucher

单据控件名称

number

一个指定的指定活动单元行列的数值

 

备注:

                     使用ColRow属性来指定活动单元格,Col>0Row>0ColRow

                     设置完ColRow值后ColSelRowSel将自动变更成ColRow,更说细的说明。

                     请参照MSDN

参考代码

 

Private Sub Form_Load ()

   Timer1.Interval =500

End Sub

 

Private Sub Timer1_Timer ()

   Voucher1.BackColorBkg =QBColor(Rnd * 15)

   Voucher1.BackColorFixed =QBColor(Rnd * 10)

   Voucher1.BackColorSel =QBColor(Rnd * 10)

   Voucher1.BackColorSelTotal =QBColor(Rnd * 10)

End Sub

示例


       Public Sub Command_Click()

              Voucher.Col=50

              Voucher.Row=20

              Debug.Print Voucher1.Col

              Debug.Print Voucher1.Row

              Debug.Print Voucher1.ColSel

              Debug.Print Voucher1.RowSel             

       End Sub

 

    TitleCaption,TitleFont,TitleForeColor,ToolTipText

返回或设置标题各项属性值

 

语法:

voucher. TitleCaption [=string]
voucher. TitleFont [=font]
voucher. TitleForeColor [=color]
voucher. ToolTipText [=string]

 

                     参数说明:

 

参数

描述

Voucher

单据控件名称

Color

一个指定的颜色值

string

字符串表达式

Font

指定的字体对象

              注:

              这些属性的赋值操作必须在setTemplateData方法后,否则你的操作将会

得不到处理(因为你的这些操作会被setTemplateData方法覆盖)

 

    Left,Top,Width,Height属性

返回或设置单据控件大小属性

语法:

voucher.Left [=value]
voucher.Top[=value]
voucher.Widht[=value]
voucher.Height[=value]

 

              参数说明:

 

 

参数

描述

Voucher

单据控件名称

value

数值

备注:

              在执行完setTemplateData方法后,setTemplateData会按照单据设计设计的宽度和高度自动设置WidthHeight属性。

 

    HeadText属性

       设置或返回表头项目的值 

       语法:

       voucher.HeadText(Index)= [=string

参数 描述 Voucher 单据控件名称 Index下标,可以是数值,也可是关键字,用来标识表头项目 string 字符串或数值 Example

示例

 

       Public Sub Command1_Click()

              Voucher.headText(1)=‘用友软件公司

              Voucher.headText(‘cCusName’)= ‘用友软件公司

cCusName= ‘客户名称

       End Sub

 

       备注:

       如果你要设置的项目(Index)不存在,单据控件将会产生一个错误,具体的错误信息可以通过GetLastError方法得到。

 

      BodyText属性

       设置或返回表体项目的值 

       语法:

       voucher.HeadText(Row as Long,Col as Variant)= [=string]

       参数 描述 Voucher 单据控件名称 Row数值,表示表体里的哪一行 Col 可变

体,可以是列,也可用关键值来表示表体里的哪一行。 String 字符串表达

 

示例

 

       Public Sub Command1-_Click()

              Voucher.bodyText(1,1)=‘用友软件公司

              Voucher.bodyText(1,‘cCusName’)= ‘用友软件公司’ ‘ cCusName=‘客户名称

       End Sub

 

    BodyColWidth属性

       设置表体指定行的宽度 

       语法:

       voucher. BodyColWidth (Col as Variant)= [=value]

       参数 描述 Voucher 单据控件名称 Col 可变体,可以是列,也可用关键值来表

示表体里的哪一行。 value数值 

 

 

 

示例

 

       Public Sub Command1-_Click()

              Voucher.bodyColWidth(1)=300

              Voucher.bodyColWidth (‘cCusName’)= 300

‘cCusName=‘客户名称

       End Sub

       备注:

       有些属性用来给程序员动态的控制单据表体的某一列显示。请在做具体的操

作时,考虑用户权限的问题。

 

    BodyMaxRows

返回或设置表体可输入的最大行数 

语法:

       voucher. BodyMaxRows[=Value]

参数 描述 

        Public Sub Command1- _Click()

Voucher.bodymaxRows = 2   

              表体最多可以输入2行数据

        End Sub

 

    BodyRows

返回当前表行数据行的总数(只包括有数据的行)

语法:

voucher. BodyRows [=Value]

参数 描述 

 Public Sub Command1-_Click()

       Debug.print voucher.bodyRows

 End Sub

 

      MultiLineSelect

返回或设置是否是多行选择 

语法:

       voucher.MultiLineSelect = [Boolean]

备注:

       在表体参照的时候如果你需要参照返回多条数据时,在你参照前请记得先把

该属性设置为TRUE,参照完成后记得一定要把改属性设置成FALSE

       (如果不进行处理,有可能会产生单据单据不能离开焦点的BUG)。

 

主要方法

 

    setTemplateData方法

功能:

设置单据控件的模版数据记录集,在第一次初始化单据控件时,必须设

置单据模版数据。

语法:

       Public Sub setTemplateData(rstTemplate As Recordset)

参数:

       rstTemplate:  单据模版数据结果记录集   

备注:

本操作是将单据设计好的结果集传递给单据控件进行显示界面初始化处理。包括定位、模版信息。

该数据结果集是能过调用单据控件后台服务来获得的

示例

 

       Public Sub Command1_Click()

              Dim o     as Object

              Dim rst as Recordset

              Set o = CreateObject(‘UFVoucherServer85.clsVoucherTemplate’)

              If o is nothing then Exit Sub   ‘如果创建对象Fail,则退出

              Set rst = o.GetTemplateData2(数据库连接(Connection),单据(CardNumber),

模版号(VT_ID))

              Voucher.SetTemplateData(rst)       ‘设置模版

       End Sub 

 

    setVoucherDataXML方法

功能:

设置单据数据到单据控件上。

语法:

       Public Function setVoucherDataXML(oDOmHead As Variant,oDomBody As Variant) As Boolean

参数:

       oDOmHead:单据表头Dom信息

       oDomBody:单据表体Dom信息  

备注:

本操作是将从后台获取的单据数据加载到单据界面上。

示例

 

Private Sub SetVoucherData()

    On Error Resume Next

    Dim DomHead As New DOMDocument

    Dim DomBody As New DOMDocument

    Dim rstHead As New Recordset

    Dim rstBody As New Recordset

    Dim sSql1   As String

    Dim sSql2   As String

   

    Screen.MousePointer = vbHourglass

    rstHead.CursorLocation = adUseClient

    rstBody.CursorLocation = adUseClient

    'Select * ,'' as editprop From SaleOrderSQ where id = 3 order by autoid

    'Select * from SaleOrderQ where id=3

    Debug.Print "从数据库加载数据...", Time

    sSql1 = "Select top 1 *,'' as editprop From " + ctlVoucher1.GetVoucherState.sBtViewTable

    sSql2 = "Select top 3 *,'' as editprop From " + ctlVoucher1.GetVoucherState.sBwViewTable

   

    rstHead.Open sSql1, m_strConnect, adUseClient, adOpenStatic, adCmdText

    rstBody.Open sSql2, m_strConnect, adOpenStatic, adLockOptimistic

   

    rstHead.Save DomHead, adPersistXML

    rstBody.Save DomBody, adPersistXML

    DomHead.Save "c:head18.xml"

    DomBody.Save "c:body18.xml"

    'domhead.Load "c:1.xml"

    'dombody.Load "c:body.xml"

    'dombody.Save "c:2.xml"

    Debug.Print "正在加载数据到单据控件中...", Time

    ctlVoucher1.setVoucherDataXML DomHead, DomBody

    Debug.Print "操作完成", Time

    Screen.MousePointer = vbDefault

End Sub

 

      AddLine方法

功能:

       在单据表体增加一行

语法:

       Public Sub AddLine(optional nRow as Long,Option sLine as String = ’‘,Option Relative as AddLineState = ALSLast)

    DelLine方法 

功能:

       单据表体删除指定的行,如果没指定行删除当前所在的行。

语法:

       Public Sub DelLine(Optional Byval nRow as Long)

参数: nRow 为单据表体的具体行号

返回值: 

 

 

    AddNew方法

功能:增加一张新单据 

语法: Public Sub AddNewByval eMode as AddNewMode

参数: eMode为新增时的增加模式

返回值: 

备注:

       增加一张新单据,实际上就是将表头对象(Header)和表体对象(Body)中各项目的值据增加模式清空。在增加一张新的单据时,应先调用。

 

    GetVoucherDataXML方法

功能:得到单据数据DOM对象

语法:

       Public Sub getVoucherData(oDomhead As Variant,oDomBody As Variant)

参数:

       rstHeader:      表头数据DOM对象(MSXML.DOMDocument对象)

       rstBody:  表体数据DOM对象(MSXML.DOMDocument对象)

返回值: 

备注:更新数据(从控件生成DOMDocumetn对象)

 

      GetLineDom方法

功能:返回当前或指定行的Dom对象(得到表体一行的全部Dom数据对象)

语法:

       Public Function GetLineDom(Optional ByVal nRow As Long = 0) As

DOMDocument 

参数:

       nRow指定的行Index,缺省为0,即取当有Mouse所在行的数据

返回值:DOMDocument对象

 

    PrintVoucherEx方法

功能:打印单据数据 

语法:

       Public Function PrintVoucherEx(ByVal rsTemplate As Variant, ByVal rsField As Variant, Optional ByVal bShowPrintDlg As Boolean = True) As Long

参数:

 rsTemplate [IN]记录集 单据模版数据(必需通过单据后台服务提供)

rsField     [IN]记录集 固定文本数据(必需通过单据后台服务提供)

bShowPrintViewDlg [IN] 布尔值 是否显示打印对话框

返回值:

       如果打印成功返回0,否则返回非0,具体的错误信息请参考打印控件(Error Table)

示例

 

Public Sub Command1-_Click()

       Dim o                   as Object

       Dim rsTemplate as Recordset

       Dim rsField            as Recordset

       Set o = CreateObject(‘UFVoucherServer85.clsVoucherTemplate’)

       If o is nothing then Exit Sub   ‘如果创建对象Fail,则退出

       Set rsTemplate = o.GetTemplateData2(数据库连接(Connection),单据

(CardNumber),模版号(VT_ID))

       Set rsField = o.GetFixedData(数据库连接字符串(String),模版号(VT_ID))

       Call voucher.PrintVoucherEx(rsTemplate, rsField, True) ’显示打印对话框

End Sub

 

    ExportToFile方法 

功能:导出单据单据数据到指定的文件 

语法:

       Public Function ExportToFile(ByVal rsTemplate As Variant, ByVal rsField As

Variant) As Boolean

参数:

rsTemplate [IN]记录集   单据模版数据(必需通过单据后台服务提供)

rsField     [IN]记录集 固定文本数据(必需通过单据后台服务提供)

返回值:

       如果导出成功返回0,否则返回非0,具体的错误信息请参考打印控件(Error Table)

示例

 

Public Sub Command1-_Click()

       Dim o                   as Object

       Dim rsTemplate as Recordset

       Dim rsField            as Recordset

       Set o = CreateObject(‘UFVoucherServer85.clsVoucherTemplate’)

       If o is nothing then Exit Sub   ’如果创建对象Fail,则退出

       Set rsTemplate = o.GetTemplateData2(数据库连接(Connection),单据

(CardNumber),模版号(VT_ID))

       Set rsField = o.GetFixedData(数据库连接字符串(String),模版号(VT_ID))

       Call voucher. ExportToFile(rsTemplate, rsField)     ‘导出文件

End Sub 

 

主要事件

 

    HeadBrowUser   当用户单击表头参照时产生此事件

语法:

Private Sub voucher_headBrowUser(ByVal Index As Variant, sRet As Variant, ByRef referPara As ReferParameter)

End Sub

参数说明:

             

参数

描述

Voucher

单据控件名称

index

表头下标

sRet

返回值

referPara

参照参数对象

 

 

 

    BodyBrowUser   当用户单击表体参照时产生此事件

语法:

Private Sub voucher_bodyBrowUser(ByVal row As Long,

                                                       ByVal col As Long, sRet As variant)

End Sub

参数说明:

             

参数

描述

Voucher

单据控件名称

row

下标

col

下标(可用关键字)

sRet

返回值

 

 

    BodyCellCheck  BodyCellCheckWeb   表体数据发生该变,需要数据检查时发生此事件

       语法:

Private Sub Voucher_bodyCellCheck(RetValue As String, bChanged As VoucherControl85.CheckRet, ByVal r As Long, ByVal c As Long)

 

End Sub

 

参数说明:

             

 

参数

描述

Voucher

单据控件名称

RetValue

返回当前单元的值

bChanged

数据检测是否居功

row

下标

col

下标(可用关键字)

 

     Click  当用户在单据控件上单击时产生此事件 

 

     DblClick  当用户在单据控件上双击时产生此事件

    

     KeyDown , KeyPress, KeyUp, MouseDown, MouseMove, MouseUp

       鼠标及键盘响应事件

 

     BillNumberChecksucceed  在设置单据编号规则后,如果当前单据满足了编号规则后,将会激活当前事件

  

     AddNewLineEvent  当调用AddLine方法时,该事件将会产生

应用案例

表头附件

示例

 

1)        Toolbar 增加按钮 附件

       按钮响应事件代码

       Me.ctlVoucher1.SelectFile()

       需要根据自己单据的状态设置按钮的状态      

2)        单据保存部分

         在原来的单据内容保存完成以后,事务提交以前增减保存附件的代码

              Dim cnn As New ADODB.Connection

        cnn.Open m_strConnect

        Dim ErrDesc As String

        Dim blnsaveAcc As Boolean

        Dim strXml As String

        strXml = ctlVoucher1.GetAccessoriesInfo(ErrDesc)

If ErrDesc <> "" Then

            MsgBox ErrDesc

        End If

              Dim m_oServer as UFVoucherServer85.clsVoucherTemplate

        Dim objDoc As New MSXML2.DOMDocument30

        Call objDoc.loadXML(strXml)

        Call objDoc.documentElement.setAttribute("VoucherTypeID", "88")

        Call objDoc.documentElement.setAttribute("VoucherID", "01")

        strXml = objDoc.xml

              set objDoc nothing

        Call m_oServer.SaveAccessories(strXml, cnn, ErrDesc)

        If ErrDesc <> "" Then

            MsgBox ErrDesc

        End If

备注:

蓝字部分如果不是新增,则可以不写

              VoucherTypeID 如果没有更改(即和单据模版一致)也可以不用设置

VoucherID 表示单据主键值的value,可以是组合 2005001{#}003 ,顺序和前面的vchtblPrimarykeyNames   顺序一致

如果是单据删除 , Call m_oServer.SaveAccessories(strXml, cnn, ErrDesc) 删除附件

strXML = ""

3)          初始化模版代码部分

'设置单据数据源对象

单据数据源对象是单据的数据访问组件,web版使用的时候需要自己实现这个接口

    Dim m_oDataSource As Object

    Set m_oDataSource = CreateObject("IDataSource.DefaultDataSource")

    If m_oDataSource Is Nothing Then

        MsgBox "设置单据数据源对象Fail!", vbCritical, "渣昫"

    End If

    m_oDataSource.SetLogin m_oLogin

Set ctlVoucher1.SetDataSource = m_oDataSource

 

 

表体附件

1870单据格式设计器中可以设置字段的参照类型,需要指定一个文本字段的参照类型为附件

       2:需要配置应用服务器的文件服务器设置。  

    3如果需要显示的支持该功能,需要在单据模板中增加一条文本类型,参照类型为附件的记录

表体定位

1Toolbar 增加按钮 定位

       2:按钮响应事件代码

       ctlVoucher1.ShowFindDlg

       需要根据自己单据的状态设置按钮的状态

 

表体固定行

       单据控件设计态时设置ShowFIxColer true

表体排序

       单据控件设计态时设置ShowSorter true

表体汇总

1Toolbar 增加按钮 汇总

2  按钮响应事件代码

Call ctlVoucher1.SHowAggregateSetupDlg

       需要根据自己单据的状态设置按钮的状态,只有在查看状态可用。

表体批改

Me.ctlVoucher1. ShowBatchModify ()

 

单据内容模板和草稿

单据内容模板和草稿主要有以下功能:

1:用户可以把已有的单据保存为模板,以利于下次内容差不多的情况下,可以快速使用模板,简单修改就可以了,类似于单据复制,但是单据复制一般是完整的单据表头、或者表体、或者整单,模板可以是任意的部分内容。类似于缺省值的功能。

2:用户可以把录入一部分的单据暂存为草稿,下次有时间的时候接着录入。

示例

 

1、声明模板助手对象

Private WithEvents m_oHelper       As Helper   '单据助手对象

2、响应打开模板或者草稿的事件

Private Sub m_oHelper_LoadFromTemplate(ByVal enumType As VoucherHelper.TemplateModes, ByVal TemplateID As String, oDomHead As Variant, oDomBody As Variant, oOtherDom As Variant)

    m_sCurrentDraftID = TemplateID

   ctlVoucher1.setVoucherDataXML oDomHead, oDomBody

End Sub

3、增加六个按钮

Case 5 '保存为草稿

        SaveAsDraft DraftMode

    Case 6 '从草稿打开

        OpenFromDraft DraftMode

    Case 7

        m_oHelper.DeleteDraftByID DraftMode, m_sCurrentDraftID

    Case 8 '保存为模板

        SaveAsDraft TemplateMode

    Case 9 '从模板打开

        OpenFromDraft TemplateMode

    Case 10 删除草稿,用于草稿单据正式保存以后

        m_oHelper.DeleteDraftByID TemplateMode, m_sCurrentDraftID

    Case 11 草稿或者模板管理

        m_oHelper.DraftsManagement TemplateMode, m_bill(cboBill.ListIndex)

 

 Sub OpenFromDraft(ByVal nMode As TemplateModes)

    Dim sCardNum As String

    sCardNum = m_bill(cboBill.ListIndex)

   

    Call m_oHelper.GetDraftList(nMode, sCardNum)

End Sub

Sub SaveAsDraft(ByVal nMode As TemplateModes)

    Dim sCardNum As String

    sCardNum = m_bill(cboBill.ListIndex)

   

    Dim str As String

    Dim DomHead As DOMDocument

    Dim DomBody As DOMDocument

    Call ctlVoucher1.getVoucherDataXML(DomHead, DomBody)

    MsgBox "草稿编号:" & m_oHelper.SaveAsDraft(nMode, sCardNum, ctlVoucher1.GetVoucherState().sTitle, DomHead, DomBody)

   

   

End Sub

 

 

 

单据应用状态图章

1、 状态图章是什么?

单据状态图章是指单据标题区左肩上用来表示单据当前状态的图标或文字。

2、 状态图章包括哪些?

状态组(123

状态名称

Key

备注

1

已复核

Reviewed

 

1

已审核

Approved

 

1

支付成功

PaySuccess

 

1

支付失败

PayFailed

 

1

支付不明

PayUnKnown

 

1

开立

Opening

 

1

审核中

Approving

 

1

关闭

Closed

 

1

已记账

Charged

 

1

记账中

Charging

 

1

锁定

Locked

不可单独存在

1

复核中

Reviewing

 

1

作废

Invalid

 

1

变更

Changing