24 lines
1 KiB
Transact-SQL
24 lines
1 KiB
Transact-SQL
CREATE OR ALTER PROCEDURE [dbo].[Prc_P_PurchaseOrderAfterSave]
|
|
@Id uniqueidentifier,
|
|
@UserId uniqueidentifier = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE @Act nvarchar(16) = (SELECT PendingAction FROM Prc_T_PurchaseOrder WHERE Id = @Id);
|
|
UPDATE o SET
|
|
PaymentTermId = ISNULL(o.PaymentTermId, c.PurchasePaymentTermId),
|
|
IncotermId = ISNULL(o.IncotermId, c.PurchaseIncotermId),
|
|
IncotermLocation = ISNULL(o.IncotermLocation, c.PurchaseIncotermLocation),
|
|
BuyerUserId = CASE WHEN o.LastModificationTime IS NULL AND c.BuyerUserId IS NOT NULL THEN c.BuyerUserId ELSE o.BuyerUserId END
|
|
FROM Prc_T_PurchaseOrder o
|
|
INNER JOIN Adm_T_Contact c ON c.Id = o.SupplierId
|
|
WHERE o.Id = @Id;
|
|
|
|
EXEC Prc_P_PurchaseOrderRecalc @Id;
|
|
-- Durum butonlari islemi PendingAction alanina yazip ekranin guncelleme ucuyla kaydeder.
|
|
IF @Act IS NOT NULL
|
|
BEGIN
|
|
EXEC Prc_P_PurchaseOrderSetStatus @Id, @Act, @UserId;
|
|
EXEC Prc_P_MaterialRequestSyncStatus @Id;
|
|
END
|
|
END
|