金蝶K3系统单据表体,对于随物料携带过来的相关属性字段,默认是不允许修改的,但是实际应用中,有业务部门需求是首先要将默认携带字段数据带过来,然后还要能够进行修改,针对该需求,可以进行如下操作:
1、首先使用BOS开发平台在该单据体增加列;
2、将列名改为需要增加的列名;
3、字段类型本文以字符串类型为例,切换到高级,数据来源选择“手工录入”;
4、增加完毕后保存单据;
5、打开SQL Server Management Studio,在K3对应数据库执行如下语句,;
select FTemplateID,* from ictransactiontype where FName like '%销售出库%'--根据销售出库单名称检索模板内码
本文以销售出库单为例,检索到的模板内码为B01;
SELECT * FROM ictemplateentry WHERE FID='B01' order by FCtlOrder-- 根据以上查出来的销售出库模板内码检索销售出库单据体所有字段
定位新增的列FCtlOrder值为77;
update ictemplateentry set
--FNeedSave=1,---0表示不保存,1表示保存
--FEnable=48,--0表示锁定不让修改,48表示可以修改
--FCtlType=0,
FRelationID='FItemID',--表示该字段值是以物料编码内码为关联条件的
FAction='.,FApproveNo' --表示获取对应物料编码的对应的注册证号
WHERE FID='B01' and FCtlOrder=77--定位到需要调整的列
更新该列初始数值。
6、数据库更新完毕后,重新新增一张单,测试下单据效果。前面的字段是默认携带那种方式,从物料主数据携带过来的注册号不能修改;后一字段是新增的字段,携带过来后注册证号可以修改。
同理可以使用该方法对单据表头特定字段信息进行先自动携带后修改。
请注意,数据库刷新后,请不要在BOS里边进行单据的其他任何操作,否则BOS修改保存后,数据库对应字段自动还原,需要重新更新数据库字段。
OVER