From b0e4b4b18e23a04f2806c8b626905f95360096f3 Mon Sep 17 00:00:00 2001 From: VESSILLER Date: Wed, 14 Dec 2022 17:30:42 +0100 Subject: [PATCH] FIX sql when discount is applied --- htdocs/accountancy/journal/bankjournal.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 92fdfea2f49..e63101594cb 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -1415,15 +1415,19 @@ function getSourceDocRef($val, $typerecord) $sqlmid = ''; if ($typerecord == 'payment') { - $sqlmid .= "SELECT payfac.fk_facture as id, f.ref as ref"; - $sqlmid .= " FROM ".$db->prefix()."paiement_facture as payfac"; if (getDolGlobalInt('FACTURE_DEPOSITS_ARE_JUST_PAYMENTS')) { - $sqlmid .= " INNER JOIN ".$db->prefix()."societe_remise_except as sre ON sre.fk_facture_source = payfac.fk_facture"; - $sqlmid .= " INNER JOIN ".$db->prefix()."facture as f ON f.rowid = sre.fk_facture"; + $sqlmid = "SELECT payfac.fk_facture as id, ".$db->ifsql('f1.rowid IS NULL', 'f.ref', 'f1.ref')." as ref"; + $sqlmid .= " FROM ".$db->prefix()."paiement_facture as payfac"; + $sqlmid .= " LEFT JOIN ".$db->prefix()."facture as f ON f.rowid = payfac.fk_facture"; + $sqlmid .= " LEFT JOIN ".$db->prefix()."societe_remise_except as sre ON sre.fk_facture_source = payfac.fk_facture"; + $sqlmid .= " LEFT JOIN ".$db->prefix()."facture as f1 ON f1.rowid = sre.fk_facture"; + $sqlmid .= " WHERE payfac.fk_paiement=".((int) $val['paymentid']); } else { + $sqlmid = "SELECT payfac.fk_facture as id, f.ref as ref"; + $sqlmid .= " FROM ".$db->prefix()."paiement_facture as payfac"; $sqlmid .= " INNER JOIN ".$db->prefix()."facture as f ON f.rowid = payfac.fk_facture"; + $sqlmid .= " WHERE payfac.fk_paiement=".((int) $val['paymentid']); } - $sqlmid .= " WHERE payfac.fk_paiement=".((int) $val['paymentid']); $ref = $langs->transnoentitiesnoconv("Invoice"); } elseif ($typerecord == 'payment_supplier') { $sqlmid = 'SELECT payfac.fk_facturefourn as id, f.ref';