Bonjour à tous,
J’ai récemment migré mon Dolibarr de la version v19 à la v20 (20.0.3). Or je vois apparaître ce message sur le tableau de bord :
Le sujet est également traité dans une issue similaire: Dolibarr V20 est sorti (Mise à jour : La V20.0.3 est sortie)! - #18 par ksar
Lorsque je crée une première facture de situation à partir d’une facture standard, tout fonctionne correctement.
Cependant, lorsque je tente de créer une facture suivante basée sur une facture de situation existante (voir image ci-dessous),
J’obtiens une erreur PHP (voir ci-dessous) malgré les correctifs proposés dans l’Issue qui traite le problème. Cela ne résout rien même en essayant de passer au mode officiel :
PHP Fatal error: Uncaught Error: Attempt to modify property "lines" on null in /var/www/html/custom/subtotal/class/actions_subtotal.class.php:508
Stack trace:
#0 /var/www/html/core/class/hookmanager.class.php(359): ActionsSubtotal->createFrom()
#1 /var/www/html/compta/facture/card.php(2058): HookManager->executeHooks()
#2 {main}
thrown in /var/www/html/custom/subtotal/class/actions_subtotal.class.php on line 508
L’erreur provient du fichier /custom/subtotal/class/actions_subtotal.class.php
, à la ligne 508 (boucle foreach) qui provie,t de la fonction createFrom():
foreach($objFrom->lines as $k=> &$lineOld) {
if($lineOld->product_type == 9 && $lineOld->info_bits > 0 ) {
$line = & $object->lines[$k];
$idLine = (int) ($line->id ? $line->id : $line->rowid);
$db->query("UPDATE ".MAIN_DB_PREFIX.$line->table_element."
SET info_bits=".(int)$lineOld->info_bits."
WHERE rowid = ".$idLine."
");
}
}
Cependant en comparant en base de donnée la structure d’anciennes factures suivant de situation qui s’affichent correctement dans Dolibarr et la structure des premières facture de situation. Je constate que les données sont semblables.
Voici un extrait d’une comparaison de 2 factures de situations (anciennement créé avant la v20 de Dolibarr → 2 premières lignes du tableur) et une première facture de situation créée (qui fonctionne comme dit précédemment → 3° ligne du tableur):
Selon moi il y a quelque chose (une donnée dans la table llx_facture ?) qui manque lors de la création du formulaire.
Quelqu’un a t-il eu le même souci ?
Bonne journée.