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