Oubli fermeture de caisse v1.5.1

Répondre
lodnexus
Messages : 7
Enregistré le : jeu. janv. 04, 2018 10:43 am

sam. janv. 13, 2018 2:47 pm

Bonjour,

Je sais que cela ne fait pas très sérieux mais j'ai oublié de clôturer la caisse. Et malheureusement maintenant, j'ai un bug pour l'ouvrir.

Code : Tout sélectionner

Erreur d'initialisation de la caisse

Couldn't reconcile local and remote state
org.openconcerto.utils.ExceptionHandler: Erreur d'initialisation de la caisse
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:129)
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:134)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.main(CaisseFrame.java:201)
Caused by: java.io.IOException: Couldn't reconcile local and remote state
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:134)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:1)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles$5.transformChecked(RegisterFiles.java:243)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles$5.transformChecked(RegisterFiles.java:1)
	at org.openconcerto.utils.FileUtils.doWithLock(FileUtils.java:741)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles.doWithLock(RegisterFiles.java:240)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.main(CaisseFrame.java:128)
Caused by: java.lang.IllegalStateException: States couldn't be reconciled, local : RegisterState CLOSED at 1515854036871, remote : RegisterState OPEN at 1515768265043
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:320)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.access$0(CaisseFrame.java:205)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:132)
	... 6 more
Caused by: java.lang.IllegalStateException: The closure of the DB (following the already closed local) failed
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:290)
	... 8 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:222)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:1)
	at org.openconcerto.sql.utils.SQLUtils$1.handle(SQLUtils.java:82)
	at org.openconcerto.sql.utils.SQLUtils$2.handle(SQLUtils.java:149)
	at org.openconcerto.sql.model.ConnectionHandler.compute(ConnectionHandler.java:59)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:883)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:847)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:127)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:99)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:79)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB.close(RegisterDB.java:216)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:288)
	... 8 more
Pouvez-vous m'aider ?
lodnexus
Messages : 7
Enregistré le : jeu. janv. 04, 2018 10:43 am

mar. janv. 16, 2018 9:50 am

Je suis tenté de réinstaller le logiciel.
lodnexus
Messages : 7
Enregistré le : jeu. janv. 04, 2018 10:43 am

jeu. janv. 18, 2018 7:16 am

Après réinstallation, je peux de nouveau ouvrir la caisse. Le soucis est maintenant à la fermeture.

Code : Tout sélectionner

Erreur

Index: 0, Size: 0
org.openconcerto.utils.ExceptionHandler: Erreur
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:129)
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:134)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseMenuPanel$2.actionPerformed(CaisseMenuPanel.java:92)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:222)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:1)
	at org.openconcerto.sql.utils.SQLUtils$1.handle(SQLUtils.java:82)
	at org.openconcerto.sql.utils.SQLUtils$2.handle(SQLUtils.java:149)
	at org.openconcerto.sql.model.ConnectionHandler.compute(ConnectionHandler.java:59)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:883)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:847)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:127)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:99)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:79)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB.close(RegisterDB.java:216)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseMenuPanel$2.actionPerformed(CaisseMenuPanel.java:87)
	... 36 more
Je peux tout de même quitter mais pas clôturer.
A l'ouverture suivante j'obtiens ceci

Code : Tout sélectionner

Erreur d'initialisation de la caisse

Couldn't reconcile local and remote state
org.openconcerto.utils.ExceptionHandler: Erreur d'initialisation de la caisse
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:129)
	at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:134)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.main(CaisseFrame.java:201)
Caused by: java.io.IOException: Couldn't reconcile local and remote state
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:134)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:1)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles$5.transformChecked(RegisterFiles.java:243)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles$5.transformChecked(RegisterFiles.java:1)
	at org.openconcerto.utils.FileUtils.doWithLock(FileUtils.java:741)
	at org.openconcerto.erp.core.sales.pos.model.RegisterFiles.doWithLock(RegisterFiles.java:240)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.main(CaisseFrame.java:128)
Caused by: java.lang.IllegalStateException: States couldn't be reconciled, local : RegisterState CLOSED at 1516259367706, remote : RegisterState OPEN at 1516258248468
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:320)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.access$0(CaisseFrame.java:205)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame$1.transformChecked(CaisseFrame.java:132)
	... 6 more
Caused by: java.lang.IllegalStateException: The closure of the DB (following the already closed local) failed
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:290)
	... 8 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(Unknown Source)
	at java.util.ArrayList.get(Unknown Source)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:222)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB$4.create(RegisterDB.java:1)
	at org.openconcerto.sql.utils.SQLUtils$1.handle(SQLUtils.java:82)
	at org.openconcerto.sql.utils.SQLUtils$2.handle(SQLUtils.java:149)
	at org.openconcerto.sql.model.ConnectionHandler.compute(ConnectionHandler.java:59)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:883)
	at org.openconcerto.sql.model.SQLDataSource.useConnection(SQLDataSource.java:847)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:127)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:99)
	at org.openconcerto.sql.utils.SQLUtils.executeAtomic(SQLUtils.java:79)
	at org.openconcerto.erp.core.sales.pos.model.RegisterDB.close(RegisterDB.java:216)
	at org.openconcerto.erp.core.sales.pos.ui.CaisseFrame.reconcileFSandDB(CaisseFrame.java:288)
	... 8 more

Je pense devoir faire appel à vos services téléphoniques dans la journée pour me sortir de cette mauvaise passe.
Cordialement.
Avatar du membre
Conceptify
Messages : 85
Enregistré le : dim. août 21, 2016 4:28 pm

mer. janv. 24, 2018 1:57 pm

Bonjour,

J'ai le même problème, j'obtiens l'erreur "Could'nt conciliate local and remote state", alors que je n'ai fait aucun oubli de clôture de caisse.

Hier soir, le bar de notre association a été forcé de noter toutes les ventes de la soirée sur une feuille de papier volante à cause de ce problème.... Autant dire que c'était très pénible !!!

Y aurait il des pistes pour corriger ce problème très gênant?
BenjDV
Messages : 2
Enregistré le : sam. janv. 13, 2018 2:05 pm

jeu. janv. 25, 2018 2:53 pm

Bonjour,

Au lancement de la 1.5.1 conforme à la loi de finances j'ai rencontré plusieurs petits problèmes sur notre infrastructure multiposte. Voici quelques éléments rassemblés qui peuvent permettre de comprendre les erreurs de type "Could'nt conciliate local and remote state". Pour info ce message est générique, et le reste du message d'erreur est important pour identifier le problème exact.

Les éléments suivants sont valables en multiposte avec une BDD PostrgreSQL sur un serveur distant. L'ordinateur de caisse (Ubuntu) se connecte sur la BDD par tunnel SSH (dans mon cas). Le fonctionnement global de la nouvelle caisse restent néanmoins global pour tout type d’infrastructure (serveur BDD local...).

- L'ouverture de la caisse et la clôture de la caisse doivent se faire depuis une même session utilisateur sur le même ordinateur.
- Si vous utilisez différents ordinateurs pour gérer la caisse, il est nécessaire de créer autant de caisses que d'ordinateurs car la nouvelle caisse stocke des informations sur l'ordinateur (fichiers) propre à chaque caisse. De fait, à l'ouverture de la caisse, si le logiciel ne trouve pas les derniers fichiers correspondant sur le PC, elle se bloque. Ceci est nécessaire pour s'assurer qu'il n'y a pas d'incohérence entre le poste de caisse et la BDD.

Exemple de cas d'usage :

- Bob utilise son PC portable pour gérer la caisse de l'association. Sa caisse est paramétrée comme étant la caisse "CaisseAsso".
- Alice utilise son PC portable pour gérer la caisse de l'association. Sa caisse est paramétrée comme étant la caisse "CaisseAsso".
- La MAJ de la BDD a été faite.
- Lundi Bob se connecte pour la première fois sur la nouvelle caisse, inscrit des ventes et clôture la caisse.
- Mardi Alice ouvre la même caisse ("Caisse Asso") depuis son PC portable et elle obtient un message d'erreur (de type "Could'nt conciliate local and remote state").

-> Problème : une même caisse est gérée depuis deux PC différents. Impossible, des fichiers créés sur le PC de Bob sont manquants chez Alice ce qui empêche le bon fonctionnement de la caisse

-> Solution : il faut différencier les caisses, et créer par exemple "CaisseBob" pour la gestion depuis le PC de Bob, et "CaisseAlice" pour la gestion depuis le PC d'Alice.

Synthèse : ce problème peut être aussi rencontré si sur le même ordinateur de caisse il existe plusieurs sessions. C’était notre cas avant, une session restrictive pour les employés, et une "normale" pour les gérants. Le problème subsistait, et on a donc décidé de gérer la caisse depuis une seule et même session pour parer à tout problème. De plus, par défaut sur Linux, le répertoire où se trouve la config de la caisse est /opt, et il est commun à tous les utilisateurs.

Conceptify, si cette situation ne décrit pas votre problème, merci de poster le message d'erreur complet que vous obtenez, et l'architecture de votre infrastructure.

Cordialement,

Benjamin

PS : Attention à toute modification de la BDD manuellement. Il ne suffit pas de "bidouiller" sa BDD pour essayer de supprimer le problème. Avant toute tentative, il est nécessaire de garder un dump de votre BDD.

PS2 : Avant la sortie du hotfix, la clôture d'une caisse sans aucune vente entrainait un message d'erreur.
Infrastructure : OC1.5.2 multiposte
1 ordinateur de caisse sous Ubuntu + 1 serveur distant de BDD sous Debian
Répondre