K3系统中新建表且创建触发器,在销售出库单中应用!
思路是这样的,分三步进行,目的是在K3系统中新建一张表,集中反映存货中批号物料的情况,在做销售出库单中选择与批号相同,将这张表中对应的字段内容写入出库单的字段中,达到快速录入的效果。
第一步:
查询并生成一张新表:表ICInventory,含有字段(FBrNo, FItemID, FBatchNo, FStockID, FQty, FBal, FStockPlaceID);另有两张表是Icstorckbill与表Icstorckbillentry。要在新表中反映表ICInventory的所有字段及表Icstorckbillentry中的字段FItemID、FEntrySelf0223、FEntrySelf0224,这两个字段来源于表Icstorckbillentry,(表Icstorckbillentry与ICInventory没有直接关系,它们之间是通过表Icstorckbill相关联的,表Icstorckbill与表Icstorckbillentry的关联字段是Finterid,我只要表Icstorckbill中字段FTranType=2的信息,而表ICInventory与表Icstorckbill的关联字段是FItemID)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
第一步的SQL选择生成是这样的,但调试时有问题?
select a.FBrNo, a.FItemID, a.FBatchNo, a.FStockID, a.FQty, a.FBal, a.FStockPlaceID, a.FKFPeroid, a.FKFDate, a.FQtyLock
b.FEntrySelfA0223, b.FEntrySelfA0224
from ICInventory a
left out join
(select ICStockBillEntry.FBatchNo,ICStockBillEntry.FEntrySelfA0223, ICStockBillEntry.FEntrySelfA0224 from ICStockBill, ICStockBillEntry
where ICStockBill.FInterID = ICStockBillEntry.FInterID and ICStockBill.FTranType=2) b
on a.FItemID=b.FItemID
++++++++++++++++++++++++++++++++++++++++++
调试时提示:
服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: '.' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 6
第 6 行: 'b' 附近有语法错误。
各位大虾,有何法子处理?
第二步,新增表,表名是Temp_wjs(前面的三张表ICInventory、Icstorckbill与、Icstorckbillentry在系统中都存在)
由选择出来的数据insert 进新建的表,如何写SQL?
第三步:
做好这张表Temp_wjs后.
在生成销售出库单时,要选择产品批号,在选择时批号时,会触发做的触发器(就是找先前那张新建的表Temp_wjs,选中的批号FBatchNo与新表Temp_wjs中的字段FBatchNo比较,将相同批号FBatchNo相一行中的另三个字段FQTY(数量)、FEntrySelf0223(卷数)、FEntrySelf0224(毛重)内容填到销售出库单中的数量、卷数、毛重(后两个为自定义项内容)处。最后,手动审核。
请问各位兄弟姐妹们,这样的触发器怎么写?