U8二开:出货通知单自动取生产订单的内容

从erp管理的角度,企业的货物出厂一般都希望能跟踪并回查相关的信息。如,在出货通知单上显示每个货物的生产工单号或批次号。

U8提供给企业自己增删自定义字段来实现较简单的自适应处理。而这里由于是涉及到其他表的字段,所以需要在数据表中增加触发器。

注意:

由于新增的触发器不属于用友的代码维护的范畴,所以当ERP进行补丁升级、年结时,会存在冲了相关的触发器的可能;
Create TRIGGER [dbo].[SA_DispsINSmomCode] ON [dbo].[DispatchLists]
FOR INSERT
NOT FOR REPLICATION
AS
SET NOCOUNT ON
--2010.02.23 zs.tan added
--根据销售订单查询生产订单号插到自定义字段cDefine33中

Declare @InvCode Varchar(64), @OrderCode Varchar(64), @MoCode Varchar(64)
Declare @SoSid Int, @OrderRowNo Int
SELECT @InvCode=cInvCode, @SoSid=iSoSid, @OrderCode=cOrderCode, @OrderRowNo=iOrderRowNo
FROM Inserted
SELECT @MoCode=MoCode FROM mom_order WHERE moid IN (
SELECT od.MoId
FROM mom_orderdetail od RIGHT OUTER JOIN
SO_SODetails sd ON od.SoDId = Cast(sd.iSOsID AS Varchar) AND od.SoCode = sd.cSOCode AND
od.SoSeq = sd.iRowNo AND od.InvCode = sd.cInvCode
WHERE sd.iSOsID=@SoSid
AND sd.cSoCode=@OrderCode
AND sd.iRowNo=@OrderRowNo
AND iRowNo=@OrderRowNo
AND cInvCode=@InvCode
)
UPDATE DispatchLists
SET cDefine33=@MoCode
FROM DispatchLists INNER JOIN Inserted ON DispatchLists.AutoID=Inserted.AutoID
--2010.02.23 zs.tan end
SET NOCOUNT OFF

//==========================

Create TRIGGER [dbo].[SA_DispsUPmomCode] ON [dbo].[DispatchLists]
FOR Update
NOT FOR REPLICATION
AS
SET NOCOUNT ON
–2010.02.23 zs.tan added
–根据销售订单查询生产订单号插到自定义字段cDefine33中

If UPDATE(cDefine33)
Begin
Declare @InvCode Varchar(64), @OrderCode Varchar(64), @MoCode Varchar(64)
Declare @SoSid Int, @OrderRowNo Int
SELECT @InvCode=cInvCode, @SoSid=iSoSid, @OrderCode=cOrderCode, @OrderRowNo=iOrderRowNo
FROM Inserted
SELECT @MoCode=MoCode FROM mom_order WHERE moid IN (
SELECT od.MoId
FROM mom_orderdetail od RIGHT OUTER JOIN
SO_SODetails sd ON od.SoDId = Cast(sd.iSOsID AS Varchar) AND od.SoCode = sd.cSOCode AND
od.SoSeq = sd.iRowNo AND od.InvCode = sd.cInvCode
WHERE sd.iSOsID=@SoSid
AND sd.cSoCode=@OrderCode
AND sd.iRowNo=@OrderRowNo
AND iRowNo=@OrderRowNo
AND cInvCode=@InvCode
)
UPDATE DispatchLists
SET cDefine33=@MoCode
FROM DispatchLists INNER JOIN Inserted ON DispatchLists.AutoID=Inserted.AutoID
End
–2010.02.23 zs.tan end
SET NOCOUNT OFF

分享到:
赞(0)