EBU客户化开发基本能力提升手册(V890版)(6)

2018-11-22 20:17

ERP事业部咨询实施客户化开发部

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 单据控件的主要事件

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

Private Sub voucher_bodyBrowUser(ByVal row As Long,ByVal col As Long, sRet As variant,

referPara As UAPVoucherControl85.ReferParameter) End Sub 参数说明:

第26页 共 329页

ERP事业部咨询实施客户化开发部

参数 Voucher row col sRet

描述 单据控件名称 下标 下标(可用关键字) 返回值 ? BodyCellCheck BodyCellCheckWeb 表体数据发生改变,需要数据检查时发生此

事件

语法:

Private Sub Voucher_bodyCellCheck(RetValue As Variant, bChanged As Long,, ByVal r As Long, ByVal c As Long, referPara As UAPVoucherControl85.ReferParameter)

End Sub

参数说明:

参数 Voucher RetValue bChanged row col

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

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

? KeyDown , KeyPress, KeyUp, MouseDown, MouseMove, MouseUp 鼠标及键盘响应事件

? BillNumberChecksucceed 在设置单据编号规则后,如果当前单据满足了编号规则

后,将会激活当前事件

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

描述 单据控件名称 返回当前单元的值 数据检测是否启动 下标 下标(可用关键字) 1.2.1.4 应用案例

表头附件

1) Toolbar 按钮 附件

第27页 共 329页

ERP事业部咨询实施客户化开发部

按钮响应事件代码 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 <> \ MsgBox ErrDesc End If Dim m_oServer as UFVoucherServer85.clsVoucherTemplate Dim objDoc As New MSXML2.DOMDocument30 Call objDoc.loadXML(strXml) Call objDoc.documentElement.setAttribute(\oucherTypeID\ Call objDoc.documentElement.setAttribute(\oucherID\ strXml = objDoc.xml set objDoc = nothing Call m_oServer.SaveAccessories(strXml, cnn, ErrDesc) If ErrDesc <> \ MsgBox ErrDesc End If 备注:

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

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

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

strXML = \oucherTypeID='88' VoucherID='001' />\

3) 初始化模版代码部分 '设置单据数据源对象

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

第28页 共 329页

ERP事业部咨询实施客户化开发部

Dim m_oDataSource As Object Set m_oDataSource = CreateObject(\ If m_oDataSource Is Nothing Then MsgBox \设置单据数据源对象Fail!\渣昫\ End If m_oDataSource.SetLogin m_oLogin Set ctlVoucher1.SetDataSource = m_oDataSource 表体附件

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

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

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

件的记录

表体定位

1:Toolbar 按钮 定位 2:按钮响应事件代码 ctlVoucher1.ShowFindDlg

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

表体固定行

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

表体排序

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

表体汇总

1:Toolbar 增加汇总

第29页 共 329页

ERP事业部咨询实施客户化开发部

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)

第30页 共 329页


EBU客户化开发基本能力提升手册(V890版)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常州机电职业技术学院

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: