电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

【反写】--允许一次超额

来源:金蝶云社区作者:金蝶2024-09-2313

【反写】--允许一次超额

说明

允许一次超额,只有下面两种情况才会做检查,并且检查的是反写前的值,不管下游单据某分录反写多少次,只要第一次反写前没有超额,就始终不会超额。所谓检查的是反写前的值是指在解析超额条件公式时,会把被反写字段的值先减去反写值,再进行比较。

会做超额检查两种情况

  1. 上游单据被反写字段,第一次反写前的值是正数,下游单据当前次反写值也是正数,并且总反写值(总影响)也是正数

  2. 上游单据被反写字段,第一次反写前的值是负数,下游单据当前次反写值也是负数,并且总反写值(总影响也是负数

名词解释

1、总反写值,简称总影响指的是下游单据最终反写值,比如:

第一次反写为10,则总影响就是10;

第二次把反写字段数量改为15,减去历史反写的10,那么第二次反写就是5,则总影响就是15;

第三次反写字段数量改成5,减去历史反写的15,那么第三次反写就是-10,则总影响就是5;

第四次把此行删除,需要把反写值给扣减掉,那么第四次反写就是-5,则总影响就是0;

总结:总影响始终等于下游反写字段的值;如果删除了,则总影响永远是0;

2、 检查反写前的值:

   在解析超额条件公式时,先把反写后的值减去总影响,再进行条件判断。

3、 当前次反写值:

当前次反写值=总反写值-历史反写值

4、第一次反写前的值

反写后的值减去总影响,如果只有一行反写则始终不变,如果多行交叉反写,则可能变化。

超额检查的影响

1. 如果检查不通过,会抛出超额异常

2. 会走反写插件AfterCheckHighLimit事件,可以干预检查结果

示例说明

反写规则: 操作是保存,设置单据B分录的数量字段反写单据A分录的数量字段,累加模式,允许超额一次,超额检查公式为单据A数量字段值大于5,则超额。

转换规则:单据A分录中的数量字段映射到单据B分录中的数量字段;


示例一

单据A:1条分录,数量字段为5;下推单据B,产生1条分录,数量值为5。

情况1: 单据B数量5不变,点保存操作,是否会超额检查,是否会超额?

1、影响:反写前的值为5,反写值为5,总影响为5,反写后的值为10;

2、是否会超额检查:满足超额检查第1项,反写前,反写值,总影响三个值都为正数,故会超额检查;

3、是否会超额: 超额检查公式,反写后的值减去总影响再跟5比较,结果为:(10-5)>5,条件不成立,故不超额。

情况2把单据B数量改成10,点保存操作,是否会超额检查,是否会超额?

1、影响:反写前的值为10,反写值为5,总影响为10,反写后的值为15;

2、是否会超额检查:满足超额检查第1项,第一次反写前,反写值,总影响三个值都为正数,故会超额检查;

3、是否会超额: 超额检查公式,反写后的值减去总影响再跟5比较,结果为:(15-10)>5,条件不成立,故不超额。

情况3把单据B数量字段改成4,点保存操作,是否为检查超额,是否为超额?

1、影响:反写前的值为15,反写值为-6,总影响为4,反写后的值为9;

2、是否会超额检查:第一次反写前5,反写值-6,总影响4,不满足三个都为正或都为负,故不会超额检查


情况4:最后把单据B删除,是否为检查超额,是否为超额?

1、影响:反写前的值为9,反写值为-4,总影响为0,反写后的值为5;

2、是否会超额检查:第一次反写前5,反写值-4,总影响0,不满足三个都为正或都为负,故不会超额检查


示例二

 单据A,1条分录,数量字段为5;下推两次单据B,

产生单据B1,1条分录,数量为5;

产生单据B2,1条分录,数量为5;

情况1: 先保存单据B1,是否会超额检查,是否会超额?

情况跟示例一中的情况1相同,反写后,单据A的数量字段值变成10.

情况2: 再保存单据B2,是否会超额检查,是否会超额?

1、影响:反写前的值为10,反写值为5,总影响为5,反写后的值为15;

2、是否会超额检查:第一次反写前10,反写值5,总影响5,满足三个都为正数,故会超额检查

3、是否会超额: 超额检查公式,反写后的值减去总影响再跟5比较,结果为:(15-5)>5,条件成立,会超额。


示例三

单据A,1条分录,数量字段为5,两条子分录,转换规则单据体按子分录进行分组;

下推单据B,产生带2条分录,数量字段都为5的数据。

情况1: 直接保存单据B,是否会超额检查,是否会超额?

第一条分录情况:

情况跟示例一中的情况1相同,反写后,单据A的数量字段值变成10.

第二条分录情况:

1、影响:反写前的值为10,反写值为5,总影响为5,反写后的值为15;

2、是否会超额检查:第一次反写前10,反写值5,总影响5,满足三个都为正数,故会超额检查

3、是否会超额: 超额检查公式,反写后的值减去总影响再跟5比较,结果为:(15-5)>5,条件成立,会超额。


示例四

 单据A,1条分录,数量字段为5;下推两次单据B,

产生单据B1,1条分录,数量为5;

产生单据B2,1条分录,数量为-5;

情况1: 先保存单据B1,是否会超额检查,是否会超额?

情况跟示例一中的情况1相同,反写后,单据A的数量字段值变成10.

情况2: 再保存单据B2,是否会超额检查,是否会超额?

1、影响:反写前的值为10,反写值为-5,总影响为-5,反写后的值为5;

2、是否会超额检查:第一次反写

【反写】--允许一次超额

说明允许一次超额,只有下面两种情况才会做检查,并且检查的是反写前的值,不管下游单据某分录反写多少次,只要第一次反写前没有超额,就始...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信