Erreur "Field 'label_compte' doesn't have a default value" lors d'import d'écritures comptable

Bonsoir,

J’essaie d’importer des écritures comptables qui me viennent d’un autre système.
Lors de cette opération la simulation me donne comme erreur « Field ‹ label_compte › doesn’t have a default value ».

J’étais sur la version 10.5 et je suis passé ce soir sur la version 11.0.1 en me disant que peut-être le problème serait résolu.

J’ai aussi un peu fouillé sur le forum et sur internet et trouvé que pour des problèmes similaire il fallait renseigner le champ en question (ici ‹ label_compte ›. )

J’ai donc « bidouillé » un peu le fichier core/modules/modAccounting.class.php pour dé-commenter la ligne 290 « //‹ b.label_compte ›=>‹ LabelAccount ›, »
(et sa correspondante ligne 307 pour le template).

Cependant ça ne change pas grand chose. Il n’y a plus l’erreur sur ‹ label_compte ›, mais sur le champ ‹ montant › que je ne trouve nulle part.

Quelqu’un aurait-il déjà effectué des imports.
J’ai peut-être oublié dans la définition des comptes ou autre quelque chose car je suis complètement nouveau sur dolibarr.

Pour info j’aimerai (et j’essaie donc) utiliser dolibarr pour gérer une petite association locale.

Merci,

Cyril

[Update-2020-02-21]J’ai oublié d dire que je suis sur Ubuntu 19.10. J’ai aussi aujourd’hui essayé sur une installation 10.3 sur windows et il n’y a pas de problème, l’import se passe sans souci.

Bonsoir,

Comment avez-vous installé Dolibarr sur Ubuntu 19.10 (que je ne recommande pas car ce n’est pas une version LTS) ?

Comment avez-vous installé Dolibarr sous Windows ?

N’hésitez pas à activer/regarder les différents logs de Dolibarr et de votre serveur web sous Ubuntu.

Cordialement,
Gaëtan.

Merci Gaëtan pour ces conseils.

Dans le log j’ai bien quelques lignes qui concernent le ‹ label_compte › mais je doit dire que ça me parle pas beaucoup.

2020-02-22 17:32:59 INFO    127.0.0.1       --- Access to /dolibarr/imports/import.php - action=launchsimu, massaction=
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT transkey, transvalue FROM llx_overwrite_trans where lang='fr_CH' OR lang IS NULL AND entity IN (0, 1) ORDER BY lang DESC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2020-02-22 17:32:59 INFO    127.0.0.1       Import::load_arrays user=1 filter=accounting_1
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'adherent' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, fieldrequired FROM llx_extrafields WHERE elementtype = 'adherent' AND entity IN (0,1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, fieldrequired FROM llx_extrafields WHERE elementtype = 'user' AND entity IN (0,1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT code, label, description FROM llx_c_action_trigger ORDER by rang
2020-02-22 17:32:59 INFO    127.0.0.1       Import loaded for module modAccounting with index 0, dataset=accounting_1, nb of fields=10
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'facture' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'facturedet' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'product' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'facture' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'societe' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'socpeople' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'societe' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, fieldrequired FROM llx_extrafields WHERE elementtype = 'societe' AND entity IN (0, 1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, fieldrequired FROM llx_extrafields WHERE elementtype = 'socpeople' AND entity IN (0, 1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'projet' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param, fieldcomputed, fielddefault FROM llx_extrafields WHERE elementtype = 'projet_task' AND type != 'separate' AND entity IN (0, 1) ORDER BY pos ASC
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, fieldrequired FROM llx_extrafields WHERE elementtype = 'projet_task' AND entity IN (0,1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param FROM llx_extrafields WHERE elementtype = 'societe' AND entity IN (0, 1)
2020-02-22 17:32:59 DEBUG   127.0.0.1       sql=SELECT name, label, type, param FROM llx_extrafields WHERE elementtype = 'socpeople' AND entity IN (0, 1)
2020-02-22 17:32:59 INFO    127.0.0.1       ModeleImports::liste_modeles
2020-02-22 17:32:59 INFO    127.0.0.1       ImportCsv::open_file file=/usr/share/dolibarr/documents/import/temp/20200220215340-Exemple_de_fichier_import_accounting_1(1).csv
2020-02-22 17:32:59 DEBUG   127.0.0.1       BEGIN Transaction
2020-02-22 17:32:59 INFO    127.0.0.1        ImportCsv::open_file file=/usr/share/dolibarr/documents/import/temp/20200220215340-Exemple_de_fichier_import_accounting_1(1).csv
2020-02-22 17:32:59 INFO    127.0.0.1        Check if table llx_accounting_bookkeeping has an entity field
2020-02-22 17:32:59 DEBUG   127.0.0.1        DoliDBMysqli::DDLDescTable DESC llx_accounting_bookkeeping entity
2020-02-22 17:32:59 DEBUG   127.0.0.1        sql=DESC llx_accounting_bookkeeping entity
2020-02-22 17:32:59 DEBUG   127.0.0.1        import_csv.modules
2020-02-22 17:32:59 DEBUG   127.0.0.1        sql=INSERT INTO llx_accounting_bookkeeping(piece_num, doc_date, doc_ref, code_journal, numero_compte, subledger_account, subledger_label, label_operation, debit, credit, doc_type, fk_doc, fk_docdet, fk_user_author, date_creation, import_key, entity) VALUES('123 (!!! use next value not already used)', '2020-02-20', 'My document ABC', 'VTE', '707', null, null, 'Sale of ABC', '0', '100', 'import_from_external', '0', '0', 1, '2020-02-22 17:32:59', '20200222173259', 1)
2020-02-22 17:32:59 ERR     127.0.0.1        DoliDBMysqli::query SQL Error message: DB_ERROR_1364 Field 'label_compte' doesn't have a default value
2020-02-22 17:32:59 DEBUG   127.0.0.1       ROLLBACK Transaction
2020-02-22 17:32:59 INFO    127.0.0.1       --- End access to /dolibarr/imports/import.php

Est-ce que ce log peut pointer vers le problème?

merci d’avance.
Cyril

Je crois avoir trouver un bout de solution.
En fait ça résout complètement le problème, mais je ne sais pas si c’est une bonne idée.

Le problème vient du set-up de mysql.

En effet il y a une directive (dans la variable sql_mode) qui créer le problème.
Dans la version windows cette variable est vide, alors qu’elle contient entre autre « STRICT_TRANS_TABLES » dans la version ubuntu (18.04 et 19.10 - j’ai finalement aussi essayé la LTS).

En enlevant cette directive le processus d’import marche bien.

Mais est-ce dangereux de l’enlever?

Merci pour votre aide,

Cyril

Bonsoir,

Oups désolé j’avais oublié de vous répondre (des fois mon navigateur se ferme sans raison et je perds mon historique :frowning: )

Et même en remettant le fichier core/modules/modAccounting.class.php comme à l’origine ?

Désolé mais je ne connais pas énormément la partie compta de Dolibarr peut être que @aspangaro-Easya pourrait nous en dire plus.

Cordialement,
Gaëtan.

Bonjour,

Je rencontre le même problème avec l’import d’un CSV comme je peux régler le problème ?
Je suis sous la version 11.0.3, comme @martic je pensais qu’un upgrade corrigerait le problème.

Cordialement

nox

Bonjour Martic
J’ai ce même problème. Comment l’avez-vous résolu finalement svp?

Cordialement