Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALTER PROCEDURE [dbo].[Facturatie_Totalen_Herbereken]
- @FactuurID INT
- AS
- BEGIN
- SET NOCOUNT ON;
- ;WITH FRCTE AS (
- SELECT TOP 1
- FactuurRegelID,
- FactuurID,
- FRCorrectie.[TotaalExcl],
- FRCorrectie.[TotaalIncl],
- FRCorrectie.[TotaalExcl] - FRCorrectie.[TotaalIncl] AS Verschil
- FROM FactuurRegels FR WITH (NOLOCK)
- OUTER APPLY (
- SELECT
- ROUND(SUM([FR1].[SubTotaalExcl] + FR1.BTWBedrag), 2) AS [TotaalExcl],
- SUM([FR1].[TotaalIncl]) AS [TotaalIncl]
- FROM FactuurRegels FR1 WITH (NOLOCK)
- WHERE
- FR1.FactuurID = FR.FactuurID
- ) FRCorrectie
- WHERE FR.FactuurID = @FactuurID
- AND FRCorrectie.[TotaalExcl] <> FRCorrectie.[TotaalIncl]
- )
- UPDATE FR SET
- [TotaalIncl] = CASE WHEN F.AfdrukkenInclusiefBTW = 0 THEN FR.[TotaalIncl] + FRCTE.[Verschil] ELSE FR.[TotaalIncl] END,
- [TotaalExcl] = CASE WHEN F.AfdrukkenInclusiefBTW = 1 THEN FR.[TotaalExcl] + FRCTE.[Verschil] ELSE FR.[TotaalExcl] END
- FROM FactuurRegels FR
- JOIN FRCTE WITH (NOLOCK) ON FRCTE.FactuurRegelID = FR.FactuurRegelID
- JOIN Facturen F WITH (NOLOCK) ON F.[FactuurID] = FRCTE.FactuurID
- WHERE
- F.PartijID IS NULL
- UPDATE F SET
- [FactuurBedragEXCL] = round([FactuurRegels].[FactuurBedragEXCL],2),
- [FactuurBedragINCL] = round([FactuurRegels].[FactuurBedragINCL],2),
- [BTWBedrag] = round([FactuurRegels].[BTWBedrag],2)
- FROM Facturen F
- OUTER APPLY (
- SELECT
- SUM(FR.TotaalExcl) AS FactuurBedragEXCL,
- SUM(FR.TotaalIncl) AS FactuurBedragINCL,
- SUM(FR.BTWBedrag) AS BTWBedrag
- FROM FactuurRegels FR WITH (NOLOCK)
- WHERE FR.FactuurID = F.FactuurID
- ) FactuurRegels
- WHERE F.FactuurID = @FactuurID
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement