应用中心使用说明
菜单构成
通达Office Anywhere 11.0版安装好之后,以”admin”身份登陆系统,可以看到应用中心操作菜单,如下图所示:
如果看不到上述菜单,请依次访问 系统管理->组织机构设置 -> 角色与权限管理 ,把应用中心相关菜单勾选上,如下图:
设计应用
现以”合同管理”为例,讲述如何通过应用中心以”不写一行代码”的方式定义一个功能强大且实用的应用系统。
需求分析
合同管理由签订合同、合同收款、合同汇总以及应收款周期分析构成。
- 签订合同
表单信息如下图:
合同签订审批过程如下:
签订合同 -> 主管审核 -> 总监审批 -> 归档。
- 合同收款
表单信息如下图:
收款审批过程:登记收款 -> 财务确定 -> 收入结算
- 合同汇总
表单信息如下图:
- 应收款周期分析
表单信息如下图:
除了上述主要表单之外,合同管理还需要一个基础设置表单以录入一些基础信息,如下图:
此外还需要一个分段信息表单以录入应收账款周期信息,表单样式从略。
合同管理整体框架如下图所示:
菜单设置
通过应用中心设计的应用系统可以通过菜单来发布和使用,也可以通过 应用中心 -> 我的应用 里访问。点击OA系统的 系统管理 -> 菜单设置 ,设置合同管理所需要用到的菜单,如下图:
友情提示: 1)设置菜单时只需设置菜单的代码和名称,无需设置菜单访问的模块地址。 2)设置菜单不是必须的,应用定义好之后也可通过”自动绑定菜单”方式由系统自动创建所需要的菜单。创建应用
依次点击菜单 应用中心-> 设计应用,进入设计应用界面如下图所示:
点击”创建新应用”,系统弹出如下对话框:
应用名称: 指待创建的应用名称,应用名称不能重复;最长为20个字符。应用名称的命名规则为:以汉字、英文字母、下划线开头,后接汉字、英文字母、下划线、数字任意组合。
所属部门: 实现应用按部门独立管理。应用所属部门中的用户如果有应用中心的菜单权限即可对此应用进行所有的管理操作。
注:这个所属部门只有管理员有权设置。所属菜单: 指应用所绑定的菜单。通过应用中心创建的应用,如果是通过独立菜单来访问的,那么应用需要绑定一个菜单。所属菜单可以空着,等后期系统建成以后通过自动绑定菜单由系统自动赋值。
注:一个应用只能绑定一个菜单,不能多个应用绑定同一个菜单上。菜单图标及图标颜色: 选定在”我的应用”中此应用呈现的图标以及图标颜色。
创建”合同管理”应用,如下图:
点击”确定”完成应用创建,如下图:
创建新应用后,还可以对应用进行自动绑定菜单、创建应用导图、添加应用说明、编辑、复制、删除以及调整应用之间的顺序,如下图:
创建分类
应用之下可以创建分类和表单。点击刚才创建的应用”合同管理”,进入应用分类以及应用表单管理界面,如下图:
点击”新建”,进入分类创建页面,如下图:
分类名称: 指创建的分类名称,分类名称不能重复;最长为20个字符。分类名称的命名规则为:以汉字、英文字母、下划线开头,后接汉字、英文字母、下划线、数字的任意组合。
所属部门: 含义与应用的所属部门一致;
给合同管理应用创建”数据录入”和”数据分析”两个分类,如下图:
上述界面点击”编辑”,还能进一步完成分类编辑、删除以及拖拽分类以调整分类的顺序等功能。
创建表单-基础设置
新建表单
把鼠标移到”新建表单”并点击”控件形式”,弹出新建表单操作界面,如下图:
表单编号: 全局唯一的编号,编号命名规则:以英文字母、下划线开头,后接英文字母、下划线、数字的任意组合,最长为256个字符。
表单名称: 待创建的表单名称;分类名称不能重复;最长为20个字符。表单名称的命名规则为:以汉字、英文字母、下划线开头,后接汉字、英文字母、下划线、数字的任意组合。
所属分类: 把待创建的表单归属到某个分类下;
所属部门、所属菜单: 与应用的所属部门、所属菜单含义一致。
注:一个表单只能绑定一个菜单。查询表单: 代表该表单为查询类表单,只能查询、查看,不能存储结果。
验证不通过仍保存: 保存时在不满足验证规则情况下仍然允许保存数据。
标题不允许更改: 表单数据标题不能手工填写和更改。
标题必填: 表单数据标题必须填写或存在。
录入基础设置表单信息如下图:
点击”确定”,完成新建表单,如下图:
设计表单
点击刚才新建的表单”基础设置”,进入表单设计界面如下图:
注:在表单设计器中,首先将组容器拖拽至表单设计器区域,然后才能添加控件。表单设计器是应用中心最核心模块,通过表单设计器可完成表单界面绘制、功能定义、流程设置、父子表单、定时任务、权限设置等功能。
绘制表单
应用中心表单由组容器和基础控件组成,组容器用于布局,基础控件用于录入数据。绘制表单时先把组容器拖拽到表单区域中,然后再把基础控件拖拽到组容器中。组容器和基础控件可以通过拖拽调整它们的位置。此外,每个基础控件均有属性可供设置。
小提示:不同组容器之间是有间隔的,如果希望组容器与之前的容器紧贴在一起而不留间隔,只需把该组容器的”显示组容器名称”选项去除即可。根据2.2.1节需求描述,基础设置表单需要体现四组信息,分别是业务类型、创收部门、客户类型以及合同分期,因此我们拖拽四个单列布局容器到表单区域中,并把它们依次命名为”业务”、”部门”、”客户”、”合同”,如下图:
然后拖拽一个列表控件到业务组容器中,如下图:
将其命名为”业务类型”,并添加一个名为”业务名称”的单行文本字段。与此类似,添加另三个列表控件,分别为:
创收部门列表,包含”部门”单行文本字段、”负责人”单行文本字段;
客户类型列表,包含”所属行业”单行文本字段、”客户类型”单行文本字段;
分期列表,包含”名称”单行文本字段。
“基础设置”表单最终设计结果如下图:
点击”预览”运行表单设计结果,如下图:
设计表单-签订合同
新建表单
新建名称为”签订合同”控件表单,如下图:
设计表单
绘制表单
签订合同表单可以划分为四大部分,分别是基本信息、收款进度管理、进款结算管理以及合同审批。基本信息部分用两个容器,一个容器为两列组容器,名称为基本信息;另一个容器为三列组容器,并取消勾选”显示组容器名称”选项,如下图:
在两列组容器中依次定义以下两个基础控件:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
单行文本 | 合同编号 | 规则为:TD+部门代码字母+6位日期+代表名字字母+个人当日合同流水号,共12-15位,例如:TDX140211LJ1。 | 长度为15 必填 不重复 |
单行文本 | 合同名称 | 必填 |
在三列组容器中依次定义以下三个基础控件:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
单行文本 | 甲方 | ||
单行文本 | 联系人 | ||
单行文本 | 联系电话 | 类型为手机号码 | |
单行文本 | 乙方 | ||
单行文本 | 合同代表 | ||
日期文本 | 签订日期 | ||
下拉选择 | 业务类型 | ||
下拉选择 | 部门 | ||
单行文本 | 负责人 | ||
下拉选择 | 所属行业 | ||
下拉选择 | 客户类型 | ||
货币文本 | 合同金额 | ||
日期文本 | 合同起日期 | ||
日期文本 | 合同止日期 | ||
附件 | 合同附件 | ||
货币文本 | 采购金额 | ||
单行文本 | 采购说明 |
绘制完的合同基本信息,如下图所示:
收款进度管理部分使用一个单列组容器和双列组容器,单列组容器命名为”收款进度管理”,双列组容器取消勾选”显示组容器名称”选项。单列组容器定义一个列表控件,控件名称为”收款进度”,并添加以下子字段:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
下拉选择 | 分期 | ||
日期文本 | 应收日期 | ||
货币文本 | 应收金额 | ||
货币文本 | 实收金额 | ||
日期文本 | 开票日期 | ||
日期文本 | 到账日期 | ||
下拉选择 | 坏账标识 | 选项值类型为自定义,值为√ | |
下拉选择 | 到账标识 | 选项值类型为自定义,值为√ |
双列组容器定义以下控件:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
货币文本 | 已到款总金额 | ||
货币文本 | 未收款总金额 | ||
日期文本 | 本期到账日期 | ||
货币文本 | 本期到账金额 |
绘制完的收款进度管理,如下图:
“收款结算管理”部分也使用一个单列组容器和双列组容器,单列组容器命名为”进款结算管理”,双列组容器取消勾选”显示组容器名称”选项。单列组容器定义一个列表控件,控件名称为”进款结算”,并添加以下子字段:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
下拉列表 | 部门 | ||
数值文本 | 结算比率 | ||
货币文本 | 结算金额 | ||
货币文本 | 累计已结算 | ||
日期文本 | 本期结算日期 | ||
货币文本 | 本期结算金额 |
双列组容器定义以下控件:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
货币文本 | 已结算总金额 | ||
货币文本 | 未结算总金额 |
绘制完的进款结算管理,如下图:
合同审批使用一个三列组容器,名称命名为”合同审批”,并定义以下控件:
控件类型 | 名称 | 描述 | 其他属性 |
---|---|---|---|
选人控件 | 部门主管 | ||
单选控件 | 审核意见 | 选项值类型为”基础代码”,并选”审核意见” | |
单行文本 | 主管批注 | ||
日期控件 | 审核日期 | ||
选人控件 | 运营总监 | ||
单选控件 | 审批意见 | 选项值类型为”基础代码”,并选”审核意见” | |
单行文本 | 审批批注 | ||
日期控件 | 审批日期 | ||
选人控件 | 归档员 | ||
多行文本 | 归档备注 | ||
日期控件 | 归档日期 |
绘制完的合同审批,如下图:
下拉框选项及表达式
在表单设计器中点击 业务分类 下拉框控件,将其选项值类型设置为 关联提取,如下图:
点击 设置关联字段,关联表单定义为 基础设置,字段显示定义为 业务分类.分类名称,如下图:
同理,部门 下拉框控件的下拉选项类型设置为 关联提取,设置关联字段的关联表单为 基础设置,字段显示设置为 创收部门.部门,如下图:
负责人 单行文本框的默认值类型设置为 关联提取,设置关联字段的关联表单为 基础设置,字段显示设置为 创收部门.负责人,关联条件设置为 部门=创收部门.部门,如下图:
所属行业 下拉控件的选项值类型设置为 关联提取,设置关联字段的关联表单为 基础设置,字段显示设置为 客户类型.行业,如下图:
客户类型 下拉控件的选项值类型设置为 关联提取,设置关联字段的关联表单为 基础设置,字段显示设置为 客户类型.类型,关联条件设置为 所属行业=客户类型.行业,如下图:
友情提示:所属行业和客户类型正好组成了一对二级联动,多级联动可参照此例子定义。
收款进度的进度款分期 下拉选择控件的选项值类型设置为 关联提取,设置关联字段的关联表单为 基础设置,字段显示设置为 合同分期.期次,如下图:
已收款总金额 货币文本控件的默认值类型设置为 表达式,然后点击 定义表达式,系统弹出表达式定义窗口,如下图:
表达式定义窗口最左边是字段选择区;右边是函数选择区;中间上方是表达式编辑区,下方是快捷键操作区。在函数列表的统计函数中双击 SUM(\<数值型或货币型字段名>),该函数将自动输入到公式编辑区的当前光标所在位置,如下图:
SUM(\<数值型或货币型字段名>)其中SUM是函数名称,代表求和,\<数值型或货币型字段名>是函数的参数。选中函数的参数部分,即\<数值型或货币型字段名>,如下图:
然后从字段选择区中单击 收款进度.实收金额,该字段将替换掉选中的函数参数部分,如下图:
点击”提交”,已收款总金额计算表达式定义完成。
同理,定义 未收款总金额货币 文本控件默认值类型为 表达式,表达式内容为 SUM(本表单.收款进度.应收金额-本表单.收款进度.实收金额),如下图:
“进款结算”列表控件的”收入部门”下拉选择控件的选项值类型设置为”关联提取”,设置关联字段的关联表单为”基础设置”,显示字段设置为”创收部门.部门”,如下图:
“进款结算”列表控件的”结算金额”货币文本控件的默认值类型设置为”表达式”,表达式内容为 本表单.合同金额*本表单.进款结算.结算比率,如下图:
“已结算金额”货币文本控件的默认值类型设置为”表达式”,表达式内容为 SUM(本表单.进款结算.累计已结算),如下图:
未结算金额 货币文本控件的默认值类型定义为”表达式”,表达式内容为 SUM(本表单.进款结算.结算金额-本表单.进款结算.累计已结算)。
审核意见 下拉框的选项值类型定义为”基础代码”,并选择审核意见作为 基础代码,如下图:
审批意见与审核意见一样定义。
流程设置
“签订合同”时需要走审批流程,可以通过定义流程来实现。方法是:点击表单设计器 》流程设置,如下图:
点击”确定”按钮,系统弹出流程设计器界面,如下图:
友情提示:如果流程设计器没有弹出,可能是被浏览器拦截了。把浏览器设置为允许弹出窗口,然后再次点击 流程设置 即可。
在流程设计器中绘制以下流程步骤,如下表:
步骤名称 | 经办人 | 智能选人 | 流转设置 | 可写字段 | 条件设置 |
---|---|---|---|---|---|
签订合同 | 所有部门 | 合同编号、合同名称、甲方、联系人、联系电话、乙方、合同代表、签订日期、部门、负责人、所属行业、客户类型、合同金额、合同起日期、合同止日期、合同附件、采购金额、采购说明、收款进度 | |||
主管审核 | 所有部门 | 自动选人规则定义为”按表单字段选择”,已选表单字段为”负责人” | 允许退回之前步骤 | 进款结算、审核意见、主管批注、部门主管、审核时间 | 流出条件设置为:审核意见=“01” |
总监审批 | 运营总监 | 允许退回之前步骤 | 审批意见、总监批注、运营总监、审批时间 | 流出条件设置为:审批意见=“01” | |
归档 | 合同归档员 | 归档员、归档备注、归档时间 |
签订合同流程设置结果如下图:
定义触发器
触发器是指在满足一定条件下(包括流程执行的步骤、操作动作等)执行的动作或者操作,包括提取、回填以及验证三种类型:
提取触发器:用于填写表单时从别的表单提取数据到本表单中,例如:填写入库单时从材料表单中提取材料信息到入库单中。
回填触发器:用于保存(或删除)表单时更新其他表单数据,例如:保存入库单时更新库存表单信息。
验证触发器:用于验证表单数据有效性,例如:填写出库单时出库数量不得超过库存数量。
友情提示:触发器与关联提取、表达式之间的区别在于:
触发器是需要在一定条件下才执行,而关联提取、表达式是无条件执行的,即只要打开表单就会执行关联提取、表达式;
关联提取和表达式可以认为是提取触发器的简化版;
关联提取是从别的表单中提取数据,表达式是基于本表单数据的数据计算。
签订合同表单需要定义以下触发器:
- 设置合同代表和合同签订日期默认值 在合同审批的第一步骤,即签订合同时由系统自动填写上合同代表和合同签订日期。这个动作执行有前提条件,即只在第一步骤执行,因此需要通过定义触发器实现。点击表单设计器的 触发器 操作按钮,如下图:
系统弹出触发器管理窗口,如下图:
点击“新建”,选择触发器类型为“提取”,如下图:
点击“下一步”,触发器名称定义为“合同代表”,流程步骤定义为 “签订合同”,触发方式定义为“新建触发”,如下图:
点击“下一步”,然后点击“数据填充”,选择表单为“签订合同”,如下图;
在目标字段一列中找到“签订日期”,把填充方式指定为“填入值”,填充表达式定义“THISDATE”,如下图:
在目标字段中继续找到“合同代表”,把填充方式指定为“填入值”,填充表达式定义为“LOGIN_USER”,如下图:
点击“确定”完成触发器定义。
- 定义验证合同附件触发器 签订合同时要求合同金额超过5000(含)元时必须上传合同附件,可以通过定义验证触发器实现。新建验证触发器,触发器名称指定为验证附件,流程步骤设置为签订合同,触发方式指定为条件触发以及保存触发,如下图:
点击下一步,定义验证条件为”本表单.合同金额\<5000 || 本表单.合同附件 ISNOTNULL”,出错警告设置为”合同金额超过5000(含)时须传合同附件!”文字颜色设置为”红色”,如下图:
签订合同其他触发器,如下表:
名称 | 触发器类型 | 流程步骤 | 触发方式 | 触发设置 |
---|---|---|---|---|
审核 | 提取 | 主管审核 | 修改触发 | 数据填充 选择表单为 签订合同;部门主管 的填充方式为 填入值,填充表达式为LOGIN_UID(选入控件必须用LOGIN_UID填充);审核意见 的填充方式为 填入值,填充表达式为 “01”(下拉选项的选项为基础代码时,要用基础代码的代码填充);审核时间 的填充方式为 填入值,填充表达式为THISDATE |
审批 | 提取 | 总监审批 | 修改触发 | 数据填充 选择表单为 签订合同;运营总监 的填充方式为 填入值,填充表达式为 LOGIN_UID;审批意见 的填充方式为 填入值,填充表达式为 “01”;审批时间的 填充方式为 填入值,填充表达式为THISDATE |
归档 | 提取 | 归档 | 修改触发 | 数据填充 选择表单为 签订合同;归档员 的填充方式为 填入值,填充表达式为 LOGIN_UID;归档时间 的填充方式为 填入值,填充表达式为THISDATE |
验证应收金额 | 验证 | 签订合同 | 条件触发 保存触发 | 验证条件设置为 本表单.合同金额=本表单.已收款总金额+本表单.未收款总金额,出错警告设置为 合同金额应等于已收金额加上未收金额!文字颜色为 红色 |
验证结算金额 | 验证 | 主管审核 | 条件触发 保存触发 | 验证条件设置为 本表单.合同金额=本表单.已结算金额+本表单.未结算金额,出错警告设置为 已结算金额加未结算金额应等于合同金额!文字颜色为 红色 |
至此,签订合同表单已经全部设计完成。点击表单设计器”预览”操作,可看到签订合同实际运行界面,如下图(部分):
设计表单-合同收款
新建表单
表单名称定义为”合同收款”,所属分类指定为”数据录入”,如下图:
设计表单
设计合同收款表单的基本信息部分,如下图:
到账确认部分,如下图:
费用结算部分,如下图:
结算明细字段列表,如下图:
其中结算比率、结算金额设置为只读,原部门设置为隐藏。
定义控件选项值、默认值以及表单链接
选中”合同详情”链接控件,然后点击”设置关联条件”,在弹出的设置关联条件界面里,把关联表单定义为”签订合同”,关联条件定义为 (本报单,即合同收款)合同编号=(签订合同)合同编号,如下图:
“到账”下拉选择控件的选项值类型定义为自定义,值为”已到账”。
“应结算总金额”的默认值类型定义为表达式,表达式为 SUM(本表单.结算明细.结算金额)。
“已结算总金额”的默认值类型定义为表达式,表达式为 SUM(本表单.结算明细.实际结算)。
流程设置
合同收款流程步骤信息,如下表:
步骤名称 | 经办人 | 智能选人 | 流转设置 | 可写字段 | 条件设置 |
---|---|---|---|---|---|
收款登记 | 所有部门 | 合同编号、收款期次、合同详情、到账金额、到账日期、开票日期、登记人、登记日期、汇款凭据、负责人、到款说明 | |||
到账确定 | 财务 | 允许退回之前步骤 | 到账金额、到账日期、开票日期、到账、财务说明、确定人、确定日期 | 转出条件设置为:到账=已到账 | |
主管结算 | 全体部门 | 按表单字段选择,已选表单字段设置为负责人 | 允许退回之前步骤 | 结算明细 |
流程设计结果如下图:
定义触发器
- 定义提取合同下拉选项触发器 合同收款时只能选择审核通过且自己签订的或者自己审核的合同,别人签订且别人审核的合同无权收款,另外已经收款的合同无需再次收款,已做坏账处理的合同也无需收款。点击 新建 提取触发器,触发器名称定义为 合同,流程步骤定义为 收款登记,触发方式指定为 新建触发 以及 修改触发,如下图:
点击 下一步,进入提取触发器设置界面,如下图:
数据范围设置为:排重。
数据来源指定为:签订合同(即签订合同表单的基本信息部分)以及签订合同.收款进度。因为签订合同(基本信息部分)以及签订合同.收款进度同属于同一个表单,因此数据关联无需定义。
数据过滤定义为:签订合同.收款进度.坏账标识 ISNULL && 签订合同.收款进度.已收款标识 ISNULL && 签订合同.审核意见=“01” && (签订合同.合同代表=LOGIN_USER || 签订合同.负责人=LOGIN_USER)。
数据填充的选择表单指定为:合同收款,合同编号填充方式定义为: 构造下拉列表,填充表达式定义为:签订合同.合同编号。
数据排序定义为:合同编号 升序。定义结果如下图:
数据填充定义结果,如下图:
数据排序定义结果,如下图:
名词解释
数据来源:指触发器从什么地方获取数据。一个表单一般由基本信息(即除列表之外的控件信息)和列表组成,基本信息放在一起,每个列表信息各自放在一起,基本信息用”表单名称”代表,列表用”表单名称.列表名称”代表。选择数据来源时要注意”不多选、不少选”的原则,即用多少选多少,既不要多选,也不要少选,否则触发的结果有可能不正确,而且还影响性能。在上述触发器中,由于要判断合同代表、主管以及审核意见,这些信息都在基本信息中,因此需要选择”签订合同”;同时还要判断到账情况、坏账情况,因此需要选择”签订合同.收款进度”。
数据关联:指数据来源之间的数据关联关系。比如有两个数据来源,签订合同以及合同收款,存在这样的关联关系:签订合同的合同编号=合同收款的合同编号;又比如学生信息表以及成绩表,存在的关联关系是:学生信息表的学号=成绩表的学号。数据关联关系有以下几种标识:
=:代表关联后的数据必须在两个表中同时存在。
*=:代表关联后的数据以左边的表为主,如果右边的表数据不存在,则右边补空。
=*:代表关联后的数据以右边的表为主,如果左边的单数据不存在,则左边补空。
举例说明:签订合同表已有以下数据:
合同编号 | 合同名称 | 合同金额 |
---|---|---|
1 | 购买 | 1万 |
2 | 开发 | 5千 |
3 | 集成 | 3万 |
合同收款表已有以下数据:
合同编号 | 收款期次 | 收款金额 |
---|---|---|
1 | 一次性 | 1万 |
2 | 一次性 | 5千 |
4 | 第一期 | 1万 |
那么,签订合同.合同编号=合同收款.合同编号,关联之后的数据为:
合同编号(签订合同) | 合同名称 | 合同金额 | 合同编号(合同收款) | 收款期次 | 收款金额 |
---|---|---|---|---|---|
1 | 购买 | 1万 | 1 | 一次性 | 1万 |
2 | 开发 | 5千 | 2 | 一次性 | 5千 |
签订合同.合同编号*=合同收款.合同编号,关联之后的数据为:
合同编号(签订合同) | 合同名称 | 合同金额 | 合同编号(合同收款) | 收款期次 | 收款金额 |
---|---|---|---|---|---|
1 | 购买 | 1万 | 1 | 一次性 | 1万 |
2 | 开发 | 5千 | 2 | 一次性 | 5千 |
3 | 集成 | 3万 |
签订合同.合同编号=*合同收款.合同编号,关联之后的数据为:
合同编号(签订合同) | 合同名称 | 合同金额 | 合同编号(合同收款) | 收款期次 | 收款金额 |
---|---|---|---|---|---|
1 | 购买 | 1万 | 1 | 一次性 | 1万 |
2 | 开发 | 5千 | 2 | 一次性 | 5千 |
4 | 第一期 | 1万 |
例外情况:如果数据来源来自同一个表单,则无需定义数据关联。
合同收款其他需要定义的触发器,如下表:
名称 | 触发器类型 | 流程步骤 | 触发方式 | 触发设置 |
---|---|---|---|---|
合同期次 | 提取 | 收款登记 | 条件触发 | 数据范围:全部 数据来源:签订合同、签订合同.收款进度 数据关联:无 数据过滤:本表单.合同编号=签订合同.合同编号 && 签订合同.收款进度.坏账标识 ISNULL && 签订合同.收款进度.已收款标识 ISNULL 数据填充:选择表单为 合同收款;收款期次的填充方式指定为 构造下拉列表,填充表达式为 签订合同.收款进度.进度款分期 数据排序:无 |
登记信息 | 提取 | 收款登记 | 新建触发 | 数据范围:默认 数据来源:无 数据关联:无 数据过滤:无 数据填充:选择表单为 合同收款;登记人的填充方式指定为 填入值,填充表达式为LOGIN_UID;登记时间的填充方式指定为 填入值,填充表达式为THISDATE 数据排序:无 |
确认信息 | 提取 | 财务确定 | 修改触发 | 数据范围:全部(默认) 数据来源:无 数据关联:无 数据过滤:无 数据填充:选择表单为 合同收款;确任人的填充方式指定为 填入值,填充表达式为LOGIN_UID;确任时间的填充方式指定为 填入值,填充表达式为THISDATE 数据排序:无 |
结算 | 提取 | 主管结算 | 修改触发 | 数据范围:全部(默认) 数据来源:签订合同、签订合同.收款进度、签订合同.进款结算 数据关联:无 数据过滤:本表单.合同编号=签订合同.合同编号 && 本表单.收款期次=签订合同.收款进度.进度款分期 数据填充:选择表单为 合同收款.结算明细;收入部门的填充方式指定为 填入值,填充表达式为 签订合同.进款结算.收入部门;结算比率的填充方式指定为 填入值,填充表达式为 签订合同.进款结算.结算比率;结算金额的填充方式指定为 填入值,填充表达式为 本表单.应收金额*签订合同.进款结算.结算比率;原部门的填充方式指定为 填入值,填充表达式为 签订合同.进款结算.收入部门; 数据排序:无 |
回写收款标志 | 回填 | 收款登记(回写合同收款标识放在收款登记是为了避免下次收款登记时,仍能选出该收款期次) | 保存触发 | 回填目标:签订合同.收款进度 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.收款期次=签订合同.收款进度.进度款分期 回写条件:无 更新方式:已收款标识 更新表达式定义为 “1” |
删除收款标志 | 回填 | 收款登记 | 删除触发 | 回填目标:签订合同.收款进度 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.收款期次=签订合同.收款进度.进度款分期 回写条件:无 更新方式:已收款标识 更新表达式定义为 ““ |
回写到款日期 | 回填 | 财务确定 | 保存触发 | 回填目标:签订合同.收款进度 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.收款期次=签订合同.收款进度.进度款分期 回写条件:本表单.到账=“已到账” 更新方式:实到金额的更新表达式为 本表单.到账金额;到账日期的更新表达式为 本表单.到账日期;开票日期的更新表达式为 本表单.开票日期 |
删除到款日期 | 回填 | 财务确定 | 删除触发 | 回填目标:签订合同.收款进度 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.收款期次=签订合同.收款进度.进度款分期 回写条件:本表单.到账=“已到账” 更新方式:实到金额的更新表达式为 ““;到账日期的更新表达式为 ““;开票日期的更新表达式为 ““ |
本期已到账 | 回填 | 财务确定 | 保存触发 | 回填目标:签订合同 查找条件:合同收款.合同编号=签订合同.合同编号 回写条件:本表单.到账=“已到账” 更新方式:已收款总金额的更新表达式为 签订合同.已收款总金额+本表单.到账金额;未收款总金额的更新表达式为 签订合同.未收款总金额-本表单.到账金额;本期到账金额的更新表达式为 本表单.到账金额;本期到账日期的更新表达式为 本表单.到账日期 |
删除本期已到账 | 回填 | 财务确定 | 删除触发 | 回填目标:签订合同 查找条件:合同收款.合同编号=签订合同.合同编号 回写条件:本表单.到账=“已到账” 更新方式:已收款总金额的更新表达式为 签订合同.已收款总金额-本表单.到账金额;未收款总金额的更新表达式为 签订合同.未收款总金额+本表单.到账金额;本期到账金额的更新表达式为 ““;本期到账日期的更新表达式为 ““ |
已结算 | 回填 | 主管结算 | 保存触发 | 回填目标:签订合同.进款结算 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.结算明细.原部门=签订合同.进款结算.收入部门 回写条件:空 更新方式:累计已结算的更新表达式为 签订合同.进款结算.累计已结算+本表单.结算明细.实际结算;本期结算金额的更新表达式为 本表单.结算明细.实际结算;本期结算日期为 本表单.到账日期 |
删除已结算 | 回填 | 主管结算 | 删除触发 | 回填目标:签订合同.进款结算 查找条件:合同收款.合同编号=签订合同.合同编号;合同收款.结算明细. 原部门=签订合同.进款结算.收入部门 回写条件:空 更新方式:累计已结算的更新表达式为 签订合同.进款结算.累计已结算-本表单.结算明细.实际结算;本期结算金额的更新表达式为 ““;本期结算日期为 ““ |
已结算总金额 | 回填 | 主管结算 | 保存触发 | 回填目标:签订合同 查找条件:合同收款.合同编号=签订合同.合同编号 回写条件:无 更新方式:已结算金额的更新表达式为 签订合同.已结算金额+本表单.到账金额;未结算金额的更新表达式为 签订合同.未结算金额-本表单.到账金额 |
删除已结算总金额 | 回填 | 主管结算 | 删除触发 | 回填目标:签订合同 查找条件:合同收款.合同编号=签订合同.合同编号 回写条件:无 更新方式:已结算金额的更新表达式为 签订合同.已结算金额-本表单.到账金额;未结算金额的更新表达式为 签订合同.未结算金额+本表单.到账金额 |
验证结算金额 | 验证 | 主管结算 | 条件触发 保存触发 | 验证条件:本表单.实际结算总金额=本表单.到账金额 出错警告:结算总金额应等于到账金额! 文本颜色:红色 |
现以”回写到款日期”为列,描述”回填触发器”定义过程。点击 新建回填触发器,触发器名称定义为”回写到款日期”,流程步骤定义为 “财务确认”,触发方式定义为”保存触发”,取消勾选”目标不存在时新建”以及”目标值为零时删除”选项,如下图:
点击下一步,然后把回填目标定义为”签订合同.收款进度”,如下图:
点击”查找条件”,定义查找条件为”合同收款.合同编号=签订合同.合同编号 以及 合同收款.收款期次=签订合同.收款进度.进度款分期”,如下图:
点击”确定”后返回,接着点击”回写条件”,定义回写条件为 本表单.到账=“已到账”,如下图:
点击 更新方式,定义更新方式为 实到金额 的更新表达式为 本表单.到账金额;到账日期的更新表达式为 本表单.到账日期;开票日期的更新表达式为 本表单.开票日期,如下图:
点击 确定 返回,最后点击 保存 完成回填触发器定义。
友情提示:回填触发器一般成对出现,一个用于保存时执行,另一个用于删除时执行。这两个触发器所执行的动作正好相反,即如果保存触发的动作是增加数量,则删除触发的动作则是减少数量;如果保存触发的动作是设置标志,则删除触发的动作则是清除标志。
设计数据分析表单-合同汇总
合同汇总可以根据部门、起始时间、结束时间三个参数汇总合同以及收款信息。
绘制表单
合同汇总表单由参数和汇总结果两部分组成。参数部分包括部门、起始时间和结束时间,部门采用下拉选择控件,起始时间和结束时间用日期控件,绘制结果如下图:
汇总结果部分包含一个 明细 列表,明细列表包含合同代表文本控件、客户名称文本控件、合同编号文本控件,签订日期文本控件、合同金额货币文本、到款期次文本控件、到款日期文本控件、到款金额货币文本控件、采购金额货币文本控件,列表设置为只读,如下图:
汇总结果部分还包含合同总金额、到款总金额以及采购总金额,其中到款总金额等于上述明细列表的到款金额之和,但合同总金额、采购总金额却不等于明细列表的合同金额之和、采购金额之和,原因是指定的查询时间范围之内同一个合同可能有多期到款,也就是说在明细列表里同一个合同可能出现多次。基于上述原因我们再定义一个用于辅助计算合同总金额以及采购总金额的合同列表,该列表只包含合同编号、合同金额以及采购金额,并要求确保满足查询条件的合同信息只出现一次,由于该列表的目的是为了计算合同总金额和采购总金额,无需显示在界面上,因此把合同列表控件设置为隐藏,合同列表信息如下图:
合同总金额等于合同列表的合同金额之和,采购金额等于合同列表的采购金额之和。这里只是计算合同总金额以及采购总金额的一种方法,另一种方法是直接通过定义触发器直接计算结果,而无需通过合同明细列表进行中转计算,具体如何定义实现留给读者自行思考。绘制结果如下图:
定义控件其他属性
部门下拉选择控件的选项值类型定义为 关联提取,设置关联字段如下图:
合同总金额货币文本的默认值类型设置为 表达式,表达式设置为:
到款总金额货币文本的默认值设置为 表达式,表达式设置为:
采购总金额货币文本的默认值设置为 表达式,表达式设置为:
定义触发器
合同汇总需要根据部门、起始时间、结束时间指定的参数范围,从签订合同表单中提取满足条件的合同到明细列表中,通过定义以下提取触发器实现:
名称 | 触发器类型 | 流程步骤 | 触发方式 | 触发设置 | ||||||||||||||||||||||||||||||
提取合同以及收款 | 提取 | 所有步骤(默认值) | 新建触发条件触发 | 数据范围:全部
数据来源:签订合同、签订合同.收款进度
数据关联:无
筛选条件:签订合同.审核意见=“01” && 签订合同.收款进度.坏账标识 ISNULL && (本表单.部门 ISNULL || 本表单.部门=签订合同.部门) && (本表单.起始时间 ISNULL || 本表单.起始时间<=签订合同.签订日期 ||="" 本表单.起始时间<="签订合同.收款进度.到账日期)" &&="" (本表单.结束时间="" isnull="" 本表单.结束时间="">=签订合同.签订日期 || 本表单.结束时间>=签订合同.收款进度.到账日期)
数据填充:选择表单:合同收款;目标字段填充定义如下表:
|
||||||||||||||||||||||||||||||
仅提取合同 | 提取 | 所有步骤(默认值) | 新建触发 条件触发 | 数据范围:排重
数据来源:无
筛选条件:无
数据填充:选择表单:合同汇总.合同,目标字段填充定义如下:
|
触发器定义完成之后,点击 预览,合同汇总运行结果如下图:
友情提示:
合同汇总属于报表,仅用于统计分析,绑定菜单时可用如下模块路径:/general/appbuilder/web/appcenter/appdata/create?formId=XXX&type=query,其中XXX代表表单ID号,表单ID号可以在表单设计器页面地址栏中查到。
应收款周期分析
合同应收款可按1月以内、1-3月内、3-6月内、6-12月内、1年以上四个应收帐周期进行分析。为了方便应收帐周期的管理和维护,可以另定义一张表单进行管理这些信息。
定义表单-分段信息
定义分段信息表单,并录入以下应收款周期信息,如下图:
定义表单-应收款周期分析
设计应收款周期表单,如下图:
其中,部门为下拉选择、起始时间和结束时间为日期文本,分析结果为列表,分析结果包含应收款周期单行文本、应收金额货币文本两个子字段,部门选项值类型为关联提取,设置关联字段如下图:
点击 保存 完成表单设计。
定义触发器
定义应收款周期分析触发器,如下表:
名称 | 触发器类型 | 流程步骤 | 触发方式 | 触发设置 | |||||||||
应收款周期 | 提取 | 所有步骤 | 新建触发 | 数据范围:全部
数据来源:分段信息.应收款周期
筛选条件:无
数据填充:选择表单:应收款周期分析.分析结果,目标字段填充定义如下:
|
|||||||||
应收金额 | 提取 | 所有步骤 | 条件触发 | 数据范围:全部
数据来源:签订合同、签订合同.收款进度
筛选条件:签订合同.审核意见=“01” && 签订合同.收款进度.已收款标识 ISNULL && 签订合同.收款进度.坏账标识 ISNULL && (本表单.部门 ISNULL || 本表单.部门=签订合同.部门) && (本表单.起始时间 ISNULL || 本表单.起始时间<=签订合同.收款进度.签订日期) &&="" (本表单.结束时间="" isnull="" ||="" 本表单.结束时间="">=签订合同.签订日期)
数据填充:选择表单:应收款周期分析.分析结果,目标字段填充定义如下:
|
完成上述触发器设置之后,应收款周期分析定义全部完成。点击 预览 可看到应收款周期分析运行结果,如下图:
名词解释
“匹配”:是指在填充的过程中,根据当前记录中匹配的目标字段的值和与之匹配的表达式做等值数据筛选,然后在筛选出来的记录基础上计算其他填充表达式的值,并把值填充到当前记录相应的目标字段中。”匹配”的填充方式一般用在列表已有数据的基础上补充填充其他字段的内容。在本例子中,就是在应收款周期分析结果列表的应收款周期字段已经填充的基础上(第一个触发器填充了),根据应收款周期补充填充应收款金额。
打印模板
应用中心支持通过word模板(即文件后缀名为.dot或.dotx)实现对表单数据的精准打印(套打)。打印模板制作要点如下:
通过word制作打印模板并保存成dot或者dotx格式;
需要输出数据的地方贴上数据标签,打印的时候数据标签将被替换成表单数据。数据标签由大括号+控件名称组成,如:{合同编号}、{收款进度.分期}等;
列表数据支持两种打印形式,一种是固定行打印,数据标签列表第一条记录为{收款进度.分期1}、{收款进度.预计收款日期1}、{收款进度.预计收款金额1},第二条记录为{收款进度.分期2}、{收款进度.预计收款日期2}、{收款进度.预计收款金额2},分别代表打印第一条和第二条记录数据,其他记录类推;另一种是动态行打印,即打印之前需要给表格插入足够多行以打印列表里所有数据,数据标签用{收款进度.分期}、{收款进度.预计收款日期}、{收款进度.预计收款金额}来标识。
保存word模板时,把 工具 -> 保存选项 -> 信任中心 -> 信任中心设置 ->受保护视图中”为来自internet的文件启用受保护的视图”选项取消勾选,如下图所示:
动态行打印模板格式设置,如下图:
固定行打印模板格式设置,如下图:
Word模板打印支持打印所有数据,包括二维码、条形码、图片、签章等。