1、触发条件指在什么情况下触发这个回写公式。在编辑回写公式时,首先有一个执行回写公式的时机问题,看你是希望这个回写是在你执行新增记录的时候执行,还是在修改和删除记录的时候执行,需要根据实际情况选择触发条件。触发条件有6种类型,包括:新增记录、修改记录、删除记录、查看记录、手动触发、定时触发、回写触发。在编辑回写公式面板上左侧显示,需要编辑那种触发就单击选中,该触发类型由灰色变为蓝色即可添加新增的回写公式了。如果需要有多种触发回写的话,直接创建多个回写公式即可。每一个回写公式只能有一种触发条件,但是你可以分别针对不同的触发条件,创建独立的回写公式。例如,我们希望新增一个入库单的时候,自动给相应的库存表中相应的型号产品增加库存,那么触发条件就是新增记录,其他的一样也是如此。一个触发条件也可以写多个回写公式,顺序执行的,并且执行顺序可以调整。但不建议写太多的回写,如果写很多,那一定是设计思路有问题,写很多个回写,会影响性能的。
2、公式的名称和描述这个没有什么,选择触发类型以后,新增一个回写公式,需要取个名字,也可以在描述中加一些注释。这两个信息公式名称是必须有的,公式名称和描述都属于公式的基本信息,在基本信息编辑区域,如下图所示。魔方网表是允许一个触发点有多个回写公式的,他们会顺序执行,可以通过上移下移改变执行顺序。
3、操作编辑区魔方网表回写公式中的操作都是在“操作”编辑区设置的,比如选择数据来源、目标表单,设置它们的过滤条件、使用方式,选择操作方式是创建、修改、删除等,还有设置赋值操作。这些操作的设置对于回写公式来说是最基本的设置了,也是相对应用最灵活的关键重点,下图是一个回写公式操作编辑区的展示图。对于不同触发和执行时机的回写公式,操作编辑区域会不一样,因为需要实现的功能不一样,根据需求进行设置即可。
4、当前上下文(操作目标)这个概念是说,当你操作数据,触发回写公式的时候,你当前操作的数据都是属于当前环境上下文(上下文是计算机专业术语),可以理解为相关数据。例如,你新增一条入库单数据,里面包含品名和数量,那么你输入的品名和数量的值,在后面的回写公式定义中是可以作为相关数据引用的。在编辑回写公式中有两个特殊情况,就是在新增、修改、删除记录触发回写公式的“打开界面时”和“操作前”的情况,这两种情况下的“操作目标”是固定的,只能是“当前上下文”,如下图所示的操作编辑区。
5、选择数据来源大多数情况下,你可能只是把相关数据(环境上下文)写入目标表单,但是如果你希望这个回写公式是从另一个表中查询出来的,上下文中的数据只是作为一个查询条件的参数的话。这种情况下,你就要选择数据来源。就是告诉系统,你要操作的数据从哪里获取。如果不需要从第三个表单取数据,就是当前操作的记录数据,这个就叫上下文。如果数据直接从当前上下文中取就够了,那就没必要设置数据数据来源了,这种情况还是比较常见的。例如库存管理中,增加入库单,改库存,我需要的数据,比如产品类型,数量,单价,金额都在当前输入的记录里就都包括了,就没必要选数据源了,回写公式是在你操作触发点所在的表单里写,数据来源是你要提取数据的表单,不一定是你触发点所在的表单一个回写公式只能选择一个数据来源。选择了一个数据来源以后,和这个数据来源有引用,嵌入关系的周边表单的数据,你都可以使用,并作为查询条件。在操作编辑区域单击按钮,然后在“选择数据来源”面板中选择数据来源即可,“选择数据来源”面板展示如下图。如果表单很多的话,可以通过“表单搜查”工具直接检索。
6、设置数据来源过滤条件设置了数据来源以后,等于告诉了系统,你的数据来源是哪里,但是一个表单中的数据是很多的,大多数情况下,你可能是确定用其中的喋笊脎脶某一条记录的,或者是筛选出少部分数据,那么你就要设定一个过滤条件,这个过滤条件的设置,其实就是设计一系列关系表达式,并把他们用逻辑运算符连接起来。过滤条件就是数据数据来源的某个字段,和当前上下文的数据进行一个逻辑运算,只有符合条件的数据才会被筛选出来,备用。最简单的就是添加一个表达式,选择数据数据来源里的某个字段,然后操作符,比如等于,选择上下文中的数据项,比如产品型号,这样一个表达式就写好了,然后添加就可以了。如果条件很复杂,那就添加多个表单式,中间可以用逻辑运算并、且、或连接起来,不用想的那么不复杂。再比如,过滤项列表选:产品型号,过滤条件公式也选:产品型号,“等于”你选的数据数据来源里,你要选的那一条数据,也就是它的产品型号,要等于你现在操作的记录里填写的产品型号,即:数据来源.产品型号 = 入库单.产品型号。条件里可以使用excel函数来计算中间结果。过滤条件可以写的很复杂,可以是很多个表达式通过逻辑运算复合而成。不过大多数情况下,一个表达式就解决问题了。例如,我已知品种,要查询出其对应的单价,然后乘以数量后,回写到一个表里的金额字段里这个回写操作,就需要设置数据来源为“价格表单”,并且过滤条件是价格表中的“品种”要等于环境上下文中的“品种”,这个设置数据来源过滤在魔方网表中如下图所示,红框所标的地方表示需要选择操作的地方。最后设置好后,别忘记保存,然后直接关闭该设置面板即可。魔方网表可以支持任意复杂的表单式组合,不仅可以设定条件,还可以设定排序方式,这个对于选择多条数据的操作比较有意义。
7、数据来源过滤后数据的使用方式设置了查询条件以后,如果说查询出来的数据不是一条那么执行后续操作的方式有两种:第一种,是只取第一条,后续也只执行一条数据的操作;第二种是循环操作,把源数据过滤后的数据一条一条全部循环执行一次操作。
8、选择目标表单就是选择你要操作写入数据的表单。
9、选择目标表单的过滤条件和上面数据来源过滤条件差不多,容易理解,就是设定要对哪些数据进行操作,过滤一下。例如,如果你是添加操作,在目标表单里创建一条新的记录,那就根本不需要过滤条件,直接在目标表添加就可以了。如果你要做的是修改操作,比如库存管理中,要修改库存表里相应型号的库存量,那就必须要说明你要从目标表单里选出哪一条记录进行修改,这个时候,过滤条件就很重要了。
10、目标表单的使用方式和数据来源数据的使用方式一个意思,如果选出来多条,是只对第一条操作,还是对所有结果循环操作
11、操作方式就是说当执行回写公式的时候,对目标表单筛选出的数据做什么样的操作。创建:就是新增记录。修改:就是修改记录(有一个选项是不存在则创建,勾中以后,如果目标记录存在则按规则修改,不存在则新增)。删除:就是删除对应的数据
12、赋值操作如果是新建和修改操作的话,需要设置目标表单的新增记录页面会显示出来,每一个字段分别需要填入什么数据,可以在这里设置数据,可以是环境上下文,可以是数据来源中查询出来的数据,也可以是这些数据和excel函数的结合计算后的数据。单击按钮,弹出的界面其实就是类似添加记录的界面,而且是目标表单的这些数据项,然后你就可以填了,点哪个就编辑哪个字段项即可,也就是给那个字段重新赋值,赋值操作编辑面板如下图,所有的表单内宏、操作符和函数都可以在工具栏中找到。编辑好赋值公式后需要进行校验,校验通过后再保存。
13、执行条件执行条件是设定一个逻辑表达式,如果表达式为真,这个回写公式就执行,为假则不执行。执行条件在回写公式中的设置是一个单独的区域,如下图所示。包括选择数据来源执行条件数据来源、设置过滤条件、编辑执行条件公式。这里特别说明一下,在新增、修改、删除记录触发回写公式的“打开界面时”和“操作前”的情况下,在执行条件区域还可以设置一个系统提示,也就是让系统在数据不满足条件的情况下则终止,并弹出编辑好的提示信息。如下图,勾选上“不满足条件则终止”,单击按钮即可表提示信息了。执行条件比较独立,就是说你虽然设置了这个回写公式,但你可能需要设定只在某种情况下执行。比如入库单,入库的产品类型是某一个特殊类型的话,是不记库存的,不需要回写,那么你就可以设定一个执行条件,判断一下,只有符合条件的时候才会执行回写操作。执行条件也可以选择一个数据源,然后和上下文的数据项做逻辑操作,写出比较复杂的表达式。现在执行条件用的最多的是以下这两种情况:(1)发消息通知。比如我可以在添加出库的时候,如果发出量比较大的话,发个消息通知相关的人,那么这个回写公式就可以单独再加一个,就是发消息,但是执行条件就要判断一下出库单里的数量是不是很大。(2)添加记录的时候做高级校验用。
14、选择数据来源执行条件数据来源同样道理,执行条件作为判断条件的数据,不但可以是环境上下文,也可以是其他表单数据和上下文组合查询的结果,所以这里可以选择数据来源。
15、设置过滤条件(数据来源执行条件数据来源)和上面数据来源,目标表单的过滤条件一样理解。
16、编辑执行条件公式就是一个逻辑表达式的公式编辑。可以用到上面选出来的数据和excel函数,为真则执行回写,假则不执行。
17、执行时机只有4中触发类型的回写有执行时机的概念,分别是:新增记录、修改记录、删除氇监煜紊记录、查看记录。前泌驾台佐3种触发方式的执行时机有:打开界面时、操作前、操作后;查看记录触发的执行时机是:记录查看前、记录查看后。顾名思义,上面所说的执行时机也就是在触发回写这一过程中又细分了一些执行时机,在不同的执行时机下可以执行不同的回写公式。举个例子,“添加记录”触发回写,“打开界面时”执行,例如一个“订单”表,有如下字段:单价($)(数字),日期(日期),汇率(数字),单价(¥)(数字;行间公式:单价($)*汇率),点击次数(数字,小数点位数为0),填报人(文本),现在希望打开“添加记录”操作面板的时候,在“填报人”字段中就有一个默认值,而且这个默认值可以是一个公式或者经过计算得来,同时在添加记录的时候还能修改默认值,以前的默认值都是比较简单的,是在字段属性中设置,不能是一个公式,比如返回当前日期,就无法实现,现在在执行时机为“打开界面时”编辑回写公式就可以实现了。在“订单”中编辑回写公式,触发类型:新增记录;执行时机:打开界面时;添加“填报人-默认值”公式;单击“操作”编辑区域的按钮进行复制操作的设置,“填报人”赋值:MFUSER(),也就是返回取当前用户作为默认值,如果是日期类型字段也可以直接返回当前日期为默认值,相关函数可以在赋值面板的工具栏中找到,对函数应该不了解的可以参考本手册附录2;最后勾选上启用回写公式,并保存回写公式就可以了。其他执行时机的例子就不一一列举了,在后面的实例介绍中会有详细讲解。
18、上下文记录“手动触发”和“定时触发”这两种情况下需要自己定义上下文记录,作用就是设置“手工选择”,还是“预定义过滤条件”,区别就是触发回写公式前,触发回写的所有数据选取方式不同,如果是“手工选择”,则需要手动的去勾选数据,然后才选择手动触发回写公式;如果是“预定义过滤条件”,则可以直接设置一个过滤条件,让系统去选择数据,然后执行触发的回写公式。² 手工选择:手工选择记录,然后手动触发指定组的回写公式。² 预定义过滤条件:对象下文的选择不是手工的选择,也就是对那些需要触发回写的记录不需要再手工的去选择了,而是系统直接通过设置好的过滤条件找到那些记录,然后手动触发指定组的回写公式。
19、修改记录(触发)在触发类型为修改记录时的回写公式中,会出现返回值有两种的情况,一种是返回该字段的操作前的值,另一种是返回该字段的操作后的值。一般是在设置过滤条件和赋值的时候会出现,出现的形式如下图,直接单击选中其中一种即可。
20、查看记录(触葛激握颟发)触发类型为查看记录的回写公式有些特殊,这里举个小例子来做介绍。查看记录触发类型的回写柬缰缣挞公式的执行时机分两种:记录查看前,记录查看后。例子:实现记录查看后,系统回写生成点击次数,也就是当查看一次记录,就在点击次数字段中+1,也就是统计点击量,这里编辑回写公式是回写本表单自己的点击次数。还是“订单”表单,字段如下:单价($)(数字),日期(日期),汇率(数字),单价(¥)(数字;行间公式:单价($)*汇率),点击次数(数字,小数点位数为0),填报人(文本)。编辑一个触发类型为查看记录的回写公式,执行时机为“记录查看后”,目标表单选择“订单”,过滤条件是"订单.序号"等于"$MF(序号)$",也就是找出当前操作的这条记录,然后选择操作方式:修改,不需要勾选不存在则创建,赋值操作有:“点击次数”赋值为IF(MFISNULL($MF(点击次数)$),1,$MF(目标表单.点击次数)$+1),也就是如果$MF(点击次数)$为空,则为返回1,如果不为空,则在当前的基础上加1。然后启用回写公式,保存回写公式即可。这里只是简单的以这个例子来讲解下查看记录触发的概念,其他的关于查看记录触发可实现的功能就靠大家自己发散思维了。
21、手动触发手动触发回写有两种形式,也就是“上下文记录”类型有两种:手工选择、预定义过滤条件。² 手工选择:手工选择记录,然后手动触发指定组的回写公式。² 预定义过滤条件:对象下文的选择不是手工的选择,也就是对那些需要触发回写的记录不需要再手工的去选择了,而是系统直接通过设置好的过滤条件找到那些记录,然后手动触发指定组的回写公式。手动选择这里就不详细介绍了,在后面的21.10小节有具体实例讲解,这里简单的介绍下预定义过滤条件这种情况。首先是选择手动触发回写,然后添加一个组,作为手动触发回写公式按钮,上下文记录选择预定义过滤条件,因为是不希望手工的去选择数据,所以需要设置过滤条件,单击按钮,设置于设置数据来源、目标表单的过滤条件一样,使用方式的选择也是一样的,然后添加新的回写公式就可以了。
22、定时触发定时触发与手动触发预定义过滤条件情况下的回写公式类似,只是不需要手动去单击回写按钮系统才执行回写,而是可以通过编辑触发时间来定时间点让系统自动去执行。首先需要选择定时触发,然后单击设置组的最后面按钮,打开编辑触发时间面板,如下图。设置起始时间结束时间,然后再设置具体定时触发让系统去执行回写的时间点即可。
23、是否在提交前重算在操作前的回写,有这样一个概念,就是“是否在提交前重算”,这个概念与重算公式有关。重算的概念在公式章节中有介绍,在魔方网表中表现形式是“重算公式”。重算除了会执行当前的行间公式以外,还对所有操作前的回写公式也会进行计算。举个例子,提取汇率,在“订单”表中需要通过重算公式把汇率提取过来;需要的表单有“订单”表和“汇率”表;“订单”字段结构:单价($)(数字),日期(日期),汇率(数字),单价(¥)(数字;行间公式:单价($)*汇率),点击次数(数字,小数点位数为0),填报人(文本);“汇率”表字段结构:日期(日期),汇率(数字),汇率表中需要有相应汇率的数据;在“订单”表中编辑新增记录触发回写公式,执行时机是“操作前”,公式名称为“提前汇率”,数据来源是当前上下文,所以不需要设置,直接选择目标表单“汇率”表即可,设置目标表单过滤条件:“汇率.日期”等于“$MF(日期)$”(也就是当前所填的这个记录的日期),使用方式:仅使用第一条,重点是这里,勾选上“是否提交后重新计算”,也就是提交后执行重算公式,赋值操作:“汇率”赋值:$MF(数据来源.汇率)$。如此就可以实现在“订单”表中提前到汇率信息了,那么勾选上“是否提交后重新计算”和不勾选上的区别是什么呢?下面来具体解释。在订单中添加一条新记录,然后单击按钮让系统执行回写公式的重算把汇率的值带回来,在这个时候,是可以对带回来的这个汇率值进行修改的,现在我修改了,然后继续做保存这条记录的操作,重点来了,最后保存的是重算所提取的汇率呢?还是修改后的汇率呢?这里就体现了“是否提交后重新计算”这个选项的作用了。如果希望始终是保存重算提取的汇率值,不管是否修改了这个回写过来的值,那么就勾选上“是否提交后重新计算“,系统就会在提交保存记录时重新计算;如果希望保存修改后的值,而不是经过回写提前过来的那个汇率值,那么就不需要勾选了,也就是有了一个可以修改的机会。在魔方网表回写公式中,设置“是否提交后重新计算”的位置在公式设置的“操作”区域,一般在最后面,如下图所示。【重点提醒】如果是实现校验的回写公式,那么一定要勾选上这个选项,否则系统是不会执行校验功能。还有一点,有了这个选项,也就是说在操作前提数的时候,有两种选择,提数可以修改,提数不可以修改。
24、返回值类型的选择在编辑回写公式赋值操作的时候,对于数字字段有一些特殊赋值操作,方便实现更多的功能。例如循环使用多条数据,给一个字段赋值的时候就可以返回该字段汇总后的值、返回该字段不重复的记录数、返回该字段最大值等等,一般不是循环使用数据,或者不是数字类型字段的赋值操作系统不会给这个功能,但是如果遇到了,只要正确选择需要返回的值即可,如下图就是选择类型框,单击选中相应的返回值类型即可。可选值的类型如下:² 返回该字段的数字之和² 返回该字段不重复的记录数² 返回该字段最大值² 返回该字段最小值² 返回该字段的数字平均值² 原值
25、消息通知消息通知在嵌朗醚躅魔方网表中可以通过触发回写公式来进行发送,例如设置执行条件预警、定时发送等等。消息通知在回写公式里是可以单独设置的,有一邗锒凳审个“消息通知”编辑区域,如下图所示。在这个区域内启用的消息通知功能,是在整个回写操作执行完才发送一条消息的。消息通知还可以和其他的功能结合使用,比如在操作编辑区域的最下面设置启用消息通知,如下图所示。在这里设置的消息通知,是在操作过程中每处理一条记录就会发送一条消息,也就是结合回写的操作使用。设置消息通知只需要勾选上“启用消息通知”,单击按钮进行编辑即可,编辑信息面板如下图。输入收件人,单击即可添加收件人,在内容下面的编辑框中编辑消息通知的内容,同时还可以设置定时发送、发送短信、发送邮件这些功能,最后保存即可。这里需要提醒的是,在编辑消息通知的内容是,如果需要插入宏命令的话,需要做特殊处理,系统才能识别,首先单击按钮插入“#MF{ }#”标识,然后把需要插入的宏插入到{ }中间即可,例如需要插入“$MF(合同号)$”这个宏,那么在内容编辑区这样输入:#MF{$MF(合同号)$ }#。
26、回写日志回写日志是用于检错和跟踪的日志记录,输出的信息有回写公式和报表公式执行的记录信息。管理员登录魔方网表后,单击在系统工具栏中“设置”,在设置界面就可以看到“回写日志”了,回写日志只有在“启用”的情况下才会进行跟踪记录。通过单击按钮即可启用,如下图所示。