Artifact f7dc313c4a6013c2603b521882d87ed47a449f3a:

Wiki page [Changelog/1.0] by bohwaz on 2020-12-08 23:29:36.
D 2020-12-08T22:29:36.144
L Changelog/1.0
N text/x-markdown
P fcbaf026fe1e908f324d799e7443a75beb9dd9cf
U bohwaz
W 8903
# Modifications apportées dans la version 1.0

Cette version requiert désormais PHP 7.2 et SQLite 3.16 ou supérieur pour fonctionner. De plus Internet Explorer n'est plus supporté du tout. Un avertissement s'affichera à la connexion pour tous les utilisateurs, et de nombreuses fonctionnalités seront cassées.

Il est recommandé d'utiliser un navigateur moderne et à jour, tel que Chromium, Firefox, Safari ou un navigateur dérivé de ceux-ci.

**Attention :** si vous aviez une vieille version pas à jour, il est d'abord nécessaire d'avoir fait la mise à jour vers la version 0.9.8 avant de pouvoir mettre à jour vers la version 1.0 !

## Comptabilité

Cette version apporte une refonte complète de la partie comptabilité, et répond à de nombreux besoins exprimés aux fils des ans par les utilisateurs⋅utilisatrices.

Une réflexion autour du design logiciel de la partie comptable est [expliquée dans une page à part](Dev-Compta).

#### Exercices

* Il est possible d'avoir plusieurs exercices ouverts en même temps, et de travailler dessus en parallèle
* Possibilité de renseigner le solde d'ouverture des comptes et de faire le report à nouveau entre deux exercices de manière assistée

#### Plan comptable

* Ajout du plan comptable associatif 2018
* Il est possible d'avoir plusieurs plans comptables
* Chaque exercice ne peut se rapporter qu'à un seul plan comptable
* Il est maintenant possible de configurer plusieurs caisses dans un plan comptable
* Il est possible de choisir soi-même les comptes qui sont considérés comme "à encaisser"
* Suppression des catégories comptables, remplacées par les types de comptes favoris "dépenses" et "recettes" dans le plan comptable
* Possibilité de désigner des comptes de tiers favoris
* Disparition des "comptes bancaires" séparés : il font désormais partie du plan comptable (type de compte favori). Seules les comptes sélectionnés comme favori "banque" pourront effectuer un rapprochement.
* Import / export de plan comptable en CSV
* Les projets sont renommés "comptes analytiques" et font partie du plan comptable

#### Journaux et écritures

* Possibilité d'avoir plusieurs lignes dans une écriture
* Suppression des moyens de paiement, tout passe par le type de compte
* Affichage numéro de pièce comptable dans le journal général et le grand livre
* Nouveaux graphiques d'évolution entre exercices
*  Possibilité de joindre des fichiers à une écriture comptable
*  Import de CSV flexible (possibilité de désigner les colonnes, comme dans les membres)
* Suppression de l'import CSV Citizen Compta (service fermé)
* Les rapprochements bancaires se font maintenant ligne par ligne et non écriture par écriture
* Amélioration de la saisie des chiffres pour accepter les virgules et les points quel que soit le navigateur
* Possibilité d'associer plusieurs comptes analytiques (projets) à une écriture : un compte analytique par ligne
* Possibilité d'associer des membres à une écriture
* Possibilité de supprimer plusieurs écritures à la fois

#### Nouveautés

* Nouveaux graphiques
* Ajout d'une balance générale par exercice
* Saisie simplifiée de dépôt de chèques en banque
* Saisie simplifiée de dettes, créances et de leurs règlements
* Recherche avancée d'écritures, recherche SQL, recherches enregistrées
* [Rapprochement assisté](Compta/Rapprochement_assisté)
* Ajout d'une vue synthétique des projets, par projet ou par exercice
* Ajout du résultat du solde pointé dans le rapprochement

## Membres

* Les catégories ne peuvent plus être affectées à une cotisation obligatoire. Cette option n'était pas bien comprise et ne fonctionnait pas comme on aurait pu le penser, créant une confusion inutile.
* Possibilité de transformer une recherche avancée en recherche SQL
* Liste de toutes les écritures comptables liées à un membre, et balance générale des comptes pour les écritures liées à un membre

## Cotisations

La gestion des cotisations a également été intégralement revue. Le nouveau fonctionnement est expliquée dans la page [cotisations](Cotisations).

* Refonte des cotisations, cette partie a été renommée "Activités et cotisations"
* Il est possible d'avoir plusieurs tarifs dans une cotisation
* Il est possible d'indiquer manuellement qu'une cotisation est réglée ou non
* Règlement d'une activité/cotisation en plusieurs versements

## Divers

* Compatibilité PHP 7.2 jusqu'à PHP 8.0
* Ajout de la possibilité de modifier l'image de fond
* Correction d'un bug dans la recherche avancée avec les dates (merci @David)

#### Recherche SQL

Le nom des tables de comptabilité et de cotisations ont été modifiées. Consulter le [nouveau schéma SQL](pour voir le schéma des tables).

Voici la correspondance entre les anciens noms de tables et les nouveaux :

| Ancien nom | Nouveau nom | Remarques |
| --- | --- | --- |
| `compta_journal` | `acc_transactions` et `acc_transactions_lines` | - |
| `compta_comptes` | `acc_accounts` | - |
| `compta_exercices` | `acc_years` | - |
| `compta_categories` | Supprimée | voir la colonne `type` dans `acc_accounts` |
| `compta_comptes_bancaires` | Supprimée | transformé en `type` de compte |
| `compta_projets` | Supprimée | transformé en compte analytique |
| `compta_rapprochement` | Supprimée | voir la colonne `reconciled` dans `acc_transactions_lines` |
| `membres_operations` | `acc_transactions_users` | - |
| `cotisations` | `services` | Les tarifs de cotisations sont dans `services_fees` |
| `cotisations_membres` | `services_users` | la date d'expiration est maintenant stockée dans cette table, et non plus calculée dynamiquement |
| `rappels` | `reminders` | - |
| `rappels_envoyes` | `services_reminders_sent` | suppression de la colonne `media`, seuls les rappels par emails sont maintenant pris en compte |

Pour des raisons de sécurité la recherche SQL dans la partie membres est désormais limitée aux tables `membres` et `membres_categories`. La recherche dans la partie comptabilité est limitée aux tables dont le nom commence par `acc_`. Une requête SQL qui tente d'accéder à d'autres tables aura le message `Unauthorized table: XXX`.

Pour contourner cette limitation la requête peut être créée **par un membre qui a le droit d'accéder à la configuration générale**, et qui cocherait la case *Autoriser l'accès à toutes les tables de la base de données* en dessous du champ de recherche SQL.

### Webmasters

* Il n'est plus possible de restaurer une sauvegarde réalisée avec une version antérieure à la 0.9.8, pour éviter de rester bloqué avec une sauvegarde qui n'est pas utilisable
* Le script `cron.php` a été déplacé dans un nouveau répertoire `scripts`
* Un nouveau script `upgrade.php` permet la mise à jour en ligne de commande, sans passer par une page web
* La constante de configuration `ERRORS_ENABLE_LOG_VIEW` a été renommée en `ENABLE_TECH_DETAILS` et permet également d'activer ou désactiver l'affichage de la version installée de PHP, SQLite, et la vérification de nouvelle version disponible dans la page configuration.

### Développeurs

* La partie compta est maintenant codée en anglais (commentaires en français)
* Les noms de tables et de colonnes sont désormais également aussi en anglais (compta uniquement pour le moment). Les tables de compta commencent par `acc_` (comme *ACC*ounting). Voir plus haut sur la recherche SQL pour les détails.
* Les montants des écritures sont désormais stockés sous la forme d'entiers (integer) intégrant les décimales (deux chiffres après la virgule). Précédemment les montants étaient stockés sous la forme de flottants. Désormais un montant de `52,42 €` sera stocké sous la forme `5242` et sera transformé à l'affichage.
* Les tables rapprochement, categories, comptes_bancaires, moyens_paiements et projets sont supprimées, leurs fonctionnalités ont été intégrées au plan comptable
* Le modifieur Smarty `format_sqlite_date_to_french` a été supprimé, utiliser `date_short` pour le format `JJ/MM/AAAA` ou `date_long` pour le format `JJ/MM/AAAA à HH:mm` à la place.

#### CSS

Il y a eu une refonte partielle du CSS.

* Le changement le plus important est que les formulaires sont maintenant stylés. Pour que les cases à cocher (checkbox) et boutons radio fonctionnent il faut qu'ils soient immédiatement suivis d'un tag `<label>`. Il est possible d'utiliser la fonction `{input type="checkbox" name="blabla" value="42" default="42"}` à la place (ou `default` indique la valeur par défaut).
* Un autre changement est au niveau du sous-menu d'une page (onglets), auparavant cela utilisait `<ul class="actions">…`, il faut dorénavant utiliser `<nav class="tabs"><ul>…`
Z ccbf44260d148610c4a8851da57b9d5f