From ea2543e9e431568d80dcd68db517b387cd5bbb97 Mon Sep 17 00:00:00 2001 From: Guido Schratzer Date: Sat, 18 Oct 2025 12:54:09 +0300 Subject: [PATCH] FIX #35766: Update buying price INT Float (#35769) * FIX #35766: Update buying price INT Float loose Decimals . * Fix: keep fk_product_fournisseur_price as int; treat buying price as float (no truncation) [#35766] * Updated per feedback: keep fk_product_fournisseur_price as ?int (rowid) and as float. Adjusted FactureRec::updateline PHPDoc to ?int and float|'' (model still normalizes via price2num). Tested on a recurring line: decimals preserved, FK stored as int, CI green. Minor adjustments before v22 backport * Delete .hooktest * Delete dev/tools/pre-commit/README.md * Delete test/phpunit/phpunit.xml --------- Co-authored-by: Laurent Destailleur --- htdocs/compta/facture/card-rec.php | 2 +- htdocs/compta/facture/class/facture-rec.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture/card-rec.php b/htdocs/compta/facture/card-rec.php index 40380d6152f..3b4182dc013 100644 --- a/htdocs/compta/facture/card-rec.php +++ b/htdocs/compta/facture/card-rec.php @@ -1042,7 +1042,7 @@ if (empty($reshook)) { $date_start_fill, $date_end_fill, (int) $fournprice, - (int) $buyingprice, + (float) $buyingprice, (int) $fk_parent_line ); diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 61a923cdb4e..e8ea7929df0 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -1308,7 +1308,7 @@ class FactureRec extends CommonInvoice $sql .= ", total_ttc='".price2num($total_ttc)."'"; $sql .= ", date_start_fill=".((int) $date_start_fill); $sql .= ", date_end_fill=".((int) $date_end_fill); - $sql .= ", fk_product_fournisseur_price=".($fk_fournprice > 0 ? $fk_fournprice : 'null'); + $sql .= ", fk_product_fournisseur_price=".($fk_fournprice > 0 ? (int) $fk_fournprice : 'null'); $sql .= ", buy_price_ht=".($pa_ht ? price2num($pa_ht) : 0); $sql .= ", info_bits=".((int) $info_bits); $sql .= ", rang=".((int) $rang);