1、海立 OA 办公平台维护手册1.1 系统备份系统提供较为完善的数据库备份方案,利用数据库自身的增量数据部分和全量数据备份功能,最大限度地保证数据的安全性。数据备份类型 周期 备注增量数据备份 每日备份时间在晚间/凌晨,且可配置全量数据备份 每周备份时间在每周六/周日,且可配置备份机制的实现将采用数据库存储过程和操作系统任务相结合的方式,稳定、准时,可靠性高。所有数据备份到网络硬盘上。系统将为系统管理员提供接口和界面触发系统的数据库备份和恢复。1)建立每月一次完整备份SQL-Server 代理-作业-新建作业(名称:ScoreCard 每月一次完全备份) ,在“ 步骤”选项中粘入 T-SQL 语
2、句declare filename nvarchar(100) set filename=f:testScoreCard+convert(char(6),getdate(),112)+.bakprint filenameBACKUP DATABASE DB_ScoreCard TO DISK = filename WITH NOINIT , NOUNLOAD NOSKIP , STATS = 10, NOFORMAT, NAME = NDB_ScoreCard-完全备份GO2),设定备份频率和备份开始时间在计划中设定“每月执行”,设定执行时间3)建立每天一次差异备份和备份频率3-1 SQL-S
3、erver 代理-作业-新建作业(名称:ScoreCard 每天一次差异备份) ,在“步骤”选项中粘入 T-SQL 语句Declare filename nvarchar(100) set filename=f:testScoreCard+convert(char(6),getdate(),112)+.bakPrint filename BACKUP DATABASE DB_ScoreCard TO DISK = filename WITH DIFFERENTIAL ,NOFORMAT, NOINIT, NAME = NDB_ScoreCard-差异备份, SKIP, NOREWIND,NOU
4、NLOAD, STATS = 10GO注意:数据库的完成备份和差异备份都备份到同一个*.bak 的文件中3-2 在计划中设定“ 每天执行”,设定执行时间4)、恢复数据库“数据库”“ 任务”“数据库”,选择要还原的*.bak 备份文件,会有如下列表。选择当月的完整备份,然后再选择具体到哪天的差异备份,数据将被恢复到具体某天的内容。App 备份:可以利用 Windows Service 在系统 定期备份到磁盘。1.2 修改表单1.2.1 流程表单管理员进入系统后,表单流程报表菜单主表单定义查找到待修改流程基本设置表单模板编译已修改好的本地 word 表格。1.2.2 字段基本属性1. 基本设置字段
5、基本属性可修改字段的基本属性。2. 其中,模板标记与数据库字段名称相同,在设置中无法修改,只能进行重新编译表格进行修改。3. 字段名称可随意修改,与流程执行中的弹出框内容相同。4. 数据类型中,一旦设置为大文本后,将无法再修改类型。 (推荐设置为字符串)5. 精度为流程中可输入的长度。1.2.3 字段高级属性1. 数据基本类型为整数时,控件类型才可定义为 checkbox2. Script 是在控件内容发生改变时触发,其中编辑网格无法触发该处 JS1.2.4 隐藏字段定义1. 设置隐藏字段可设置缺省值,也可以在流程中用 JS 记录一些后台信息。1.2.5 按钮定义1. 可以在表单中添加自定义按
6、钮,用存储过程或 JS 实现功能1.2.6 Scipt1. 函数名要带()2. 若 JS 执行在“下一步脚本”内,必须用 return true 控制流程正常执行。1.3 修改流程1.3.1 工作流程定义1. 表单流程报表菜单工作流程定义基本属性中的启动权限,可设置发起流程的人员。2. 节点定义中,页面初始化脚本、下一步脚本在系统流程中无法执行。1.4 修改存储过程1. 在数据库中编写存储过程,参数为flow_ins_id INT,emp_id int,其中只用flow_ins_id 为流程 ID(emp_id int可能为空) 。2. 高级功能定义存储过程定义新增 输入信息3. 新增后,高级
7、功能定义系统事务定义新增 输入信息4. 在流程中,新建节点:1.5 金格电子签名修改1.5.1 在服务器 E:HighlyOA 正式系统HighlyOAflow 中:1. 在 HighlyOAflowfl_ui_main.aspx 加入.div1height:30px;width:120px;overflow:hidden;table-layout: fixed;word-wrap: break-word; 2. 修改两个方法function loadme(imgFolder) initDocument();/ var obj_all = document.getElementsByTagNa
8、me(“textarea“);/ for (i = 0; i +);if(window.fi_issubflow_window) /子流程窗体window.opener.location=window.opener.location;var win_desk=window.opener; var href=(+win_desk.location).toLowerCase(); if(href=) return;if(href.indexOf(project_content_list.aspx)-1)/档案查询内容列表打开win_desk.this_refresh();else if(href.
9、indexOf(doc_document_edit.aspx)-1)/文档打开win_desk.location=win_desk.location;else if(href.indexOf(frm_form_edit.aspx)-1)return ;else if(href.indexOf(frm_form_view.aspx)-1)return ;elsewin_desk=window.opener.parent; var i=0; while(!win_desk.parent.framesf_center width: 120px;overflow: hidden;table-layou
10、t: fixed;word-wrap: break-word;function loadme() document.all.fi_fl_mainform_frame.height = document.all.fi_fl_mainform_frame.contentWindow.document.body.scrollHeight;theForm.SignatureControl.ShowSignature(“);/ var obj_all = document.getElementsByTagName(“object“);/ for (i = 0; i “;/document.all.fi_
11、actor_memo.innerHTML = “;/alert(document.all.fi_actor_memo.value + node_ins_id);theForm.SignatureControl.DivId = loginname0 + node_ins_id;theForm.SignatureControl.AutoSave=true;jingeIsOK = theForm.SignatureControl.RunSignature();elsedocument.all.fi_actor_memo.value = document.all.remark.value;else /
12、这里就没 Cookie/*/判断验证是否取消if (jingeIsOK = false) return false;else setTimeout(“OpenNextSelector(“ + node_ins_id + “)“, 3000);1.5.2 在 HighlyOA_EXE 中修改每一个打印页面:function loadme()theForm.SignatureControl.ShowSignature(“);function unloadme() theForm.SignatureControl.DeleteSignature();1.6 发布(包括电子签章)1. fioa 发布后
13、,复制 bin 中 FIOA.dll、FIOA.pdb2. 复制 flow 文件夹中 fi_ui_main.aspx、fi_ui_history.aspx(增加修改object、hidden、loadme 、theForm )3. 复制 conf 文件夹中 fl_ui_track_h_list.xml、fl_ui_track_list.xml(修改字段名称)4. 复制 js 文件夹中 flow_ins.js(修改下一步按钮的 js)5. 在表 OA_FLOW_INST_NODE_H、OA_FLOW_INST_NODE 中都加入remark、actor_mome_0 字段6. 在视图 V_OA_FLOW_INST_NODE_H_TRACK、V_OA_FLOW_INST_NODE_TRACK 中勾选新增的两个字段7. 执行 trigger Trig g er.sq l (命 令 行 )