Ticket UUID: 8b9cbfde47bb84413bcacb701948bf6ca03a3b1e
Title: Disparition de la case à cocher 'En attente d'encaissement' lors d'une modification d'une saisie et réinitialisation de sa valeur
Status: Open Type: Code_Defect
Severity: Important Priority: Medium
Subsystem: Resolution: Open
Last Modified: 2018-05-22 13:55:25
Version Found In: 0.8.2
User Comments:
Davy added on 2018-04-04 13:07:05:
Bonjour,

La fonctionnalité 'Chèque à encaisser' n'est pas totalement implémentée et il y a un bug important rendant l'usage de cette fonctionnalité délicate.
Après avoir saisie une opération avec comme moyen de paiement 'chèque' et la case 'en attente d'encaissement' cochée. 
Si on modifie la saisie alors la case à cocher n'apparaît plus dans la fenêtre 'Modifier la saisie' et à l'enregistrement de la saisie modifiée : le chèque est réputé encaissé.

Ce problème crée une incohérence entre le solde réel du compte bancaire et le solde des chèques à encaisser et aucune modification par l'interface ne permet de le modifier.

De plus dans la liste des 'Chèques à encaisser', il serait bien de pouvoir avoir un lien vers une page 'Encaissement' qui permettrait de passer du compte chèques à encaisser à compte bancaire. Cette page permettrait d'enregistrer les encaissement de chèque émis l'association. La nouvelle saisie créée devrait reprendre le montant et l'intitulé (en y rajoutant peut être 'Encaissement' devant le libellé). En somme cette fonctionnalité très utile n'est pas aboutie et je demande également quelques ajouts afin de pouvoir l'utiliser simplement.
Par contre j'utilise le compte 'Chèques à encaisser' pour enregistrer les chèques que je n'ai pas déposé en banque. Du coup l'encaissement simple ne peut fonctionner que pour un chèque émis et pas pour un chèque reçu à encaisser (pour cela j'utilise la saisie avancée).

Si il y avait sinon une fonction 'Modification avancée' je pourrais au moins résoudre les problèmes créés par ce bug dans ma comptabilité.

Merci en tous cas pour le développement de cet appli.

A plus.
Davy pour le Groupement des Oeuvres Liquides

bohwaz added on 2018-04-28 19:38:38:
Hello,

je ne comprends pas ton problème, j'ai essayé de modifier une écriture à encaisser et il y a bien un sélecteur de compte avec "chèque à encaisser". Si je laisse sur ça et que je modifie, ça ne change rien, le chèque est toujours à encaisser. Si je change pour un compte bancaire oui le chèque n'est plus à encaisser, mais c'est logique…

Sinon je suis d'accord il manque l'interface pour encaisser proprement les chèques ensuite. C'est déjà noté : https://fossil.kd2.org/garradin/tktview?name=e4d627a796

Par contre cette fonctionnalité est sensée être utilisée pour les chèques reçus et non les chèques émis, pas sûr que le compte 5112 soit correct pour les chèques émis mais non encore encaissés ? Je n'avais pas pensé à cette possibilité.

Davy added on 2018-05-02 18:00:54:
Bonjour,

Pour reproduire le bug il faut créer une saisie comptable pour un chèque émis (donc une dépense) qui n'est pas encore déposé à la banque. Je me sers effectivement du compte 5112 pour cela également comme cela je suis les chèques émis qui ne sont pas encaissés.

En fait j'avais créé une série de saisie que je voulais modifier pour les associer à un projet. 
Chacune des saisies a été faite initialement avec le fichier 'admin/compta/operations/saisir.php' en sélectionnant dans 'Mode de paiement' la valeur 'Chèque', il apparaît une case à cocher 'En attente d'encaissement' que j'avais coché afin que les dépenses soient comptabilisées dans le compte 5112.

Sur la page 'admin/compta/operations/voir.php?id=...', il apparaissait bien le compte 5112 en compte pour le crédit.

Ensuite je suis revenu sur ses saisies en utilisant 'admin/compta/operations/modifier.php?id=...' qui est en lien dans 'voir.php'. Lors de la modification, le 'Moyen de paiement' restait bien à 'Chèque' mais la case à cocher 'En attente d'encaissement' n'apparaissait plus comme sur 'saisir.php'.

Une fois la modification validée, en observant dans 'voir.php' le compte était passé de 5112 comme je le souhaitais à 512A le compte bancaire or le chèque n'est pas encaissé et le solde du compte 512A est donc faux.
Je n'ai pas modifié ni le moyen de paiement ni le compte bancaire dans modifier.php. 
Toutefois dans la base, la valeur de la case à cocher invisible qui permet l'enregistrement dans le compte 5112 a été réinitialisée et la saisie est enregistrée du coup en crédit dans le compte 512A au lieu du 5112.
Elle semble qu'elle passe sans qu'on le voit (car elle n'apparaît pas) de 'cochée' à 'décochée' .

Il faut donc déjà faire qu'elle apparaissent dans le formulaire 'modifier.php' et que sa valeur reste telle qu'elle était lors de la validation précédente à l'aide de 'saisir.php' lorsqu'on utilise 'modifier.php'.

Effectivement d'un point de vu comptable, je ne sais pas si il est correct d'utiliser ce compte 5112 en crédit pour les chèques émis.
Pour l'instant et ça me va, j’utilise 'virement interne' pour enregistrer l'encaissement des chèques émis ce qui ne me pose pas de problème si ce n'est que je dois reprendre l'intitulé de la saisie initiale et que j'accole le terme 'Encaissement' dans l'intitulé de la saisie du virement interne.
Par contre, en l'état il ne m'est plus possible de modifier une saisie avec la case à cocher 'En attente d'encaissement' cochée sinon les soldes de 512A et 5112 sont faussés.
Car le comportement de 'modifier.php' n'est pas correct ce qui crée des incohérences dans ma comptabilité.

Sinon j'ai bien essayé de regarder le code source de 'modifier.php' mais j'avoue ne pas bien comprendre le code de cette page car il semble faire appel à des librairies que je n'ai pas investigué car je ne suis qu'un codeur amateur de C  et de python pour l'arduino.

J'espère que mon problème est plus clair maintenant et que tu pourras reproduire le bug afin de pouvoir le corriger pour la prochaine version. Je suis persuadé que ce n'est pas grand chose en terme de code mais je peux me tromper.

Merci pour ta réponse en tous cas.

Davy.

bohwaz added on 2018-05-02 19:29:15:
Hello,

ce que je ne comprends pas c'est que pour moi la case à cocher est bien présente dans modifier.php.

Est-ce que tu as bien installé la dernière version stable de développement où est-ce que tu es encore sur la version 0.8.2 courante ?

Davy added on 2018-05-14 19:45:57:
Bonjour,

J'utilise la dernière version stable de production 0.8.2. d'après le fichier VERSION du site.
Désolé pour la réponse tardive mais j'avais oublié de répondre directement.

Si j'ai le temps je vais essayer la version stable de développement sur un serveur local pour vérifier.

Il faut aussi noter que je suis sur une installation avec vhost dédié pour cette association.

Merci et à plus.

bohwaz added on 2018-05-22 11:55:25:
Il y a désormais une 0.8.3, plus simple à installer du coup.