L5--U8111客开培训文档--单据列表.docx_第1页
L5--U8111客开培训文档--单据列表.docx_第2页
L5--U8111客开培训文档--单据列表.docx_第3页
L5--U8111客开培训文档--单据列表.docx_第4页
L5--U8111客开培训文档--单据列表.docx_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

U811.1 客开培训资料之UAPU8单据列表控件开发培训部门:U8平台及公共开发部 U8版本号:V11.1讲师: 李亮 定稿时间:2013-11-110.变更记录变更阶段时间变更原因变更类型内容提出人1. 单据列表介绍1.1 单据列表发展历程单据列表发展经历了如下几个重大里程碑:1、U8V8.721)单据列表控件引用的UFSpGrid.ocx因代码超出VB工程“容量”,同时避免打破兼容性,更换为UFSpGrid2.ocx。2)同时单据列表支持的编辑功能,具体如下:单据列表对合并显示功能的支持:要使单据列表支持合并显示的功能,主要要对栏目设置功能的进行设置,单据列表对参照输入的支持1、增加对事件BrowUser,FillList的支持,其用法与SuperGrid中的用法相同2、要使单据列表具有参照输入的功能,须在栏目设置中进行如下设置:a.AA_ColumnDic及AA_ColumnSet两个视图b.BrowUserType,如果为NULL或为0,则单据列表状态保持原样,其它类型同SuperGrid中的类型定义,其定义如下:列参照类型Enum BrowType BrowNull = 0 UserBrowButton DblBrowButton DateBrowButton BrowComEnd Enum其值按递增。增加对超字段选择范围的支持,也就条件的字节数可以超过8k限制增加对UAP结构下分页组件的调用方式,用法如下:其大体调用方式与CS方式下的调用没有太大区别,与CS不同的地方在于要UAP的调用方式要声明一个算法变量,以支持UIP调用后结果集的导入,具体用法详见示例工程的Form2代码增加对枚举类型的支持在U8VouchList中增加分页的功能,用法如下:1、请按原有使用VouchList的方式使用单据列表2、将分页的按钮放在所使用的窗体中3、在数据库中执行脚本,创建分页引擎的存储过程SPPagediv2、U8V11.0单据列表整合了翻页和快捷过滤功能,同时增强了交互和易用性。如:着色、布局等20多个功能,具体参考 新单据列表迁移指导说明.doc1.2 单据列表示例代码及常用功能说明具体代码示例工程参见:列表测试工程1. 扩展:Private WithEvents m_pagediv As Pagediv 分页引擎,配合实现单据列表自身的翻页功能。Call objU8Tbl.InitExternalButton(strCardNum, m_Login)Call Me.UFToolbar1.SetFormInfo(VchLst, Me)单据列表及控件与toolbar绑定,以便后续二次开发功能拓展。2. 属性:VchLst.SumStyle = vlGridSum合计方式合计方式枚举Public Enum SumStyleEum vlSumNone = 0 没有合计 vlRecordsum = 1 记录集合计 vlGridSum = 2 Grid合计 vlRecordAndGridsum = 3 记录集和Grid合计End EnumVchLst.ReadOnly = Not CBool(1)VchLst.LoginObj = m_LoginVchLst.FltState = FalseVchLst.ShiftUpDown = True是否支持shift+上下箭头连续选择行VchLst.HiddenRefreshView = FalseVchLst.FillMode = FillOverwrite填充模式填充模式枚举Public Enum FillModeEnum FillAppend = 0 追加填充 FillOverwrite = 1 覆盖填充End EnumVchLst.Title=“列表的标题”VouchList.TextMatrix(row,col)=“单元格值” VouchList.LocateState定位状态 True:定位False:取消定位VouchList.TopRow纵向滚动后最顶上的当前行号3. 方法:Call VchLst.InitFlt(m_Login, clsVoucherLst.objFilter, , , , strErrorRes)初始化过滤对象VchLst.InitHead oColSet.getColInfo()初始化表头 sHeadXml表头格式信息VchLst.SetPrintOtherInfo sXML设置打印其它信息-表尾Set domOption = VchLst.GetListDom(False)取得列表对应dom对象 bSelect true-返回选中行dom对象 false-返回整个列表dom对象sXML = Me.VchLst.GetColumnWidthXML()获取被调整列宽或列序的栏目串VchLst .SetFormatString fdtrate, 0.000000、VchLst.DoFormat 设置格式化信息VchLst.ClearDataSource解除数据邦定VchLst.SetVchLstRst vltable.DataRecordset设置表体记录集VchLst.RecordCount = vltable.DataCount设置列表全部数据集记录数VchLst.SetSumRst rstSum合计记录集Call VchLst.BindPagediv(m_pagediv) 分页引擎邦定VchLst.AdJustGridWidth作废VchLst.ProtectUnload()数据合法性检查。当前对象状态安全检查,可在执行某些上层功能时调用。如增加/删除功能、窗口Form_QueryUnload事件等地方Private Sub ButtonClick(strButtonKey As String) If VchLst.ReadOnly = False Then If VchLst.ProtectUnload() 2 Then Exit Sub End IfEnd If Call VchLst.ShowVoucherDesign(strPrintCardnum, ipvtidStr, SA)打印模板设计界面VchLst.AddItem , VchLst.rows增加项目VchLst.ShowBatchModify调用这个方法显示批量修改窗口/VchLst.AllSelect/VchLst.AllNonelngMainCol = VchLst.GridColIndex(strMainKey)根据关键字来获取所在列的索引VchLst.Find查找:在定位状态下,查找下一个VchLst.InitPrintSetup strPrnXml初始化打印设置VouchList.VchLstPreview 预览VchLst.GetGridBody().XXX引用UFSpGrid2.ocx,用于直接操作UFSpGrid2控件VchLst.GetGridBody().GetGridBody().XXX引用vsflexgrid.ocx,用于直接操作vsflexgrid控件VouchList.Locate定位Set domLine = VouchList.GetBodyLine(iRow)根据行索引取得表体行dom对象4. 事件:Private Sub VchLst_AfterColumnsDisplayRule()着色后事件Private Sub VchLst_BatchModify(sItemXML As String)批改窗口弹出前,对传入批改窗口的xml进行再构造,比如设置参照类型等Private Sub VchLst_BrowUser(RetValue As Variant, row As Long, Col As Long)单元格编辑参照事件Private Sub VchLst_CellValueChanged(ByVal row As Integer, ByVal Col As Integer, NewValue As Variant, OldValue As Variant, KeepFocus As Boolean)单元格内容变化检查事件Private Sub VchLst_DblClick()双击Private Sub VchLst_FillList(ByVal r As Long, ByVal c As Long, pCom As Object)单元格编辑下拉事件Private Sub VchLst_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)Private Sub VchLst_PrintSettingChanged(ByVal varLocalSettings As Variant, ByVal varModuleSettings As Variant)打印信息改变时触发Private Sub VchLst_RowColChange()单据列表支持切换行功能Private Sub VchLst_SelectClick2(ByVal Selected As Boolean, ByVal row As Long)SelectClick和SelectClick2使用一个就可以了,而且SelectClick2要逐渐替代SelectClickPrivate Sub VchLst_CopySelect(bAuther As Boolean)增加copy to cliborad的功能 ,返回权限。Private Sub VouchList_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) 列表翻页事件2. 列表控件原有功能说明2.1 特性列表控件的安装位置:U8SOFTufcomsqlU8VouchList.ocx列表控件主要用于初报表外的表格样式的展示,包括单据列表、生单列表、个别档案列表等等。列表控件主要和栏目控件配合使用,也可以单独使用。列表控件具备编辑能力,支持文本、数字、下拉框、参照等输入方式。下面介绍列表控件的属性、方法、事件。2.2 属性BottomRow属性说明:获取当前显示区域最后一行的索引。只读属性。语法:VouchList1. BottomRow参数说明:无返回值:当前显示区域最后一行的索引ColPoint属性说明:获取与设置某列的小数位数。语法:VouchList1. ColPoint (cFld) = value as long参数说明:VouchList1:控件名称cFld:列的字段名Value:小数位数EditLocked属性说明:获取或设置控件是否被编辑锁定,锁定后将不能编辑。语法:VouchList1. EditLocked () = value as Boolean参数说明:VouchList1:控件名称Value:true锁定,不能编辑,false不锁定,可编辑。FrozenCols属性说明:获取或设置列表控件冻结列的个数。语法:VouchList1. FrozenCols () = value as Long参数说明:VouchList1:控件名称Value:冻结列的个数IsSumSelectedRows属性说明:获取和设置是否只对选中行进行合计。语法:VouchList1. IsSumSelectedRows () = value as Boolean参数说明:VouchList1:控件名称。Value:true-只对打上“Y”的行进行合计;false对所有行进行合计。LeftCol属性说明:获取和设置当前显示区域最左侧列的索引。语法:VouchList1. LeftCol = value as Long参数说明:Value:当前显示区域最左侧列的索引LoginObj属性说明:获取和设置登录对象,在批改时需要登录对象。如果使用批量替换必须设置该属性,而且在调用ShowBatchModify之前必须设置好,如果不使用批量替换,可以不设置。语法:VouchList1. LoginObj = value as Object参数说明:Value:当前U8的登录对象ReadOnly属性说明:获取和设置控件是否只读。语法:VouchList1. ReadOnly = value as Boolean参数说明:Value:true只读 false可编辑RightCol属性说明:获取当前显示区域最右侧列的索引。只读属性。语法:VouchList1. RightCol参数说明:无ShiftUpDown属性说明:获取和设置是否支持shift+上下箭头连续选择行。语法:VouchList1. ShiftUpDown= value as Boolean参数说明:VouchList1:当前控件对象。Value:true支持 false不支持。ShowSelCol属性说明:获取和设置是否显示选择列。语法:VouchList1. ShowSelCol= value as Boolean参数说明:VouchList1:当前控件对象。Value:true显示选择列 false不显示选择列。SortASC属性说明:获取和设置当前排序是升序还是降序。语法:VouchList1. SortASC= value as Boolean参数说明:VouchList1:当前控件对象。Value:true表示升序 false表示降序。SortCol属性说明:获取当前排序列的列号,如果返回值为-1表示没有排序列(还没有使用过排序)。语法:VouchList1. SortCol参数说明:VouchList1:当前控件对象。SumRows属性说明:获取和设置合计(小计)行的行数。有些合计行是业务组加进去的,不是用的SumStyle属性,这种情况处理选择行时就会把这样的行选中。增加这个属性后,业务组代码就可以更改合计行的行数,从而在选择行时排除这些行。注意:合计行必须是在末尾语法:VouchList1. SumRows= value as Long参数说明:VouchList1:当前控件对象。Value:有多少个合计行。SumStyle属性说明:如果需要连续使用addline增加行,将会频繁地调用GridAutoSum(addline内调用)导致效率下降。解决办法:程序员在连续调用addline之前,把sumstyle设置为sumnone,调用addline结束后,再赋回原来的合计方式。示例代码如下:dim OldSumStyle As SumStyleEumOldSumStyle = Vouchlist.SumStyleVouchList.SumStyle = SumStyleEum.vlSumNone.VouchList.SumStyle = OldSumStyle语法:VouchList1. SumStyle= value as SumStyleEum参数说明:VouchList1:当前控件对象。Value: Public Enum SumStyleEum vlSumNone = 0 没有合计 vlRecordsum = 1 记录集合计 vlGridSum = 2 Grid合计 vlRecordAndGridsum = 3 记录集和Grid合计End Enum TextMatrixName属性说明:返回表体中某一单元格的值,如果是枚举值,则返回枚举名称语法:VouchList1.TextMatrixName(row as long,col as long)参数说明:VouchList1:控件名称Row:行索引Col:列索引TopRow属性说明:获取和设置当前显示区域最顶端行的索引。语法:VouchList1. TopRow = value as Long参数说明:Value:当前显示区域最顶端行的索引2.3 方法AddLine方法说明:根据传入dom对象新增加一行,内部要调用AddItem方法。语法:Function AddLine(ByVal row As Long, ByVal oDom As DOMDocument) As Boolean参数说明:Row: 插入行索引,在该行后插入新增行 oDom: 行dom对象返回值:成功返回true,失败返回false。AddSumLine方法说明:根据传入dom对象新增加一行合计行. 语法:Public Function AddSumLine(ByVal row As Long, ByVal oDom As DOMDocument) As Boolean参数说明:Row:插入行索引,在该行后插入新增行 oDom:行dom对象返回值:成功返回true,失败返回false。CalcSum方法说明:重新计算合计行的数值。语法:Public Sub CalcSum()参数说明:无返回值:无DisableTextMatrix方法说明:设置单元格是否可用,不可用后,既不能手工输入,也不能通过textmatrix赋值。 语法:Public Sub DisableTextMatrix(ByVal bDisable As Boolean, ByVal sIndex As String, ByVal row As Long)参数说明:bDisable: true-disable false-enablesIndex: 列索引(字符串)row: 行索引(数值)返回值:无GetBodyLine方法说明:根据行索引取得表体行dom对象。 语法:Public Function GetBodyLine(ByVal row As Long) As DOMDocument参数说明:row: 行索引(数值)返回值:行dom对象,其中包含行中的数据。GetColIndex方法说明:根据列的字段名称取列的顺序号。 语法:Public Function GetColIndex(ByVal ColName As String) As Long参数说明:ColName: 列的字段名称返回值:列的顺序号。GetColName方法说明:根据列的顺序号取列的字段名称。 语法:Public Function GetColName(ByVal ColIndex As Long) As String参数说明:ColName: 列的顺序号返回值:列的字段名称。GetGridBody方法说明:获取列表控件封装的SuperGrid控件。 语法:Public Function GetGridBody() As Object参数说明:无返回值:SuperGrid控件对象。GetHeadLine方法说明:取得标题行的dom对象。 语法:Public Function GetHeadLine() As DOMDocument参数说明:无返回值:标题行的dom对象。GetListDom方法说明:取得列表数据的dom对象。 语法:Public Function GetListDom(ByVal bSelect As Boolean) As DOMDocument参数说明:bSelect:true-返回选中行dom对象 false-返回整个列表dom对象返回值:列表数据的dom对象。HideCaption方法说明:隐藏列表的标题,如销售订单列表的标题“销售订单列表”。语法:Public Sub HideCaption()参数说明:无返回值:无Locate方法说明:弹出定位窗口,根据输入的条件定位。 语法:Public Sub Locate(ByVal LocState As Boolean)参数说明:LocState:true-定位 false-取消定位返回值:无。ProtectUnload方法说明:当前对象状态安全检查,可在执行某些上层功能时调用。如增加/删除功能、窗口Form_QueryUnload事件等地方 语法:Public Function ProtectUnload() As OpType参数说明:无返回值:Enum OpType dbCandel = 0取消操作 dbRetry-重试操作 dbsuccess-操作成功End EnumReadOnlyTextMatrix方法说明:设置单元格是否只读,只读单元格不能手工输入,但是可以通过textmatrix赋值。语法:Public Sub ReadOnlyTextMatrix(ByVal bReadOnly As Boolean, ByVal sIndex As String, ByVal row As Long)参数说明:bReadOnly: true-只读 false可编辑sIndex: 列索引(字符串)row: 行索引(数值)返回值:无RemoveItem方法说明:删除一行。语法:Public Sub RemoveItem(ByVal Index As Variant)参数说明:Index: 行索引(数值)返回值:无SetCellFocus方法说明:光标移至单元格(Row,Col)。语法:Public Function SetCellFocus(ByVal row As Long, ByVal col As Long)参数说明:row: 行索引(数值)col: 列索引(数值)返回值:无SetListDom方法说明:将dom对象内的数据刷新到列表界面上,dom对象是一个recordset转换的对象。语法:Public Function SetListDom(ByVal oDom As DOMDocument) As Boolean参数说明:oDom:存放数据的dom对象返回值:执行成功返回true,否则返回false。ShowBatchModify方法说明:显示批量修改窗口,要支持批量修改功能,必须调用此方法。语法:Public Sub ShowBatchModify()参数说明:无返回值:无UpdateLine方法说明:根据传入dom对象数据更新一行。语法:Public Function UpdateLine(ByVal row As Long, ByVal oDom As DOMDocument) As Boolean参数说明:Row:行索引oDOM:dom对象返回值:更新成功返回true,否则返回false。2.4 事件AfterSort事件 触发时机:排序之后触发此事件功能: 处理列排序后的事件声明:Public Event AfterSort(ByVal col As Long, ByVal bAsc As Boolean)参数说明: bAsc:true升序 false降序col:排序的列号BatchModify事件 触发时机:批改窗口弹出前触发此事件功能: 批改窗口弹出前,对传入批改窗口的xml进行再构造,比如设置参照类型等。声明:Public Event BatchModify(ByRef sItemXML As String)参数说明: sItemXML:出给批改出口的xml字符串。BeforeEdit事件 触发时机:单元格进入编辑状态前触发此事件功能: 进入编辑之前的事件,可以在这里做一些编辑前的设置和判断,如果Cancel返回true,则不进入编辑。声明:Public Event BeforeEdit(ByRef Cancel As Boolean)参数说明: Cancel:如果Cancel返回true,则不进入编辑。BeforeSort2事件 触发时机:将要排序之前触发此事件功能: 处理列排序前的个性化需求声明:Public Event BeforeSort2(ByRef bSort As Boolean, ByVal col As Long, ByVal bAsc As Boolean)参数说明: bSort:是否继续排序,如果为false,则将不执行排序操作,也将不触发BeforeSort和AfterSort事件。bAsc:true将要执行的是升序 false将要执行的是降序col:排序的列号BeforeSort事件 此事件已废弃,由BeforSort2代替。Click事件 触发时机:鼠标在控件上点击时触发功能: 处理鼠标单击事件声明:Public Event Click()参数说明: 无DblClick事件 触发时机:鼠标在控件上双击时触发功能: 处理鼠标双击事件声明:Public Event DblClick()参数说明: 无IsAllowBatchModify事件 触发时机:批改窗口关闭后,执行批改过程中触发。功能: 是否允许批改事件,在进行批改前判断单元格是否可修改,如果bCanModify返回为false,则对此单元格不执行批改。声明:Event IsAllowBatchModify(ByRef bCanModify As Boolean, ByVal row As Long, ByVal colkey As String)参数说明: bCanModify:false不执行批改 true执行批改row:行索引colkey:列字段名KeyDown事件 触发时机:键盘按键按下时触发功能: 处理键盘按键按下事件声明:Public Event KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)参数说明: KeyCode:按下的按键Shift:同时按下的其他功能键KeyPress事件 触发时机:键盘按键按下时触发功能: 处理键盘按键按下事件声明:Public Event KeyPress(ByVal KeyAscii As Integer)参数说明: KeyAscii:按下的按键KeyUp事件 触发时机:键盘按键按下后又松开是触发功能: 处理键盘按键松开抬起时的事件声明:Public Event KeyUp(ByVal KeyCode As Integer, ByVal Shift As Integer)参数说明: KeyCode:按下的按键Shift:同时按下的其他功能键SelectClick2事件 触发时机:当选中/取消选(打上“Y”/去掉“Y”)中一行时触发此事件。代替SelectClick事件。功能: 处理行选中/取消选中时的个性化操作。声明:Public Event SelectClick2(ByVal Selected As Boolean, ByVal row As Long)参数说明: Selected:当前所点击的选择列的状态,如果已选择,也就是被打上“Y”,则此值为True,否则为FalseRow:当前选中/取消选中的行索引。其他的属性、方法、事件列表控件其他的属性、方法、事件请参考:(html格式文件,双击图标可打开)2.5 Supergrid表格控件SuperGrid控件的安装位置:U8SOFTufcomsqlUFSPGrid.ocx属性方法AddItem方法说明:在列表表体中增加一行语法:VouchList1.AddItem(Item As String, Index As Long)参数说明:Item:待插入行的String表示,用vbTag或Chr(0)分隔开的字符串Index:待插入的行在列表中所在的位置,如果这个参数忽略,将在列表的表体最末行加入返回值:无Clear方法说明:清空Grid的数据。语法:VouchList1.AddItem(Item As String, Index As Long)参数说明:Item:待插入行的String表示,用vbTag或Chr(0)分隔开的字符串Index:待插入的行在列表中所在的位置,如果这个参数忽略,将在列表的表体最末行加入返回值:无事件BeforeEdit事件 触发时机:单元格进入编辑状态前触发此事件功能: 进入编辑之前的事件,可以在这里做一些编辑前的设置和判断,如果Cancel返回true,则不进入编辑。声明:Event BeforeEdit(Cancel As Boolean, sReturnText As String)参数说明: Cancel:如果Cancel返回true,则不进入编辑sReturnText:可以通过这个参数返回单元格的值其他的属性、方法、事件Supergrid表格控件的属性、方法、事件请参考:(html格式文件,双击图标可打开)3. 栏目控件相关3.1 特性栏目控件是用来设置编辑栏目的位置、标题、宽度等信息的控件,开发者可以利用此控件返回的SQL语句动态拼写SQL语句。3.2 显示栏目Dim colset as New U8ColumnSet.clsSetCnnstr=”Data数据库连接串”Call colset.init(cnnstr,用户名)Call colset.setColMode(Key值,1)第二个参数为1返回显示列,为2返回默认列,为0返回所有列Colset.setcol3.3 得到返回值 GetSqlString 返回SQL语句的Select部分。 GetSqlSumString 返回SQL语句的汇总部分(需要将ShowSumType设置为True才有效)。 GetOrderString、GetOrderStringEx返回SQL语句的Order by部分。 GetSQLGroupString返回SQL语句的Group By部分(需要将ShowSumType设置为True才有效)3.4 getColInfo得到栏目的XML信息3.5 关于元数据和缓存栏目存储规则为先从Meta库的AA_Columndic_Base表中读取数据,同时管理客户数据即Data库的AA_Columnset_Base表。如果客户在Data库中的AA_Columndic_Base表中有与Meta库不存在的记录则会加载这部分记录。栏目存储后会将记录缓存在Data库的AA_ColumnDicCache_Main和表AA_ColumnDicCache_Detail表中,所以如果手工提交栏目的SQL语句修改栏目则需要清除以上两个表的相关记录。4. 权限相关摘要 功能权限通常称之为“按钮权限”或者“菜单权限”,即控制用户点击按钮或者菜单的权限。设置用户、角色对应档案、单据的数据权限,用于控制后续业务处理中允许录入、查看的数据范围。支持记录级权限控制和字段级权限控制。用户可以根据数据权限默认设置来决定某一系统是否需要权限控制。用户具体的权限由用户自身权限、用户继承角色权限组成。记录级权限支持VB版和.Net版两个版本。主要负责控制用户可以看到多少数据,例如部门档案,可以通过记录级权限设置某一用户只能查看或修改其中一个或多个部门数据。11.0版本增加了管理维度权限,它属于记录级功能权限的一个扩展,它可对某些特殊档案进行多个维度的控制,例如客户档案,我们可以设置A用户的客户管理维度权限:当某些客户档案属于XX部门管理,地点在北京地区,又属于IT业务时(相当于符合3个维度权限要求),A用户可看到该客户档案信息,如果该客户档案有一个维度不符合,则A用户就看不到该客户档案信息。字段级权限:可以控制某一个用户是否可以查看/修改某一个敏感字段,例如某公司采购一件商品,运货人员在系统中是不允许看到本次交易金额的,但是可以看见货物的发货地址和接受地址。注意:870之后,字段权限增加了无权限。其中有两点需要特别注意:(1)系统为字段级权限设置了默认权限,而当用户自身设置了其中某一字段权限后,则该权限优先,默认权限失效。(2)当一个用户拥有多个角色,那么首先用户自身设置的权限优先,其他权限均取最大权限值。什么是权限? U8系统里的权限分为两种,一种是对功能权限进行控制,另一种则是对系统中的每一行数据或者一部分数据中的敏感字段进行控制,不同的人授予不同的权限,增强系统的安全性和保密性,达到最终的管理目标。目标本文主要介绍权限的基础知识,应用过程及相关注意事项,方便各类U8产品开发人员更好的使用权限,更高效的开发产品。功能权限可以做什么?功能权限通常称之为“按钮权限”或者“菜单权限”,即控制用户点击按钮或者菜单的权限。功能权限控制的精细程度由开发者来决定。比如某个功能点仅控制菜单进入权限,另一功能点控制“新增”、“修改”、“删除”权限。4.1 如何使用功能权限?预置功能权限1.1 从10.0开始,账套库增加了权限表UA_Auth_Base和UA_Auth_Lang,表结构与UFSystem库对应的表结构完全一致,UFSystem库的表用于存放标准产品预置数据,UFDATA账套库的表用于存放运行时产生的权限(如用户自定义报表、表单)和二次开发的权限。注意,二次开发的权限信息必须存放在账套库中,否则备份还原账套时权限将会丢失。数据字典如下:功能权限基本表(UA_Auth_Base)(UFData库)字段名字段类型说明cAuth_Id (U861)nvarchar(100)功能编号cSub_Id (U861) nvarchar(2)模块标识iGrade (U861) smallint级次cSupAuth_Id (U861) nvarchar(100)上级功能编号bEndGrade (U861) bit是否末级cAcc_Id (U861) nvarchar(3)账套号(废弃)iOrder (U861) int显示顺序号cAuthType (U870) nvarchar(10)互斥类型(不需要预制,计算结果,参见登录开发文档)cAllSupAuths (U871) nvarchar(1024)父节点目录(不需要预制,计算结果,参见登录开发文档)irepnum (U871) int互斥功能个数(不需要预制,计算结果,参见登录开发文档)cRepellentModule (U871) nvarchar(255)互斥模块集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)cNotRepellent (U871) nvarchar(1024)不互斥功能集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)cRepellent (U871) nvarchar(4000)互斥功能集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)cRepInDB (U8100) nvarchar(4000)互斥功能集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)cRepModInDB (U8100) nvarchar(250)互斥模块集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)cNotRepInDB (U8100) nvarchar(1024)不互斥功能集合,以逗号分隔(不需要预制,计算结果,参见登录开发文档)功能权限多语表(UA_Auth_Lang)(UFData库)字段名字段类型说明cAuth_ID (U861) nvarchar(100)功能编号localeid (U861) nvarchar(32)语言ID,zh-CN(简体中文),zh-TW(繁体中文),en-US(英文)cAuth_Name (U861) nvarchar(150)功能权限名称运行时验证功能权限参照登录开发文档。把功能权限与企业门户菜单进行关联参照企业门户开发文档。4.2 数据权限可以做什么? 数据权限是软件系统中开发中必不可少的功能,它是整个软件安全的一部分。V10.1及之前版本数据权限特性由于V11.0版本只是在数据权限中增加和调整了一部分管理维度权限,其他内容均和之前版本相似,所以这里不做重点的讲解,这些版本的程序引用和调用方法模式没有变化。使用方式将在如何使用数据权限中介绍。V11特性支持管理维度控制 对于客户、客户联系人、服务、线索、行动、竞争对手、竞争订单等一些特殊的业务对象进行多维度的控制,来达到更复杂的数据安全管理需求。目前支持7个维度的控制,分别为相关/负责人员、部门、管理维度1、管理维度2、管理维度3、管理维度4、客户权限维度,其中相关/负责人员的数据来源于系统操作员,部门档案维度的数据来源于部门档案,管理维度1到4以及客户权限维度均由用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论