举个例子(针对专业版),首先通过单据自定义功能给销售订单单据头增加一个自定义项目“发货仓库”,关联核算项目[仓库],数据库中对应字段是FHeadSelfS0123,销售订单对应的表是SEOrder(SEOrderEntry在本例中用不上)。
现在希望通过销售订单下推生成销售出库单时,订单上自定义的发货仓库自动携带到出库单的发货仓库。由于出库单的发货仓库是系统内置的对象,没办法通过单据自定义来指定数据关联,所以就只能通过单据流转表ICSelBills来实现。
请在查询分析器中执行:
Insert Into ICSelBills(FID,FFieldName,FDstCtlField,FDK,FSelType,FColName,FName,FTableName,FTableAlias,FAction) values('B01','FOrderInterID','FDCStockID',0,2,'S0','FHeadSelfS0123','SEOder','v1','(select FItemID From t_Stock where FItemID=v1.FHeadSelfS0123)')
Insert Into ICSelBills(FID,FFieldName,FDstCtlField,FDK,FSelType,FColName,FName,FTableName,FTableAlias,FAction) values('B01','FOrderInterID','FDCStockID',1,2,'S1','FHeadSelfS0123','SEOder','v1','(select FName From t_Stock where FItemID=v1.FHeadSelfS0123)')
Insert Into ICSelBills(FID,FFieldName,FDstCtlField,FDK,FSelType,FColName,FName,FTableName,FTableAlias,FAction) values('B01','FOrderInterID','FDCStockID',2,2,'S2','FHeadSelfS0123','SEOder','v1','(select FNumber From t_Stock where FItemID=v1.FHeadSelfS0123)')
下面解释一些字段的含义,我也是自己摸索出来的,不一定正确,仅供大家参考。
FDK字段:0-代表内码,1-代表名称,2-代表编码
这个我已经在演示账套中测试通过,由于每次自定义单据时字段名称不一定一致,大家在试的时候,要根据实际的字段名称来替换红色部分。
IcSelbills.FFieldName=IctableRelation.FfieldID
工业单据的自定义信息保存在IcTemplate和IcTempLateEntry,自定义的选单关系定义在IcSelbills和IctableRelation表中。选单模板表中定义源单和目标单据的表与字段的对应关系,以实现将源单信息写入目标单据。
「该帖子被 cyy275 在 2020/2/5 20:18:54 编辑过」