Nombre maxi lignes sur une facture

Bonjour à tous,

Utilisateur de la version 10.0.7 (serveur Debian Apache 2.4, MariaDB, PHP7.3), je constate depuis cette mise à jour (version 8 vers 10) que le nombre de lignes sur une facture client se trouve limité à 106 lignes.
Est ce une nouvelle limitation, un dysfonctionnement avec un module externe (j’utilise le module "sous total " d’ATM)?
Fonctionnellement, je peux ajouter autant de lignes que je le souhaite, mais la validation de la facture ne peut se faire que s’il y a moins de 106 lignes.

Merci pour vos retours
Francis

Bonjour
C’est php qui met des limites et non Dolibarr.
De mémoire Il faut juste valoriser max_input_vars dans la config de php
@+

Bonjour
Cette modification ne semble pas résoudre mon problème… J’ai passé cette variable à 5000…

J’ai la fenêtre de message rouge « Data too long for column ‹ object_data › at row 1 »
C’est bien l’insertion de la 107ème ligne sur la facture qui bloque la possibilité de valider.
Dans les étapes de validation j’obtiens la boite « Valider : oui/non ». Le message d’erreur arrive après. La facture reste au statut brouillon.

Un problème dans une table plutôt?

Merci
Francis

Bonjour

Petit « up » sur mon problème?

Francis

Bonjour,

peut être pourriez-vous mettre une capture d’écran ?

et les logs ?

cela pourrait aider, car là je pense que personne n’arrive à reproduire l’erreur
bonne journée

Bonjour

Une capture d’écran pour illustrer mon problème…

Bonjour,

Avez-vous testé de désactiver le module externe ?

Sinon pouvez-vous activer le fichier LOG est nous l’envoyer après avoir recréée l’erreur ?

La seule référence à Object_data dans les fichiers PHP est relatif au module « Log Inaltérable ».
Avez-vous activer le module « Log Inaltérable » ? Si oui pouvez vous le désactiver ?

1 « J'aime »

Bonjour

Merci du retour.

En désactivant le module ATM, le problème reste le même.

Le module « log inaltérable » est activé. Par contre je ne peux pas le désactiver, ou je ne connais la procédure le permettant! :thinking:

Francis

Slt
Allez ds Config/Modules>>

C est le module « Journaux et traces de Debug » qu il faut activer

Oui mon module journaux et traces est activé… je tente de récupérer le journal…

Dans config/modules je n’ai pas la main. Il est écrit « used » et aucun curseur pour le désactiver…

Bonsoir

Bingo Ksar!!!
Effectivement l’erreur provient du update de la table des logs inaltérable (blokedlog) au moment de la validation.
Ci-dessous un extrait des logs :
2020-06-23 17:48:39 DEBUG ::1 BlockedLog::create action=BILL_VALIDATE fk_user=1 user_fullname=xxxxxxxxx
2020-06-23 17:48:39 DEBUG ::1 sql=SELECT rowid, signature FROM llx_blockedlog WHERE entity=1 ORDER BY rowid DESC LIMIT 1 FOR UPDATE
2020-06-23 17:48:39 DEBUG ::1 sql=INSERT INTO llx_blockedlog ( date_creation, action, amounts, signature, signature_line, element, fk_object, date_object, ref_object, object_data, certified, fk_user, user_fullname, entity) VALUES (‹ 2020-06-23 17:48:39 ›,‹ BILL_VALIDATE ›,2732.21,‹ 653f97ca253b12fb8ffddb8875e622ab73f5a2f1bc990606729ebdc8944825e7 ›,‹ 3149e12663a66fd647a977dc536f38945973ebf1755ac68d00e13208a0dc8df5 ›,‹ facture ›,34978,‹ 2020-05-29 00:00:00 ›,‹ FA20-27035 ›,'O:8:« stdClass »:12:{s:10:« thirdparty »;O:8:« stdClass »:29:{s:4:« name »;s:23:« xxxxxxxxxxxxxxxx SRL »;s:10:« name_alias »;N;s:7:« address »;s:38:« xxxxxxxxxx \r\nANGOLO VIA xxxxxxxxx »;s:3:« zip »;s:5:« 20020 »;s:4:« town »;s:12:« xxxxxxxxx (MI) »;s:10:« state_code »;N;s:5:« phone »;N;s:3:« fax »;N;s:5:« email »;N;s:7:« barcode »;N;s:7:« idprof1 »;s:0:""

« multicurrency_total_ht »;s:10:« 0.00000000 »;s:23:« multicurrency_total_tva »;s:10:« 0.00000000 »;s:23:« multicurrency_total_ttc »;s:10:« 0.00000000 »;s:3:« qty »;s:1:« 1 »;s:12:« product_type »;s:1:« 9 »;s:12:« vat_src_code »;s:0:"";s:6:« tva_tx »;s:5:« 0.000 »;s:12:« localtax1_tx »;s:5:« 0.000 »;s:12:« localtax2_tx »;s:5:« 0.000 »;s:8:« total_ht »;s:10:« 0.00000000 »;s:9:« total_tva »;s:10:« 0.00000000 »;s:15:« total_localtax1 »;s:10:« 0.00000000 »;s:15:« total_localtax2 »;s:10:« 0.00000000 »;s:9:« total_ttc »;s:10:« 0.00000000 »;s:9:« info_bits »;s:1:« 0 »;}i:12;O:8:« stdClass »:17:{s:3:« ref »;s:10:« ECHANGE_SG »;s:18:« multicurrency_code »;s:3:« EUR »;s:22:« multicurrency_total_ht »;s:11:« 15.00000000 »;s:23:« multicurrency_total_tva »;s:10:« 0.00000000 »;s:23:"mult
2020-06-23 17:48:40 ERR ::1 DoliDBMysqli::query SQL Error message: DB_ERROR_1406 Data too long for column ‹ object_data › at row 1
2020-06-23 17:48:40 WARNING ::1 Interfaces::run_triggers action=BILL_VALIDATE Launch old method run_trigger (rename your trigger into runTrigger) for file ‹ interface_90_modSubtotal_subtotaltrigger.class.php ›
2020-06-23 17:48:40 INFO ::1 Trigger ‹ subtotaltrigger › for action ‹ BILL_VALIDATE › launched by /var/www/html/dolibarr/htdocs/custom/subtotal/core/triggers/interface_90_modSubtotal_subtotaltrigger.class.php. id=34978
2020-06-23 17:48:40 WARNING ::1 Interfaces::run_triggers action=BILL_VALIDATE Launch old method run_trigger (rename your trigger into runTrigger) for file ‹ interface_99_modShip2bill_Ship2billWorkflow.class.php ›
2020-06-23 17:48:40 WARNING ::1 Interfaces::run_triggers action=BILL_VALIDATE Launch old method run_trigger (rename your trigger into runTrigger) for file ‹ interface_99_modSupplierorderfromorder_supplierorderfromorder.class.php ›
2020-06-23 17:48:40 ERR ::1 Interfaces::run_triggers action=BILL_VALIDATE Files found: 13, Files launched: 7, Done: 1, Failed: 1 - Nb of error string returned in this->errors = 1
2020-06-23 17:48:40 DEBUG ::1 ROLLBACK Transaction

Et il y a aussi un warning avec le module « subtotal » de chez ATM.

Merci pour l’aide, mais comment rectifier? Intervenir sur la variable object_data de la table blockedlog?

Francis

Bonjour,

Tout dépend si vous avez besoin du log inaltérable ou pas ?

Le plus simple serait d’augmenter la taille du champ object_data dans la table llx_blockedlog via phpmyadmin

Bonjour

Oui j’ai besoin du log inaltérable.
J’ai regardé et je peux passer le champ en MEDIUMTEXT.
Est ce que vous me confirmez que je peux faire ça sans risque?

Merci encore

Francis

Bonsoir

Juste un petit up!!

Pour savoir si la modification envisagée est applicable sans risque… et passer mon sujet à résolu!
:crazy_face:

Francis

Je poste le correctif SQL ici →

ALTER TABLE llx_blockedlog CHANGE object_data object_data MEDIUMTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL;

Il a été appliqué sur des DOLIBARR 11 et 12.