[Résolu] Erreur lors de la cloture de l'exercice

Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

lun. janv. 23, 2017 11:42 am

Bonjour.

Je suis travailleur indépendant et j'utilise OpenConcerto pour ma comptabilité (c'est la seule fonctionnalité que j'utilise) officiellement depuis le début de l’exercice 2016 (mais je m'y suis bien familiarisé en 2015 et j'ai acquis votre manuel complet). J'ai choisi votre logiciel principalement parce qu'il est en Open Source et qu'il prend en charge l'exportation au format FEC. Auparavant j'utilisais GNUcash qui bien que sommaire était suffisant pour mes besoins de comptabilité, mais qui ne gère pas le format FEC.

J'utilise OpenConcerto version 1.4.2 en monoposte portable sur une clé USB, généralement sur un poste de travail Ubuntu (version 16.04 en ce moment).

Mon problème est le suivant : lorsque je tente de clôturer l'exercice 2016, j'obtiens le message d'erreur suivant ?

Code : Tout sélectionner

Erreur lors de la clôture

Erreur lors de la génération des écritures données incorrectes. SQLRowValues on /ECRITURE/ : {COMPTE_NUMERO=600000(class java.lang.String), DATE=Sat Dec 31 00:00:00 CET 2016(class java.util.Date), ID_MOUVEMENT=512(class java.lang.Integer), CREDIT=1123976(class java.lang.Long), DEBIT=0(class java.lang.Long), JOURNAL_CODE=OD(class java.lang.String), ID_COMPTE_PCE=8(class java.lang.Integer), NOM=Fermeture du compte 600000(class java.lang.String), ID_JOURNAL=6(class java.lang.Integer), COMPTE_NOM=Achats(class java.lang.String), JOURNAL_NOM=Opérations Diverses(class java.lang.String), IDUSER_CREATE=2(class java.lang.Integer)}
org.openconcerto.utils.ExceptionHandler: Erreur lors de la clôture
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:121)
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:125)
	at org.openconcerto.erp.core.finance.accounting.ui.CloturePanel$2.actionPerformed(CloturePanel.java:192)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.IllegalArgumentException: Erreur lors de la génération des écritures données incorrectes. SQLRowValues on /ECRITURE/ : {COMPTE_NUMERO=600000(class java.lang.String), DATE=Sat Dec 31 00:00:00 CET 2016(class java.util.Date), ID_MOUVEMENT=512(class java.lang.Integer), CREDIT=1123976(class java.lang.Long), DEBIT=0(class java.lang.Long), JOURNAL_CODE=OD(class java.lang.String), ID_COMPTE_PCE=8(class java.lang.Integer), NOM=Fermeture du compte 600000(class java.lang.String), ID_JOURNAL=6(class java.lang.Integer), COMPTE_NOM=Achats(class java.lang.String), JOURNAL_NOM=Opérations Diverses(class java.lang.String), IDUSER_CREATE=2(class java.lang.Integer)}
	at org.openconcerto.erp.generationEcritures.GenerationEcritures.ajoutEcriture(GenerationEcritures.java:176)
	at org.openconcerto.erp.generationEcritures.GenerationMvtVirement.genereMouvement(GenerationMvtVirement.java:103)
	at org.openconcerto.erp.core.finance.accounting.ui.CloturePanel.soldeCompte(CloturePanel.java:458)
	at org.openconcerto.erp.core.finance.accounting.ui.CloturePanel.clotureExercice(CloturePanel.java:246)
	at org.openconcerto.erp.core.finance.accounting.ui.CloturePanel.access$2(CloturePanel.java:223)
	at org.openconcerto.erp.core.finance.accounting.ui.CloturePanel$2.actionPerformed(CloturePanel.java:186)
	... 36 more
J'ai fouillé le forum, mais je ne trouve pas de solution.
Modifié en dernier par Akuna le mer. févr. 01, 2017 4:34 pm, modifié 1 fois.
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

sam. janv. 28, 2017 9:51 am

Euh... le forum n'est plus actif ?
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

mar. janv. 31, 2017 12:46 pm

Removed open-jdk and replaced by Oracle java-8... Same error message. :(
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

mar. janv. 31, 2017 1:56 pm

Je lis dans la toute première partie du message d'erreur :

Code : Tout sélectionner

Erreur lors de la génération des écritures données incorrectes //bla bla bla//  CREDIT=1123976(class java.lang.Long) //bla bla bla// 
Or l'écriture correcte ne devrait-elle pas aussi inclure la virgule de décimal(*) (qui est manquante dans le message d'erreur)? CREDIT=11239,76

(*)Ou un point de décimal si la norme anglo-saxonne est utilisée dans ce message d'erreur java (je ne suis pas familier avec ce langage de programmation)

Est-ce normal d'avoir ce résultat en chiffre entier et en java.Long, plutôt qu'en décimal et en java.Float (ou je ne sais quel type d'objet java prend les décimales en charge) ?
ludovic
Messages : 265
Enregistré le : ven. avr. 15, 2011 2:32 pm

mar. janv. 31, 2017 2:26 pm

Bonjour,

les données comptables sont stockées en centimes. Pour votre erreur, le problème est que l'écriture pointe sur une données archivée. Vérifier que le compte d'ID 8 et le journal d'ID 6 n'ont pas été archivé dans votre base de données.

Cordialement,
Ludovic.
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

mar. janv. 31, 2017 2:32 pm

ludovic a écrit :Bonjour,

les données comptables sont stockées en centimes. Pour votre erreur, le problème est que l'écriture pointe sur une données archivée. Vérifier que le compte d'ID 8 et le journal d'ID 6 n'ont pas été archivé dans votre base de données.

Cordialement,
Ludovic.
Oh ok, c'est logique pour les centimes. Merci pour cette clarification.

Je vérifie pour le compte ID 8 et le journal ID 6 ...
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

mar. janv. 31, 2017 6:24 pm

En explorant ma base de données (OpenConcerto49) avec la console h2, je constate ce qui pourrait être une anomalie :
J'avais supprimé tous les journaux comptables d'origine et les avais remplacés par un unique journal global.... C'est donc maintenant (et logiquement) le seul qui apparaît dans OpenConcerto/Structure/gestion des journaux comptables/ par contre tous ces anciens journaux que j'avais supprimés apparaissent toujours dans "SELECT * FROM "OpenConcerto49".JOURNAL " Et l'un deux comporte la fameuse ID6 qui effectivement est bien archivé.

Par contre l'ID8 de la table COMPTE_PCE n'est pas archivée
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

mer. févr. 01, 2017 4:33 pm

Ludovic, un grand grand merci !!!

Donc j'ai réactivé le journal Opérations diverses (ID6) et la clôture a fonctionné correctement.

Après examen des écritures de clôture, je comprends mieux pourquoi. Toutes les écritures de clôtures sont automatiquement consignées dans ce journal.

Je l'avais supprimé car pour une TPE comme la mienne, qui plus est en compta libérale, un journal global suffit pour consigner toutes les écritures.

Suggestion pour la prochaine version d'OpenConcerto => Impossibilité pour l'utilisateur final de supprimer un compte ou un journal qui est primordial au fonctionnement de certaines procédures dans OpenConcerto. Ou alors permettre à l'utilisateur de personnaliser certains éléments de ces procédures pour éviter un tel blocage.

En tout cas un grand grand merci à nouveau pour avoir pris le temps de me répondre et de me diriger dans la bonne direction.
Avatar du membre
guillaume
Messages : 2433
Enregistré le : ven. févr. 11, 2011 7:15 pm

mer. févr. 01, 2017 10:56 pm

Le plus grand merci que vous puissiez nous faire,
c'est de faire une méga pub pour OpenConcerto :!:
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
Akuna
Messages : 10
Enregistré le : lun. janv. 23, 2017 11:25 am

jeu. févr. 02, 2017 9:18 am

Je n'y manquerai pas lorsque l'occasion se présentera ;)
Répondre