UFN_SALESDEPOSITPROCESS_TEMPLATES_GETUNMAPPEDTRANSACTIONS_FORACCOUNTSYSTEM
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESDEPOSITPROCESSID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_SALESDEPOSITPROCESS_TEMPLATES_GETUNMAPPEDTRANSACTIONS_FORACCOUNTSYSTEM
(
@SALESDEPOSITPROCESSID uniqueidentifier
)
RETURNS TABLE AS
RETURN (
select distinct
PAYMENTS.PAYMENTMETHODCODE
,PAYMENTS.PAYMENTMETHOD
,PAYMENTS.SALESMETHODCODE
,PAYMENTS.CREDITTYPECODEID
,PAYMENTS.OTHERPAYMENTMETHODCODEID
,PAYMENTS.TRANSACTIONCURRENCYID
from (
select distinct
T.PAYMENTMETHODCODE
,T.PAYMENTMETHOD
,T.SALESMETHODCODE
,T.CREDITTYPECODEID
,T.OTHERPAYMENTMETHODCODEID
,T.TRANSACTIONCURRENCYID
from dbo.UFN_SALESDEPOSITPROCESS_GETACCOUNTSYSTEMTRANSACTIONS(@SALESDEPOSITPROCESSID) T
union all
select
O.PAYMENTMETHODCODE
,O.PAYMENTMETHOD
,O.SALESMETHODCODE
,null as CREDITTYPECODEID
,null as OTHERPAYMENTMETHODCODEID
,(select top 1 ID from dbo.CURRENCY where ISORGANIZATIONCURRENCY = 1) as TRANSACTIONCURRENCYID
from dbo.UFN_SALESDEPOSITPROCESS_TEMPLATES_GETOVERSHORTS(@SALESDEPOSITPROCESSID) O
) PAYMENTS
where not exists(select 1
from dbo.SALESDEPOSITTEMPLATE T
left join dbo.SALESDEPOSITTEMPLATEPAYMENTMETHOD PM on T.ID = PM.SALESDEPOSITTEMPLATEID
left join dbo.SALESDEPOSITTEMPLATESALESCHANNEL C on T.ID = C.SALESDEPOSITTEMPLATEID
left join dbo.SALESDEPOSITTEMPLATECURRENCY CU on T.ID = cu.SALESDEPOSITTEMPLATEID
where T.SALESDEPOSITPROCESSID = @SALESDEPOSITPROCESSID
and (T.SALESCHANNELOPTIONCODE = 0 or C.SALESMETHODTYPECODE = PAYMENTS.SALESMETHODCODE)
and (T.CURRENCYOPTIONCODE = 0 or CU.CURRENCYID = PAYMENTS.TRANSACTIONCURRENCYID)
and (T.PAYMENTMETHODOPTIONCODE = 0 or
(PM.PAYMENTMETHODCODE = PAYMENTS.PAYMENTMETHODCODE
and ((PM.CREDITTYPECODEID is null and PAYMENTS.CREDITTYPECODEID is null)
or (PM.CREDITTYPECODEID = PAYMENTS.CREDITTYPECODEID))
and ((PM.OTHERPAYMENTMETHODCODEID is null and PAYMENTS.OTHERPAYMENTMETHODCODEID is null)
or (PM.OTHERPAYMENTMETHODCODEID = PAYMENTS.OTHERPAYMENTMETHODCODEID)))))
)