Getcolvaluemore的使用方法:getColValueMore(tablename,selectfield,field1,value1,field2,value2..)注意所有的表明和列名必须用“”引起来。变量不用引。例:getcolvaluemore("cmp_busibill","djbh","vouchid",h_vouchid,"vouchid",h_vouchid,"djrq",h_djrq);问题描述:实现目的:当材料出库单上存货编码等于成本对象编码,并且核算方式(批次号)等于102时,单价取存货核算本月结存单价。在材料出库单上成本对象中写入了以下编辑公式,取不到值,打上了增加公司pk的补丁,请帮忙检查是什么原因,谢谢!nprice->iif(ccostobjectbasid==cinvbasid,iif(vbatchcode="102",getcolvaluemore("ia_periodaccount",nabmny,"pk_corp","logincorp(2)","cinventoryid","ccostobjectbasid","vbatchcode",102,"caccountyear",year(),"caccountmonth",mon()),null),null);当写入一下公式时,可以给单价赋值215.0000,getcolvaluemore写法应该有不合适的地方。请帮忙检查下,谢谢nprice->iif(ccostobjectbasid==cinvbasid,iif(vbatchcode="102",215,null),null)经过确认,getcolvalue函数可以支持视图操作。错误的原因是公式书写错误,从日志可以看出设置的公式getColValueMore没有在固定字段加引号,或是加了引号没有发生作用,总之是在执行公式时执行的是没有加引号的公式【解决方案】公式正确设置如下:nprice->iif(ccostobjectbasid==cinvbasid,iif(vbatchcode="102",getcolvaluemore("ia_monthledger","nabprice","pk_corp",logincorp(2),"cinventoryid",cinventoryid,"vbatch",102,"frecordtypeflag",3,"caccountyear",year(),"caccountmonth",iif(tonumber(mon())<=tonumber(9),0+mon(),mon())),null),null);公式说明:ia_periodaccount是记录每半年和一年的结存情况的表ia_monthledger是记录每月结存情况的表mon()获取的当前月是客户端系统时间对应的月份不是软件登录时间,返回的值是具体数字,如8月返回是8,而ia_monthledger中记录的月份是08,因此公式中需要做判断处理如有问题,请及时反馈!用友网络科技股份有限公司