UFN_WRITEOFF_GETLOGICALSPLITSINCURRENCY

Returns the logical splits for all write-offs in the system based on the pledges they are writing off.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@REVENUESPLITID uniqueidentifier IN
@CURRENCYID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_WRITEOFF_GETLOGICALSPLITSINCURRENCY
            (
                @REVENUESPLITID uniqueidentifier = null,
                @CURRENCYID uniqueidentifier = null
            )
            returns table
            as return
            select distinct
                [SPLITS].ID,
                WRITEOFF.ID as [WRITEOFFID],
                WRITEOFF.REVENUEID,
                case when dbo.UFN_REVENUE_GETAMOUNTINCURRENCY(REVENUE.ID, @CURRENCYID) > 0 then cast(sum(dbo.UFN_INSTALLMENTSPLITWRITEOFF_GETAMOUNTINCURRENCY(INSTALLMENTSPLITWRITEOFF.ID, @CURRENCYID)) * (cast(dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(SPLITS.ID, @CURRENCYID) as decimal(30, 4))/ cast(dbo.UFN_REVENUE_GETAMOUNTINCURRENCY(REVENUE.ID, @CURRENCYID) as decimal(30, 4))) as money) else null end AS [AMOUNT],
                [SPLITS].DESIGNATIONID
            from dbo.WRITEOFF
            left join dbo.INSTALLMENTSPLITWRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
            left join dbo.REVENUE on REVENUE.ID = WRITEOFF.REVENUEID
            left join dbo.REVENUESPLIT as [SPLITS] on [SPLITS].REVENUEID = REVENUE.ID
            where (@REVENUESPLITID is null or [SPLITS].ID = @REVENUESPLITID)
            group by [SPLITS].ID, WRITEOFF.ID, WRITEOFF.REVENUEID, [SPLITS].DESIGNATIONID, REVENUE.ID