换个思路解决问题——会计平台公式设置问题nc产品支持部王静wjmint@ufida.com.cn原问题:打开IE,登录系统,会计平台凭证模板定义,找到工资福利系统下的工资发放单据,进行修改,辅助核算分录辅助核算,修改核算项定义,如下图:先把里面的公式删除,再把新的公式复制进去,点确定按钮后,如下图:核算项定义的公式为空,再点确定时,系统提示:辅助核算项定义不完全,确定后,只能取消修改,公式如下:iif(#部门主键0#="1001NC10000000000335","1001NC10000000000335",iif(#部门主键0#>="1001NC10000000000336"&部门主键0#<="1001NC1000000000033C","1001NC10000000000336",iif(#部门主键0#>="1001NC1000000000033D"&部门主键0#<="1001NC1000000000033H","1001NC1000000000033D",iif(#部门主键0#>="1001NC1000000000033N"&部门主键0#<="1001NC1000000000033S"||#部门主键0#="1001NC1000000000TF36","1001NC1000000000033N",iif(#部门主键0#>="1001NC1000000000033T"&部门主键0#<="1001NC1000000000033W","1001NC1000000000033T",iif(#部门主键0#>="1001NC1000000000033X"&部门主键0#<="1001NC10000000000340","1001NC1000000000033X",iif(#部门主键0#>="1001NC10000000000341"&部门主键0#<="1001NC10000000000344","1001NC10000000000341",iif(#部门主键0#>="1001NC10000000000345"&部门主键0#<="1001NC1000000000034B","1001NC10000000000345",iif(#部门主键0#>="1001NC1000000000034C"&部门主键0#<="1001NC1000000000034G","1001NC1000000000034C",iif(#部门主键0#>="1001NC1000000000034H"&部门主键0#<="1001NC1000000000034V"||#部门主键0#>="1001NC1000000000P4B6"&部门主键0#<="1001NC1000000000P4BG","1001NC1000000000034H",iif(#部门主键0#>="1001NC10000000000351"&部门主键0#<="1001NC10000000000354","1001NC10000000000351",iif(#部门主键0#>="1001NC1000000000036A"&部门主键0#<="1001NC1000000000037F","1001NC1000000000036A",iif(#部门主键0#>="1001NC1000000000037G"&部门主键0#<="1001NC1000000000038O","1001NC1000000000037G",iif(#部门主键0#>="1001NC1000000000038P"&部门主键0#<="1001NC100000000003A9","1001NC1000000000038P",iif(#部门主键0#>="1001NC100000000003AA"&部门主键0#<="1001NC100000000003C5"||#部门主键0#="1001NC1000000000V221","1001NC100000000003AA",iif(#部门主键0#>="1001NC100000000003C6"&部门主键0#<="1001NC100000000003CQ"||#部门主键0#="1001NC1000000000V5WA","1001NC100000000003C6",iif(#部门主键0#>="1001NC100000000003CR"&部门主键0#<="1001NC100000000003D2","1001NC100000000003CR",iif(#部门主键0#>="1001NC100000000003D3"&部门主键0#<="1001NC100000000003E6"||#部门主键0#="1001NC1000000000V629","1001NC100000000003D3","1001NC100000000003E7"))))))))))))))))))针对该问题,从表面上看是辅助核算设置后,点击确认没有生效,但其它公式设置却没有这个问题,只有在这个设置上才有这个问题,那么针对这一特点,我们第一个想到的就是该公式一定存在问题,我们仔细检查发现公式设置没有问题,但公式似乎有些过长了,结果通过统计,我们发现一共2100多个字符,但我们的会计平台公式设置长度是有限的,目前仅支持2000字符,其中还包括空格及符号。那么我们该怎么办呢?实施认为只能通过开发扩大字符长度来解决了,因为公式中已经没有什么可以缩减的地方了,因为都是主键了。但我们换个思路,问题就大不一样了思路一:我们观察公式,其中#部门主键0#多次出现,那么我们就可以用一个其他的字符来代替他,因为会计平台公式中支持->指向公式的那么我们可以设置如下公式解决a->#部门主键0#b->iif(a="1001NC10000000000335","1001NC10000000000335",iif(a>="1001NC10000000000336"&&a<="1001NC1000000000033C","1001NC10000000000336",.....);这样,#部门主键0#多个字符就由a一个字符代替,缩减了字数,达到了要求思路二:同时我们如果我们仔细管查,依然可以进一步省略1001NC100000000003351001NC10000000000336……1001NC1000000000033W1001NC1000000000V629从这些部门主健中,我们不难看出,他们的前n位都是一样的,不同的仅是后四位,那么,我们可以利用这个规律,再缩短我们的公式,我们可以通过公式就去取他的后四位做为判断条件即可,保险情况下,我们取后5位a->#部门主键0#b->right(a,5)c->iif(b="00335",a,iif(b>="00336"&&b<="0033C","1001NC10000000000336",.....)这样的话,简化的就很多了最后,希望大家多找规律,多利用系统提供函数,多角度的解决一个又一个问题