集成设计器公式2.doc_第1页
集成设计器公式2.doc_第2页
集成设计器公式2.doc_第3页
集成设计器公式2.doc_第4页
集成设计器公式2.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 初始时执行:在创建新单据后马上执行。2、 启动后执行:在单据数据加载、初始化完成后执行。3、 运行时执行:单据在修改过程中,触发字段数据发生变化后执行。4、 存取时执行:在单据保存时执行。5、 确认时执行:在单据确认、入帐等,业务上确认数据合法性时候,保存单据时执行。6、 总是执行:除了初始时,其他时间都执行。提示:如果此审核公式执行不成功则提示。错误:如果此审核公式执行不成功则无法继续操作。警示:在单据应用确认时等同于错误,其他情况下如果审核不成功,则请求是否继续操作。(1) 过滤基础数据或者枚举字典公式这种公式由两条公式共同组成,第一条公式的名称可以定义为过滤基础数据(也可以是枚举字典,下同)+基础数据第二条公式的名称定义为过滤基础数据+基础数据名称+过虑值比如:第一条:过虑基础数据+取得方式;第二条:过虑基础数据+取得方式+过虑值(不需要再这里详细描述过滤值的信息)(2) 高级公式基础数据之间的关联,比如通过职员自动带出部门的公式定义名称可以是*基础数据自动带出*基础数据比如:职员ID自动带出部门ID;职员DM自动带出部门DM;职员MC自动带出部门MC。当前登陆人ID带出职员ID;当前登陆人DM带出职员DM;当前登陆人MC带出职员MC。初始时执行指的是在一进入单据的时候就执行该公式,前面提到的过滤基础数据或者枚举字典的公式就是在初始时候执行;运行时执行指在单据录入的时候执行该公式,主要是运算公式;存取时执行指的是单据保存时候执行;确认时执行指的是保存以后再进一步审核的时候执行;总是执行指的是以上几种情况都执行。(1) 运算公式i. 一般的赋值公式函数。公式内容:DJEvaluate(Money,DJGetRealValue(Number)*DJGetRealValue(Price)函数含义:DJEvaluate(Item,Value)赋值函数,将Value赋值给Item项,Item可以为整型、浮点型、字符串型、布尔型、日期型,如:Money=Number*Price注:Item项一定要是数据库上的实项,不能虚拟项(R1)上面公式含义是:“DJEvaluate是赋值函数;“Money”是目标字段,DJGetRealValue是取浮点值函数,“Number”“Price”是“Money”的源字段,*是乘号操作符。驱动项:“Money” “Number” “Price”(驱动项的含义指的是能够引发该公式执行的条件,比如当“Money” “Number” “Price”三个字段有数值输入时该条运算公式就会执行就会在Money字端上将运算结果赋值)运算公式在单据界面设置时要把目标字段最好设置为不可以修改的(特殊需求除外),并且把源字段设置为驱动项,把目标字段设置为驱动项可以使目标字段输入数据的时候会引发运算公式生效,那么目标字段输入的数据就会改变为运算公式运算结果。注意:所有函数的标点符号都要在英文半角的输入法状态下输入。(下同)ii. 运算公式还有一种是取表体中的字段列合计数值赋值到表头字段上。公式内容:DJEvaluate(GD_AssetCard_H.OrgnValue,DJColSum(GD_AssetCard_I.Money)函数含义:DJColSum(Item) 针对表格中Item所对应列求和。上面公式的含义:将GD_AssetCard_I固定资产卡片表体表中的字段Money的列合计数值赋值给GD_AssetCard_H固定资产表头表中的OrgnValue字段中。驱动项:GD_AssetCard_I.Money,GD_AssetCard_H.OrgnValueiii. 运算公式的嵌套执行所谓嵌套执行是指一个运算公式生效后会带动另一个运算公式生效比如:一个公式是金额=数量*单价公式内容:DJEvaluate(ZW_OriginalBill1.Money,DJGetRealValue(ZW_OriginalBill1.NumBer)*DJGetRealValue(ZW_OriginalBill1.Price)驱动项:ZW_OriginalBill1.NumBer,ZW_OriginalBill1.Price, W_OriginalBill1.Money是否嵌套执行:是另一条公式:取金额的大写公式内容:DJEvaluate(ZW_OriginalBill1.UpperCase,DJGetUpperCase(ZW_OriginalBill1.Money)函数含义:DJGetUpperCase是取金额大写的函数,返回参数Item中的货币型数据的大写方式。字段类型要求必须是Money类型。驱动项:ZW_OriginalBill1.UpperCase,ZW_OriginalBill1.Money是否嵌套执行:否即可。注意:嵌套执行的公式一定要谨慎使用,以免造成死循环。以上介绍的是系统函数中比较常用的函数类型,下面介绍一些基础数据函数和样式函数。iv. 基础数据函数主要指的是单据过滤基础数据或者枚举字典的函数公式。我们在做项目的时候客户会有这样的需求:公用的基础数据在特定的条件下不能够出现或者使用,比如:行政资产管理中使用情况是公用的基础数据,包含:在用、闲置、待报废、报废等状态,但是对于土地这种特殊的资产没有待报废或者报废的使用情况,所以在录入土地的资产卡片时候,使用情况中就行要过滤。就要用到基础数据过滤这个公式。过滤基础数据的公式包含两条公式,一条公式设置基础数据的过滤,另一个条设置基础数据的过滤值。下面详细介绍一下这两个公式:第一条公式公式内容:DJSetFilterOptions(GD_AssetCard_H.CatalogCode, JC_AssetCatalog.StdCode,起始于)函数含义:DJSetFilterOptions(字段名称, 基础数据筛选字段, 过滤模式, 过滤参考值字段) 设置字段引用基础数据时的过滤设置。过滤模式:等于 起始于 上面公式的含义是:固定资产表头表(GD_AssetCard_H)中的字段(CatalogCode)对于基础数据表(JC_AssetCatalog)中的字段(StdCode)按照过滤模式(起始于)过滤。第二条公式公式内容:DJSetFilterValue(GD_AssetCard_H.CatalogCode, 06,07,08,09)函数含义:DJSetFilterValue(字段, 过滤值) 设置字段的基础数据过滤值。所以上面公式的含义是:固定资产表头表(GD_AssetCard_H),中的字段(CatalogCode)只能选则代码是06,07,08,09或者是以代码06,07,08,09开头的基础数据。注意:过滤基础数据表中的字段是CatalogCode,一定要和以后设置基础过滤值的字段CatalogCode一一对应。当然这里也可以采用基础数据表中的另外两个字段(ID、Name)做条件。过滤枚举字典的公式定义和过滤基础数据的方法大致相同,差别就在第二条公式要用DJGetEnumValue(字段,枚举ID)。也可以选择枚举名称。过滤基础数据(枚举字典)的驱动项目可以选择单据上的单据编号(Billcode)字段。过滤基础数据(枚举字典)的函数运行方式是:初始时执行,并且支持基础数据的级次管理。v. 样式函数主要只当单据上字段关联的时候使用,比如当选择付款方式是现金,那么结算方式不允许填写或者隐藏。公式内容:DJSetEnabled(GD_AssetCard_H.SrcCode,DJGetStringValue(GD_AssetCard_H.GBNAME)=中国)函数含义:DJSetEnabled(字段, 是否) 设置字段是否允许录入。上面公式的含义:当固定资产卡片表头表(GD_AssetCard_H)中的字段(GBNAME)为“中国”的时候,固定资产卡片表头表(GD_AssetCard_H)中的字段(SrcCode)不能输入。驱动项:GD_AssetCard_H.GBNAME执行方式:运行时执行如果想做成隐藏的效果需要用到函数公式内容:DJSetVisible (GD_AssetCard_H.SrcCode,DJGetStringValue(GD_AssetCard_H.GBNAME)=中国)函数含义:DJSetVisible(字段, 是否) 设置字段录入框是否可见。上面公式的含义:当固定资产卡片表头表(GD_AssetCard_H)中的字段(GBNAME)为“中国”的时候,固定资产卡片表头表(GD_AssetCard_H)中的字段(SrcCode)隐藏。驱动项:GD_AssetCard_H.GBNAME执行方式:运行时执行vi. 上面介绍的样式公式中有一种情况是特殊,当修改数据的时候还要引发样式公式生效,就要先把样式公式的目标字段数值清空。对于手工输入的字段我们只需要用下面的公式即可清空。公式内容:if DJGetStringValue(GD_AssetCard_H.GBNAME)=中国 then DJEvaluate (GD_AssetCard_H.Spec,)驱动项目:GD_AssetCard_H.GBNAME运行方式:运行时执行但是对于清空基础数据的情况要做三条这样公式,分别清空ID、代码、名称。公式内容:清除ID的公式:if DJGetStringValue(GD_AssetCard_H.GBNAME)=中国 then DJEvaluate(GD_AssetCard_H.SrcID,0)清除代码的公式:if DJGetStringValue(GD_AssetCard_H.GBNAME)=中国 then DJEvaluate (GD_AssetCard_H.SrcCode,)清除名称的公式:if DJGetStringValue(GD_AssetCard_H.GBNAME)=中国 then DJEvaluate(GD_AssetCard_H.SrcName,)驱动项目:GD_AssetCard_H.GBNAME运行方式:运行时执行、存取时执行、确认时执行vii. 我们在做单据的时候需要在选择职员的时候能够带出来该职员所在部门(财务报销平台),这个也可以用公式来定义。这个公式也需要用三条公式组合完成。公式内容:1职员ID带出部门ID:DJGetExtBaseData(ZW_OriginalBill1.ZYID,JC_ZY.BMID,ZW_OriginalBill1.DeptID)函数含义:DJGetExtBaseData是取扩展基础数据函数上面公式的含义:取ZW_OriginalBill1中的职员ID(ZYID)对应基础数据表JC_ZY中该ID所关联的部门ID,然后将这个部门ID赋值给ZW_OriginalBill1的DeptID (部门ID)。驱动项目:ZW_OriginalBill1.ZYID运行方式:运行时执行 2职员DM带出部门DM:DJGetExtBaseData(ZW_OriginalBill1.ZYID,JC_ZY.BMCode,ZW_OriginalBill1.DeptCode)上面公式的含义:取ZW_OriginalBill1中的职员ID(ZYID)对应基础数据表JC_ZY中该ID所关联的部门code,然后将这个部门code赋值给ZW_OriginalBill1的部门code (DeptCode)。驱动项目:ZW_OriginalBill1.ZYcode运行方式:运行时执行3职员MC带出部门MC:DJGetExtBaseData(ZW_OriginalBill1.ZYID,JC_ZY.BMName,ZW_OriginalBill1.DeptName)上面公式的含义:取ZW_OriginalBill1中的职员ID(ZYID)对应基础数据表JC_ZY中该ID所关联的部门名称(name),然后将这个部门名称赋值给ZW_OriginalBill1的DeptName(部门名称)。驱动项目:ZW_OriginalBill1.ZYname运行方式:运行时执行viii. 当前的登陆人带出单据上的职员报销平台中还有一个能够根据当前登陆人自动带出职员的公式。根据当前登陆人带出职员首先需要在职员的基础数据中将职员和用户关联起来,在基础数据维护职员关联用户选项中关联,比如职员张岩,部门技服中心,关联用户aben。这个公式同样需要三条公式实现。公式内容:1当前登陆人ID带出职员IDDJEvaluate(GD_AssetCard_H.zyid,DJGetCurrLoginUserID()函数含义:DJGetCurrLoginUserID()取当前登陆人的ID。上面公式的含义:将当前登陆人的ID赋值给数据表中(GD_AssetCard)中的职员ID(zyid)。驱动项目:GD_AssetCard_H.zyid运行方式:初始时执行2当前登陆人DM带出职员DMDJEvaluate(GD_AssetCard_H.zydm,DJGetCurrLoginUserCode()函数含义:DJGetCurrLoginUserCode()取当前登陆人的DM。上面公式的含义:将当前登陆人的DM赋值给数据表(GD_AssetCard)中的职员DM(zydm)。驱动项目:GD_AssetCard_H.zydm运行方式:初始时执行3当前登陆人MC带出职员MCDJEvaluate(GD_AssetCard_H.zymc,DJGetCurrLoginUser()函数含义:DJGetCurrLoginUser()取当前登陆人的MC。上面公式的含义:将当前登陆人的mc赋值给数据表(GD_AssetCard)中的职员MC(zymc)驱动项目:GD_AssetCard_H.zymc运行方式:初始时执行(2) 审核公式审核公式不仅要像运算公式一样要定义驱动项以外还,还要特有地定义焦点相,主要指审核公式不通过时,单据上的光标直接定位到有问题的字段上。i. 基础数据(枚举字典)的审核公式。基础数据的审核公式是最常用的,一般主要审核重要的基础数据有没有填写等。公式内容:DJGetStringValue(GD_AssetCard_H.BMName)提示方式:提示、错误、警示提示内容:请选择*字段名(部门),对于基础数据或者是枚举字典的字段进行审核,给出的提示最好是“请选择*(字段名)”;如果对手工输入的字段进行审核可以提示“请输入*(字段名)”。函数含义:DJGetStringValue(Item) 返回参数Item中的字符串数据。上面公式的含义:取数据表(GD_AssetCard_H)中的字段(BMName)审核该字段值不能为空。如果为空就给出(提示、警告、错误),“请选择部门”,如果不为空就可以通过。驱动项:GD_AssetCard_H.BMID焦点项:GD_AssetCard_H.BMCodeii. B

温馨提示

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

评论

0/150

提交评论