E立方Excel服务器中读写控制公式
2020-02-24 22:26
在日常应用中,某些数据项目的“是否可以填写”有时候可能不是一成不变的,而是需要根据某些条件,例如根据某个数据项目的内容来决定的,如下图所示:

       如上图所示,“对象类型”是一个下拉选择数据规范,

假设我们要实现这样的功能:
1、当“对象类型”选择“客户”时,那么就只能填写“客户”这个数据项目,如果这时候“供应商”已经有内容就会同时清空它
2、同样,当“对象类型”选择“供应商”时,那么就只能填写“供应商”这个数据项目,如果这时候“客户”已经有内容就会同时清空它
 
       要实现以上目的,就需要用到本节要介绍的“读写控制公式”,下面我们就看看具体如何实现:
       报表设计 à 设置公式,

如上图所示,选中“读写控制公式”标签,然后点击“新增”,

如上图所示,输入公式名字、选择执行时机、选中不允许修改“客户”这个数据项目,清空的数据项目也是“客户”,同时选中是“满足条件时”执行,如果还需要提示一下,那就可以输入具体的“提示”信息,这里没有设置,最后点击“下一步”,

如上图所示,设置控制条件,也就是当时“对象类型”不等于“客户”时生效。
      
下面我们开始填报来验证一下效果,

如上图所示,当没有选择“对象类型”时,下面的客户和供应商都是可以随便填写的,接着我们选择“对象类型”为“供应商”,

如上图所示,这时候“客户”的内容就自动被清空了,同时也被锁定了,也就是无法输入客户了,但是供应商是可以修改的。
 
       当“对象类型”选择“客户”时,要清空和锁定供应商的方法也是类似,如下图所示:

 
       以上针对单一表的应用做了解释,下面我们再来看看针对明细表的应用,

如上图所示,我们要实现如下的功能:
1、当“控制标记-修改” = “是”时,才允许修改当前行中的 “值1”和“值2”
2、当“控制标记-删除行” = “是”时,才允许删除当前数据行
3、“值3”可以自由填写,不需要限制
 
       我设置“不允许修改明细项目”公式,如下如所示:

       如上图所示,设置方法跟上面介绍针对单一项目的时候应用类似,不过这里我们没有设置“清空数据项目”,因为我们只是控制是否允许填写,不需要清空内容,另外,这次选择的“不允许修改数据项目”是两个项目, 然后我们点击“下一步”,

如上图所示,设置控制条件,这样就完成公式的设置了。
 
下面我们开始填报看看效果,

如上图所示,当我们给“控制标记-修改”选择“否”时,“值1”和“值2”不能修改,当选择“是”,就可以修改,因为公式没有涉及“值3”,所以它可以自由修改。
 
下面我们再来看看如何控制数据行的删除:
2、当“控制标记-删除行” = “是”时,才允许删除当前数据行
       我们设置公式“不允许删除行”,如下图所示:

与前面公式不同的是,这里的执行时机选择是“删除行列时”,动作是停止对数据表“读写动态控制­_明细”的行列操作,也就是当对这个明细表删除数据行时,就会检查条件,如果满足条件就停止删除,同时提示一下。
接着点击“下一步”,设置条件,如下图所示:

 
下面我们开始填报来验证效果,如下图所示:

当我们要删除第2行时,就会提示并且停止删除,如下图所示:

 
       除了控制删除行,插入行和扩展行也是可以控制的,方法也是类似,具体就不再介绍了。
       控制条件设置的要点:
  1. 为了提高效率,不能要设置太复杂的条件
  2. 条件中的数据项目应该只包含当前数据表的项目,如果当前表是重复表的话,还可以包含单一项目,但是不允许同时涉及多个不同的明细表。
表间取数公式中的“前置条件”也是类似的要求
Copyright © 2017 沈阳凯安信通科技有限公司 All rights reserved. Power by DedeCms 辽ICP备13002452号-5