-- ============================================= -- Author: -- Create date: -- 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