Admin
Forum Admin
China
总发贴数:73 |
发表于 - 2017/12/06 : 20:58:43
问题情况1】:客户有2个月的“采购入库单”和“材料出库单”不知何故做在了一个“不计入成本”的仓库里(举例叫A仓),发现后需要调整到正确的需要计入成本的仓库里(举例叫B仓),请求我帮助处理。 【处理思路1】:首先我想到直接去update这两种单据(采购入库单=rdrecord01;材料出库单=rdrecord11)的仓库编码(cWhCode),单据上的仓库是正确了,但是产生了后续问题(其实这个后续问题,并不是产生于update仓库编码,而是源自于把单据做进了不记成本的仓库导致); --------------------------------------------------------------------- 【问题情况2】 :客户审核了这2种单据后,在【存货核算】模块的【正常单据记账】里过滤不到这些修改过仓库的单据; 【处理思路2】 :首先我想到去update这2种单据的“单据是否核算=bCosting”这个字段值,但是发现改了没有用。然后想起由于刚开始B仓是不计入成本的,所以凡是进出这个仓的单据,是不会在"存货核算未记账单据列表”中产生记录的,即使把这些单据的仓库编码修改为计入成本的仓库,也不会产生。所以需要手动把这些单据记录插入到这个”未记账单据列表”中来。需要分别插入(采购入库单未记账单据列表=IA_ST_UnAccountVouch01;材料出库单未记账单据列表=IA_ST_UnAccountVouch11)。 插入的时候,需要分别从它们的主表获取记录的ID、从子表获取记录的autoid,分别对应到这个未记账单据列表的IDUN和IDSUN;然后还需要update这个表的其他2个字段值:单据类型和业务类型。 在这个过程中,我遇到一个突发情况:我为了保险起见,我先把这些记录select into进了一张中转表,在核对记录条数的过程中,我发现记录条数对不上,一问,发现是客户的仓库同事在我处理的这个期间又增加了好多张材料出库单(集中补录),因为她增加的这些材料出库单,选择的记入成本的A仓,所以这些记录会自动添加到这个未记账单据列表中,而这时我select into 的那个中转表里也已经有了这些记录了,这样的话如果做insert into,会怎么样呢,会不会产生重复值?因为我不懂SQL,于是电话请教了资深开发朋友,确认如果在这样的情况下insert into,就会产生重复。于是我先在未记账列表里把后来她新增的这些记录delete掉,然后做insert into。然后在【存货核算】的【正常单据记账】里就能过滤出来这些单据了。 PS:其实也可以重新select into 一下那个中转表,或者用复杂一点的语法直接从源表select 的时候就排除掉后来新增的这些记录,效果也是一样。
企业互联,融合发展; 精品培训,信而收益。 网络科技,创新管理; 服务经纬,始终如一。 |