file:///D/u8c经验总结/ftp资料汇总/高手进阶系列/企业建模平台/模版设置/u8c公式-getcolvalue公式的应用说明及举例.txt[2019/1/2913:29:02]getColValue(tablename,fieldname,pkfield,pkvalue)根据主键从数据库查询特定字段的值,其功能类似SQL语句:selectfieldnamefromtablenamewherepkfield=pkvalue从这条SQL语句可以看出各个参数的含义.特别说明:getColvalue(a,b,c,d)含义解释:a是你要从哪个后台数据库表里取值,这个是一个表的名称;b是你要取的后台数据库表里的值,就是a表里的一个字段;c是你要取的后台这个表里的值,也是a表里的一个字段,可以作为唯一确定一条记录的条件的值,一般是主键类的,尽量不要使用编码、名称这类如果有重复的编码、名称就会造成公式条件不唯一,不唯一公式就不执行了;d是你写公式的这个单据上的值,可以作为和你后台要获取的a表里的c值唯一值匹配的,也就是说需要能和c的数据相同的字段值这个公式的总体含义就是当d=c时从a表里取出b的值来例1、应收单据上有部门这个字段(假定该部门有上级),取上级部门的编码的公式a->getColvalue(bd_deptdoc,pk_fathedept,pk_deptdoc,#部门0#);b->getColvalue(bd_deptdoc,deptcode,pk_deptdoc,a);首先把上级部门的主键存储到变量a中,然后再进行取值,这时把a代入,取得上级部门的编码但凡需要多次取值才能解决的问题,都可以通过这种方式解决用友网络科技股份有限公司file:///D/u8c经验总结/ftp资料汇总/高手进阶系列/企业建模平台/模版设置/u8c公式-getcolvalue公式的应用说明及举例.txt[2019/1/2913:29:02]例2、通过客商管理档案的主键取客商名称由于客商管理档案存有客商基本档案的主键,通过基本档案的主键才可以取得基本档案的名称或编码可以按照如下方式写公式a->getColValue(bd_cumandoc,pk_cubasdoc,pk_cumandoc,单据项目);b->getColValue(bd_cubasdoc,custname,pk_cubasdoc,a);单据项目选择单据上代表客商的单据项目例3、通过存货分类的编码获取1级存货分类的主键假设存货分类按照XX-XX-XX-XX的模式进行分级a->left(getcolvalue("bd_invcl","invclasscode","pk_invcl",#存货分类0#),2);b->getcolvalue2("bd_invcl","pk_invcl","invclasscode",a,"pk_corp","0001");c->iff(b==null,getcolvalue2("bd_invcl","pk_invcl","invclasscode",a,"pk_corp",@公司0@),b);这个公式代表的含义是1、首先根据存货分类主键取出存货分类编码的左侧两位,即对应的一级存货分类的编码2、由于存货分类是集团共享的类型,所以存在两个可能的出处。根据这一特性先从集团取3、如果从集团取值失败,则从公司取值最后得到的是c,也就是最后一个变量的值。具体的表结构可以参考数据字典,祝大家举一反三,顺利解决问题用友网络科技股份有限公司file:///D/u8c经验总结/ftp资料汇总/高手进阶系列/企业建模平台/模版设置/u8c公式-getcolvalue公式的应用说明及举例.txt[2019/1/2913:29:02]用友网络科技股份有限公司