Files
Fuchs_Intranet/Fuchs_Database/dbo/Functions/fds__fn_InvoicePaymentAmount_full.sql
T
Stefan 10ecdfa2e4 Add Fuchs_Database SSDT project (schema source of truth)
Adds the SQL Server Data Tools project for the fuchs_fds database — tables,
table types, functions and stored procedures that the backend calls (e.g.
fds__getInvoice, fds__merge_bankingtransactions, fds__tt__bankingtransactions,
fds__admin_getReportCatalog, fis_* auth). Build/model caches (bin, obj,
*.dbmdl, *.jfm, *.user) are git-ignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:50:54 +02:00

37 lines
1.1 KiB
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[fds__fn_InvoicePaymentAmount_full]
(
@InvID varchar(15)
)
RETURNS numeric(9,2)
AS
BEGIN
DECLARE @RES numeric(9,2);
DECLARE @invoice_idlist [dbo].[fds__tt__idlist_vchar];
INSERT INTO @invoice_idlist VALUES(@invid);
With bs as (
SELECT * FROM [dbo].[fds__fn_bankingtransactions](null,null, null, null,@invoice_idlist)
), ci as(
SELECT [InvId] = d.[StornoTo_InvId], [amount] = ISNULL(i.[InvoiceBalance],0.0) * -1 FROM [dbo].[fds__invoices] as i JOIN [dbo].[fds__invoice_details] as d on i.[Id] = d.[InvId] where d.[StornoTo_InvId] = @InvID AND i.[IsFinal] = 1
), tp as (
SELECT [InvId], [amount] from bs where [invid] = @InvID
union
SELECT [InvId], [amount] from ci
), b as (
SELECT
[InvID] = @InvID
,[amount] = SUM(ISNULL(tp.[amount], 0.0))
FROM tp
WHERE tp.[invid] = @InvID
)
SELECT TOP(1) @RES = [amount] FROM b;
RETURN ISNULL(@RES, 0.0);
END