BOS高级应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BOS高级应用
以下都是目前无法通过BOSIDE直接配置实现的功能,但能够参考以下方式完成相应的功能。
1、改变FTab的标签总数为2和名称:
SQL:update ICClassctl set fcaption_chs='基本信息|备注信息',FCaption_CHT='基本信息|备注信息',FCaption_En='Base Info|Text Info',Ftabs=2
where fclasstypeid=300000000
说明:ICClassctl为常用控件的存储表,其中FTabs是存储[页签]控件标签总数的数值。FCaption_chs、FCaption_cht、FCaption_En是分别存储控件的简体中文、繁体中文和英文内容的字段,而不同标签的名称BOS程序通过|字符来区别。
2、将[单据编号]字段放入[页签][基本信息]中
SQL: update icclasstableinfo set FContainer='FTab,0' where fclasstypeid=300000000 and fkey='FBillNo'
说明:FBillNo是BOS自定义的字段无法通过BOS IDE删除,为了实现这个功能目前只能通过变更元数据的方式来进行实现,
FContainer:BOS控件容器,说明该字段隶属哪个控件容器。
3、过滤界面增加[审核状态]的扩展下拉列表
SQL:Update icclasstableinfo set flock=-1,fconditionext=1000000 where fclasstypeid=300000000 and fkey='Fchecker'
说明:fconditionext=1000000对应的内容为ICClassCondition表中FID=1000000内容,察看该条记录的FDataSource_CHS简体中文信息为:”全部;None~已审核;isnull(@Field,0)>0~未审核;isnull(@Field,0)<=0”。
全部:对应得解析条件为None,说明该过滤条件不起作用
已审核:对应得isnull(@Field,0)>0,通过判断Fchecker字段的值是否大于0,来判断其是否审核;
未审核:对应得isnull(@Field,0)<=0,通过判断Fchecker字段的值是否小于等于0,来判断其未审核。
P.S:如果现有的扩展过滤条件不满足条件需要增加,请不要紧接着系统定义的Fid开始扩展,
以免被系统升级时清除,可像单据类型一样从200000000开始。
4 在序时簿上增加凭证字号的显示
SQL: Update icclasstableinfo set fconditionext=1000002 where fclasstypeid=300000000 and fkey='FVchInterID'
说明:类同4
5 、输入仓库后,按仓库对应的仓库组过滤出对应的仓位
update ICClasstableinfo set FFilter='FSPGroupID = (SELECT FSPGroupID FROM t_Stock WHERE FItemID = GetFldValue(FDCStockID,1))' where FKey='FDCSPID' and FClassTypeID=300000000
6、根据输入的物料、仓库、仓位过滤过率批次号时
update ICClassTableinfo set FFilter='(FItemID=GetFldValue(FItemID,1) and FStockID=GetFldValue(FDCStockID,1) and FStockplaceID=GetFldValue(FDCSPID,1))' where FKey='FBatchNo' and FClassTypeID=300000000
7、更新BOS元数据缓存
SQL:Update ICClasstype set Fid=fid
说明:BOS10.2为了性能优化,将ICCLassTableinfo的信息读入缓存,通过读取ICClasstype 的时间戳是否更改来判断是否需要从SQL Server中重新读取,因此更改ICClasstableinfo后需要通过上述代码来更新时间戳,已达到清除缓存的目的。
8、通过手工插入模板完成总帐凭证查询的功能模块的归属(从凭证调用对应的单据,目前没法完成)
insert into t_V oucherTplType(FTplTypeID,FTplTypeName,ftplTypeName_cht,FTplTypeName_en,FModule Name,Fmodulename_cht,FModuleName_en)
values(300000000,'BOS 演示单据','BOS 演示单据','BOS Show Bill','BOS演示功能','BOS演示功能','BOS Show')
9、修改[BOS演示单据]的帮助文档为K3BOS.CHM(K/3BOS帮助手册)
update t_DataFlowSubSystem set fhelpfilename='K3BOS.CHM' where fname=' BOS演示功能'
10、增加产品入库通知单->产品入库单选单和下推的限制条件,当产品入库通知单.关联数量<产品入库通知单.基本数量单位允许选单
update ICClassLink set fcondition=' FChecker>0 and FCommitQty_base 11、增加[产品入库单]单据保存前判断的插件 update t_ThirdPartyComponent set fcomponentname='K3MBOSShow.CBill_Show',fcomponentsrv='K3MBOSShow.CBill_Show',FD escription='选单超额判断' where ftypedetailid=2 and findex=0