From 2775250ce42d957358b34c0aea2ec4e85fc58376 Mon Sep 17 00:00:00 2001
From: Florian HENRY <florian.henry@open-concept.pro>
Date: Thu, 13 Aug 2015 11:23:27 +0200
Subject: [PATCH] Fix TYPE_SITUATION on sell journals

---
 htdocs/accountancy/journal/sellsjournal.php | 18 ++++++++++++------
 htdocs/compta/journal/sellsjournal.php      | 14 ++++++++++----
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php
index 79eabc3c272..d84339dcf5f 100644
--- a/htdocs/accountancy/journal/sellsjournal.php
+++ b/htdocs/accountancy/journal/sellsjournal.php
@@ -89,8 +89,8 @@ $idpays = $p[0];
 $sql = "SELECT f.rowid, f.facnumber, f.type, f.datef as df, f.ref_client,";
 $sql .= " fd.rowid as fdid, fd.description, fd.product_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.total_ttc,";
 $sql .= " s.rowid as socid, s.nom as name, s.code_compta, s.code_client,";
-$sql .= " p.rowid as pid, p.ref as pref, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte, ";
-$sql .= " ct.accountancy_code_sell as account_tva";
+$sql .= " p.rowid as pid, p.ref as pref, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte,";
+$sql .= " fd.situation_percent,ct.accountancy_code_sell as account_tva";
 $sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = fd.fk_product";
 $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accountingaccount as aa ON aa.rowid = fd.fk_code_ventilation";
@@ -143,10 +143,16 @@ if ($result) {
 		$line = new FactureLigne($db);
 		$line->fetch($obj->rowid);
 		$prev_progress = $line->get_prev_progress();
-		if ($obj->situation_percent == 0) { // Avoid divide by 0
-			$situation_ratio = 0;
-		} else {
-			$situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
+		if ($obj->type==5) {
+			// Avoid divide by 0
+			if ($obj->situation_percent == 0) {
+				$situation_ratio = 0;
+			} else {
+				$situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
+			}
+		}
+		else {
+			$situation_ratio = 1;
 		}
 
 		// Invoice lines
diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php
index f0aeeeb6458..ef19501e0f8 100644
--- a/htdocs/compta/journal/sellsjournal.php
+++ b/htdocs/compta/journal/sellsjournal.php
@@ -163,10 +163,16 @@ if ($result)
 		$line = new FactureLigne($db);
 		$line->fetch($obj->id);
 		$prev_progress = $line->get_prev_progress();
-		if ($obj->situation_percent == 0) { // Avoid divide by 0
-			$situation_ratio = 0;
-		} else {
-			$situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
+		if ($obj->type==5) {
+			// Avoid divide by 0
+			if ($obj->situation_percent == 0) { 
+				$situation_ratio = 0;
+			} else {
+				$situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent;
+			}
+		}
+		else {
+			$situation_ratio = 1;
 		}
 
     	//la ligne facture
-- 
GitLab