solop-develop / adempiere-grpc-server

ADempiere gRPC Server example of integration
GNU General Public License v2.0
0 stars 9 forks source link

Fix: Error Sql Payment #855

Closed Ricargame closed 2 weeks ago

Ricargame commented 4 weeks ago

Before

PaymentInfo.listPaymentInfo: org.postgresql.util.PSQLException: ERROR: syntax error at or near "."
  Position: 360, SQL=SELECT COUNT(*)  FROM C_Payment AS p WHERE 1=1  AND p.AD_Client_ID IN(0,11) AND p.AD_Org_ID IN(0,11,12,50000,50002,50001,50004,50006,50005,50007) AND (p.C_Payment_ID IS NULL OR p.C_Payment_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 335 AND AD_User_ID <> 100 AND IsActive = 'Y' )) AND (NOT EXISTS (SELECT * FROM C_BankStatementLine p.bsl INNER JOIN C_BankStatement bs ON (bsl.C_BankStatement_ID=bs.C_BankStatement_ID) WHERE bsl.C_Payment_ID=p.C_Payment_ID AND bs.DocStatus<>'VO') AND p.DocStatus IN ('CO','CL','RE') AND p.PayAmt<>0 AND p.IsReconciled='N' AND p.C_BankAccount_ID=100) [26]

https://github.com/user-attachments/assets/7503cb05-62b9-42cc-8f42-86b4e40775bf

After

SELECT p.C_Payment_ID, p.UUID, (SELECT b.Name || ' ' || ba.AccountNo FROM C_Bank b, C_BankAccount ba WHERE b.C_Bank_ID=ba.C_Bank_ID AND ba.C_BankAccount_ID=p.C_BankAccount_ID) AS BankAccount, (SELECT Name FROM C_BPartner bp WHERE bp.C_BPartner_ID=p.C_BPartner_ID) AS BusinessPartner, p.DateTrx, p.DocumentNo, p.IsReceipt, (SELECT ISO_Code FROM C_Currency c WHERE c.C_Currency_ID=p.C_Currency_ID) AS Currency, p.PayAmt, currencyBase(p.PayAmt,p.C_Currency_ID,p.DateTrx, p.AD_Client_ID,p.AD_Org_ID), p.DiscountAmt, p.WriteOffAmt, p.IsAllocated, docstatus FROM C_Payment AS p WHERE 1=1  AND p.AD_Client_ID IN(0,11) AND p.AD_Org_ID IN(0,11,12,50000,50002,50001,50004,50006,50005,50007) AND (p.C_Payment_ID IS NULL OR p.C_Payment_ID NOT IN ( SELECT Record_ID FROM AD_Private_Access WHERE AD_Table_ID = 335 AND AD_User_ID <> 100 AND IsActive = 'Y' )) AND (NOT EXISTS (SELECT * FROM C_BankStatementLine bsl INNER JOIN C_BankStatement bs ON (bsl.C_BankStatement_ID=bs.C_BankStatement_ID) WHERE bsl.C_Payment_ID=p.C_Payment_ID AND bs.DocStatus<>'VO') AND p.DocStatus IN ('CO','CL','RE') AND p.PayAmt<>0 AND p.IsReconciled='N' AND p.C_BankAccount_ID=100)

https://github.com/user-attachments/assets/2a5616be-4670-432a-965f-f99dfd8f3c18

Fixed: https://github.com/solop-develop/frontend-core/issues/465