当前位置:首页 >> 能源/化工 >>

客开项目开发实例


U8 知识库文档

客开项目开发实例-昌德化工

客户需求概括
本文以采用客户化开发工具完成昌德化工的项目为例进行介绍。 昌德公司化工行业, 工艺达标率是生产过程中, 各设备的巡检结果的记录; 每小时会巡 检一次, 需要将巡检各工艺设备的结果记录于 ERP 系统中;
现用友U8ERP 标准功能: 手工录入

r />其它报检单

其它检验单

因在标准功能中, 其它检验单必须根据其它报检单生成, 在昌德实际作业过程中, 巡检 是每小时或不定期巡检, 如需要先做其它报检单, 再生成其它检验单, 工作效率严重下降, 特昌德公司希望用友 U8ERP 可以实现:
昌德公司希望实现功能: 手工录入

其它检验单

客户化开发方案
在质量管理模块增加日常检验单作为日常记录,该单据可以手工录入不必参照报检单, 界面设计如下图所示:

www.yonyou.com

U8 知识库文档

开发步骤
1. 创建菜单
在质量管理模块创建日常检验单、日常检验单列表菜单:
日常检验单菜单脚本

-- 创建菜单脚本 GO -- select * IF BEGIN delete from UA_Menu where cMenu_id='QM0209' insert into UA_Menu ([cMenu_Id],[cMenu_Name],[cMenu_Eng],[cSub_Id],[IGrade],[cSupMenu _Id],[bEndGrade],[cAuth_Id],[iOrder],[iImgIndex],[Paramters],[Dep ends],[Flag],[IsWebFlag]) values('QM0209','日常检验 from UA_Menu where from cMenu_id='QM0209'

NOT EXISTS (select *

UA_Menu where cMenu_id='QM0209')

www.yonyou.com

U8 知识库文档
',Null,'QM',1,'qm','0',Null,2090,2,Null,Null,Null,Null) END GO -- select * IF BEGIN delete from UA_Menu where cMenu_id='QM020901' insert into UA_Menu ([cMenu_Id],[cMenu_Name],[cMenu_Eng],[cSub_Id],[IGrade],[cSupMenu _Id],[bEndGrade],[cAuth_Id],[iOrder],[iImgIndex],[Paramters],[Dep ends],[Flag],[IsWebFlag]) values('QM020901','日常检验单 ',Null,'QM',2,'QM0209','1','',2110,4,Null,Null,Null,Null) END GO -- select * IF BEGIN delete from UA_Menu where cMenu_id='QM020902' insert into UA_Menu ([cMenu_Id],[cMenu_Name],[cMenu_Eng],[cSub_Id],[IGrade],[cSupMenu _Id],[bEndGrade],[cAuth_Id],[iOrder],[iImgIndex],[Paramters],[Dep ends],[Flag],[IsWebFlag]) values('QM020902','日常检验单列表 ',Null,'QM',2,'QM0209','1','',2110,4,Null,Null,Null,Null) END GO from UA_Menu where from cMenu_id='QM020902' from UA_Menu where from cMenu_id='QM020901'

NOT EXISTS (select *

UA_Menu where cMenu_id='QM020901')

NOT EXISTS (select *

UA_Menu where cMenu_id='QM020902')

参考附件:快速开发工具案例——菜单.sql

2. 创建日常检验单据
使用快速开发工具创建日常检验单脚本,如下图所示:
日常检验单脚本

参考附件:快速开发工具案例——单据.sql;快速开发工具案例——按钮(meta).sql

www.yonyou.com

U8 知识库文档

3. 个性化需求开发
a) 在新增日常报检单时,报检时间自动选择系统当前时间年/月/日且不能修改。

www.yonyou.com

U8 知识库文档
设置报检时间格式

insert

into

VoucherItems_Base

([VT_ID],[CardNum],[CardItemNum],[CanNotSelect],[ShowIt],[LinkIt] ,[LinkTbl],[LinkField],[TableName],[FieldName],[FieldType],[Refer Type],[ReferTable],[CardSection],[CanModify],[MaxLength],[MaxShow Len],[NumPoint],[IsNull],[CanDelete],[UserCheck],[UserPrompt],[Fo rmatChar],[IsMain],[NeedSum],[CalcField],[AliasNum],[isSelfDef],[ COX],[COY],[Width],[Height],[TabIndex],[DefaultValue],[IsFixedLen ght],[FormatData],[PrintCaption],[PrintUpcase],[PrintInterval],[D ataSource],[EnterType],[DataRule],[ValidityCheck],[ReserveSegTitl ePos],[BuildArchives],[ReferReturnField],[cmemo],[nBorder],[EnumT ype],[IsEnum],[EnumTypeString],[bZeroAllowable],[iFlags],[vValueD efault],[refObject],[AutoFillRule],[Catalog],[bsplit],[IsJoinQuer y],[bExtended]) values(@VT_ID,'QM020901','149','0','1',0,Null,Null,'Inventory_Inf ormation','datetime1',5,3,Null,'T','0',20,2000,0,'0',1,Null,Null, '1','0',0,'0',0,0,7080,840,3240,250,149,'','0','YYYY-MM-DD hh:mm:ss','1','0','',0,0,Null,'0','1','0',Null,'',0,Null,'0',Null ,'1',0,'',Null,Null,0,'0','0','0')
在插件中编辑报检时间取值

'Voucher

当前单据对象 错误信息

'ButtonKey 按扭关键字 'strUserErr 'bSuc =true 表示成功并终止系统流程 =false 表示失败并继续系统流程 Public Sub After_ButtonClick(Voucher As Object, ButtonKey As String, strUserErr As String, bsuc As Boolean) bsuc = False Select Case LCase(StrCardNum) Case LCase("QM020901") If LCase(ButtonKey) = "add" Then Vouchers_Frm.Voucher.headerText("datetime1") Format(Getsqlval(" hh:mm:ss") End If Case Else select getdate()", DBconn), = "YYYY-MM-DD

End Select End Sub

www.yonyou.com

U8 知识库文档

b) 质量检测方案编码参照。

对应参照脚本

www.yonyou.com

U8 知识库文档
insert into VoucherItems_Base ([VT_ID],[CardNum],[CardItemNum],[CanNotSelect],[ShowIt],[LinkIt] ,[LinkTbl],[LinkField],[TableName],[FieldName],[FieldType],[Refer Type],[ReferTable],[CardSection],[CanModify],[MaxLength],[MaxShow Len],[NumPoint],[IsNull],[CanDelete],[UserCheck],[UserPrompt],[Fo rmatChar],[IsMain],[NeedSum],[CalcField],[AliasNum],[isSelfDef],[ COX],[COY],[Width],[Height],[TabIndex],[DefaultValue],[IsFixedLen ght],[FormatData],[PrintCaption],[PrintUpcase],[PrintInterval],[D ataSource],[EnterType],[DataRule],[ValidityCheck],[ReserveSegTitl ePos],[BuildArchives],[ReferReturnField],[cmemo],[nBorder],[EnumT ype],[IsEnum],[EnumTypeString],[bZeroAllowable],[iFlags],[vValueD efault],[refObject],[AutoFillRule],[Catalog],[bsplit],[IsJoinQuer y],[bExtended]) values(@VT_ID,'QM020901','51','0','1',0,Null,Null,'Inventory_Info rmation','str3',1,1,Null,'T','1',20,2000,0,'0',1,Null,Null,'1','0 ',0,'0',0,0,240,1920,3120,250,51,'','0','','1','0','',0,0,Null,'0 ','1','0',Null,'',0,Null,'0',Null,'1',0,'',Null,Null,0,'0','0','0 ') insert into VoucherItems_Base ([VT_ID],[CardNum],[CardItemNum],[CanNotSelect],[ShowIt],[LinkIt] ,[LinkTbl],[LinkField],[TableName],[FieldName],[FieldType],[Refer Type],[ReferTable],[CardSection],[CanModify],[MaxLength],[MaxShow Len],[NumPoint],[IsNull],[CanDelete],[UserCheck],[UserPrompt],[Fo rmatChar],[IsMain],[NeedSum],[CalcField],[AliasNum],[isSelfDef],[ COX],[COY],[Width],[Height],[TabIndex],[DefaultValue],[IsFixedLen ght],[FormatData],[PrintCaption],[PrintUpcase],[PrintInterval],[D ataSource],[EnterType],[DataRule],[ValidityCheck],[ReserveSegTitl ePos],[BuildArchives],[ReferReturnField],[cmemo],[nBorder],[EnumT ype],[IsEnum],[EnumTypeString],[bZeroAllowable],[iFlags],[vValueD efault],[refObject],[AutoFillRule],[Catalog],[bsplit],[IsJoinQuer y],[bExtended]) values(@VT_ID,'QM020901','52','0','1',0,Null,Null,'Inventory_Info rmation','str4',1,1,Null,'T','0',20,2000,0,'0',1,Null,Null,'1','0 ',0,'0',0,0,3600,1920,3000,250,52,'','0','','1','0','',0,0,Null,' 0','1','0',Null,'',0,Null,'0',Null,'1',0,'',Null,Null,0,'0','0',' 0') insert into SA_ReferFillConfig ([cardnumber],[fieldname],[cardsection],[refername],[sourcefieldn ame],[destfieldname],[breferfill],[bcellcheckfill],[bclear],[bche ckchange],[changemsg]) values('QM020901','str3','T','qmcheckproject_qm','cprojectcode',' str3','1','1','1',Null,Null) insert into SA_ReferFillConfig

www.yonyou.com

U8 知识库文档
([cardnumber],[fieldname],[cardsection],[refername],[sourcefieldn ame],[destfieldname],[breferfill],[bcellcheckfill],[bclear],[bche ckchange],[changemsg]) values('QM020901','str3','T','qmcheckproject_qm','cprojectname',' str4','1','1','1',Null,Null) insert into SA_ReferFillConfig ([cardnumber],[fieldname],[cardsection],[refername],[sourcefieldn ame],[destfieldname],[breferfill],[bcellcheckfill],[bclear],[bche ckchange],[changemsg]) values('QM020901','str4','T','qmcheckproject_qm','cprojectcode',' str3','1','1','1',Null,Null) insert into SA_ReferFillConfig ([cardnumber],[fieldname],[cardsection],[refername],[sourcefieldn ame],[destfieldname],[breferfill],[bcellcheckfill],[bclear],[bche ckchange],[changemsg]) values('QM020901','str4','T','qmcheckproject_qm','cprojectname',' str4','1','1','1',Null,Null)

c) 指标质量判定: 录入的检验值(根据标准值和上限值及下限值 范围) 自动判定是 否合格

插件

'初始化用户插件 'Voucher 'sKey 'sRet 当前单据对象 当前操作关键字 返回值 错误信息

'strUserErr 'bChanged

'bSuc =true 表示成功并终止系统流程 =false 表示失败并继续系统流程 Public Sub Voucher_headCellCheck(ByVal Voucher As Object, sKey As String, RetValue As String, bChanged As Long, strUserErr As String,

www.yonyou.com

U8 知识库文档
bsuc As Boolean) bsuc = False Dim sqlstr As String Dim row As Long

Select Case StrCardNum

Case "QM020901" If LCase(sKey) = "str3" Then sqlstr = "select CCHKITEMNAME as 检验项目,CCHKGUIDENAME as 检验指 标,(case CBUGGRADE when 2 then '一般' when 1 then '重要' else '严重' end) as 缺陷等级,CSTANDARD as 标准值,IUPPERLIMIT as 上限值,ILOWERLIMIT as 下 限值,(case BRECORDDETAILS when 1 then '是' else '否' end) as 记录样本 值 from QM_QCheckProjectList Where CPROJECTCODE = '" & RetValue & " '" If rds.State <> 0 Then rds.Close rds.CursorLocation = adUseClient rds.open sqlstr, DBconn.ConnectionString, 3, 4 Do While Not rds.EOF row = row + 1 Voucher.bodyText(row, ").Value '检验项目 Voucher.bodyText(row, ").Value '检验指标名称 Voucher.bodyText(row, "b_str12") = "PCS" '检验指标计量单位 Voucher.bodyText(row, "b_str15") = "合格" '指标质量判定 Voucher.bodyText(row, ").Value ").Value ").Value ").Value ").Value ").Value '缺陷等级 "b_str17") "b_str18") "b_str19") "b_str20") = = = = rds.fields(" 标 准 值 rds.fields(" 上 限 值 rds.fields(" 下 限 值 rds.fields(" 标 准 值 '标准值 '上限值 '下限值 '检测值 '记录样本值 Voucher.bodyText(row, Voucher.bodyText(row, Voucher.bodyText(row, 'Voucher.bodyText(row, "b_str16") = rds.fields(" 缺 陷 等 级 "b_str11") = rds.fields(" 检 验 指 标 "b_str10") = rds.fields(" 检 验 项 目

Voucher.bodyText(row, "b_str21") = rds.fields(" 记 录 样 本 值

rds.MoveNext Loop bsuc = False

www.yonyou.com

U8 知识库文档

' '

Else bsuc = True End If

Case Else bsuc = False End Select End Sub

相关知识
参见附件: 《Interface_EFQM》 。

www.yonyou.com


相关文章:
JAVA项目开发实例全教程_图文
JAVA项目开发实例全教程_计算机软件及应用_IT/计算机_专业资料。光盘内容框架本书附带光盘内容包括本书源程序、全程视频教学程序、 《编程词典》体验版,完整光 盘...
经典J2EE项目案例
软件开发项目案例 软件开发项目案例 项目以后项目仅供...让销售商随时随地能快速为客 户提供手机产品; 互联...将显示当前墙中所有已经开的窗口 的详细信息和处理...
+项目开发计划书样例
项目开发计划书样例。一个具体实例 系统软件项目开发计划书 档案号 设计阶段 ...项目进度计划表 阶 任务内容 段 项目计划 需求分析 需求评审 模块细划 开 ...
工程项目开发实例教程书(完)
工程项目开发实例教程书(完)_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 工程项目开发实例教程书(完)_IT/计算机_专业资料。工程项目开发实例教程书 ...
html网站开发实例项目
html网站开发实例项目_计算机软件及应用_IT/计算机_专业资料。html 项目开发实例耳机...上边已经说明,我们选择用 PHP 技术开 发该企业网站。 PHP 可以编译成具有与...
30个房地产开发项目营销策划案例实例
30个房地产开发项目营销策划案例实例_销售/营销_经管营销_专业资料。30个房地产开发项目营销策划案例实例 30 个房地产开发项目 营销策划案例实例 1. ?春之声?服饰...
项目开发计划_图文
项目开发计划_IT/计算机_专业资料。电子商务搜索实例 项目开发计划 项目开发计划 Project Development Plan 编号: 编号:TMP-PDP-1 版本:1.0 版本 项目名称: 项目...
单片机开发实例
3 单片机开发工程案例分析与解析 3.1 定时报警器设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59 秒)进行倒计时,当计 时到 0 时数码管闪烁“...
安卓开发实例一
安卓开发实例一_计算机软件及应用_IT/计算机_专业资料。开卷语 俗话说,“熟读唐诗三百首,不会作诗也会吟”。最近收集了很多 Android 的示例代码, 从这些代码的...
Android_客户端开发流程图及案例
手机客户端及案例 Android 客户端开发流程 1 项目...基于Android的用药安全客... 暂无评价 29页 ¥30...Android腾讯微博客户端开... 76页 1下载券 Android...
更多相关标签:
java小项目开发实例 | c 项目开发实例 | qt项目开发实例 | wpf项目开发实例 | stm32项目开发实例 | java项目开发实例 | struts2项目开发实例 | linux c项目开发实例 |