UFN_CREDIT_GETORDERPAYMENTS_2
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESORDERID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_CREDIT_GETORDERPAYMENTS_2
(
@SALESORDERID uniqueidentifier
)
returns table
--(
-- [INCLUDE] bit,
-- [DESCRIPTION] nvarchar(100),
-- [DISPLAYDESCRIPTION] nvarchar(100),
-- [DISPLAYSOURCE] nvarchar(100),
-- [SOURCENUMBER] integer,
-- [SOURCETYPE] tinyint,
-- [REFUNDAMOUNT] money,
-- [AMOUNTPAID] money,
-- [PAYMENTTYPECODE] tinyint,
-- [REVENUEID] uniqueidentifier,
-- [REVENUESPLITID] uniqueidentifier,
-- [TRANSACTIONID] uniqueidentifier,
-- [OTHERPAYMENTMETHODCODEID] uniqueidentifier,
-- [PAYMENTDATE] datetime
--)
as return
select
[INCLUDE],
[DESCRIPTION],
'$' + cast([AMOUNTPAID] as nvarchar(20)) + ' ' + [DESCRIPTION] as [DISPLAYDESCRIPTION],
[DISPLAYSOURCE],
[SOURCENUMBER],
[SOURCETYPE],
[REFUNDAMOUNT],
[AMOUNTPAID],
[PAYMENTTYPECODE],
[REVENUEID],
[REVENUESPLITID],
[TRANSACTIONID],
[OTHERPAYMENTMETHODCODEID],
[PAYMENTDATE]
from
(select
cast(0 as bit) as [INCLUDE],
case
when [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] = 10 then
dbo.UFN_OTHERPAYMENTMETHODCODE_GETDESCRIPTION([OTHERPAYMENTMETHODCODEID])
else
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD] +
coalesce(', ' + dbo.UFN_CREDITTYPECODE_GETDESCRIPTION([CREDITCARDPAYMENTMETHODDETAIL].[CREDITTYPECODEID]) + ' #' + [CREDITCARDPAYMENTMETHODDETAIL].[CREDITCARDPARTIALNUMBER], '') +
coalesce(' #' + [CHECKPAYMENTMETHODDETAIL].[CHECKNUMBER], '')
end [DESCRIPTION],
null as [DISPLAYSOURCE],
[SALESORDER].[SEQUENCEID] as [SOURCENUMBER],
0 as [SOURCETYPE],
0 as [REFUNDAMOUNT],
[FINANCIALTRANSACTION].[BASEAMOUNT] - coalesce((select sum(coalesce([CREDITPAYMENT].[AMOUNT], 0))
from dbo.[CREDITPAYMENT]
where [REVENUEID] = [FINANCIALTRANSACTION].[ID]), 0) as [AMOUNTPAID], -- (amount - refunds)
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] as [PAYMENTTYPECODE],
cast(1 as bit) as [AUTOINCLUDED],
[FINANCIALTRANSACTION].[ID] as [REVENUEID],
cast(null as uniqueidentifier) as [REVENUESPLITID],
[CREDITCARDPAYMENTMETHODDETAIL].[TRANSACTIONID],
[OTHERPAYMENTMETHODDETAIL].[OTHERPAYMENTMETHODCODEID],
cast(FINANCIALTRANSACTION.DATE as datetime) as [PAYMENTDATE]
from dbo.[SALESORDER]
inner join dbo.[SALESORDERPAYMENT] on [SALESORDERPAYMENT].[SALESORDERID] = [SALESORDER].[ID]
inner join dbo.[FINANCIALTRANSACTION] on [SALESORDERPAYMENT].[PAYMENTID] = [FINANCIALTRANSACTION].[ID]
inner join dbo.[REVENUEPAYMENTMETHOD] on [FINANCIALTRANSACTION].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
left join dbo.[CREDITCARDPAYMENTMETHODDETAIL] on [CREDITCARDPAYMENTMETHODDETAIL].[ID] = [REVENUEPAYMENTMETHOD].[ID]
left join dbo.[OTHERPAYMENTMETHODDETAIL] on [OTHERPAYMENTMETHODDETAIL].[ID] = [REVENUEPAYMENTMETHOD].[ID]
left join dbo.[CHECKPAYMENTMETHODDETAIL] on [CHECKPAYMENTMETHODDETAIL].[ID] = [REVENUEPAYMENTMETHOD].[ID]
where [SALESORDER].[ID] = @SALESORDERID) [PAYMENTS]
where [PAYMENTS].[AMOUNTPAID] > 0;