Cette page aborde des aspects pratique pour la fusion des modules comptabilité-règlement et donc la bascule vers règlement new.
PAGE EN COURS DE CONSTRUCTION
Rappel du contexte
Divalto a décidé de « fusionner » les deux modules historique Comptabilité et Règlement pour répondre aux exigences émises par les utilisateurs.
Fruit d’un travail de développement qui a débuté en 2019, la nouvelle solution a vu la refonte complète de la structure du module Règlement, par la création d’une nouvelle architecture basée sur le module Comptabilité. Ainsi, les deux modules peuvent, à partir de la nouvelle version 10.7, exploiter le même objet, à savoir : les ventilations d’échéance. De ce fait, le module Comptable devient maître du module Règlement.
Néanmoins, la possibilité de conserver la structure historique par l’utilisation des anciens programmes restera possible en version 10.7, mais sera à terme supprimée dans une version future afin de ne conserver que la nouvelle architecture « fusionnée ».
Pour plus d’informations, consultez la documentation fonctionnel à ce sujet, par exemple en version 10.11
0. Prérequis à la mise en place de la Fusion DCPT-DREG
Pour les clients effectuant une migration depuis une version antérieure, et qui souhaitent activer la Fusiond u module comptabilité et du module des règlements, nous conseillons d’effectuer certaines opérations visant à « assainir » la base de données.
En effet, des anomalies existantes sur les écritures pouvaient s’avérer totalement transparentes dans le module Règlement historique (les effets étant dissociés), mais l’activation de la Fusion peut les révéler dans le nouveau module Règlement et générer ainsi des anomalies de reprises. Les différents contrôles et correctifs que nous proposons, visent à résoudre ces anomalies dans le but d’activer la Fusion avec une précision maximale.
Vous pourrez opérer la mise en place de ces prérequis au travers des documents suivants:
1. Requêtes SQL de contrôle
Préalable à toutes les requêtes
Toutes les requêtes qui suivent utilisent une variable correspondant au dossier à traiter. Il s’agit donc d’ajouter cette ligne à tout script, en adaptant le dossier cible avec celui à traiter
DECLARE @DOS VARCHAR(8) = '1'
CP - LETTRAGE ENTRE EUX NON SOLDE
/*************************************/ /* CP - LETTRAGE ENTRE EUX NON SOLDE */ /*************************************/ -- vérifier que les indicateurs de lettrage sont cohérent select 'CP - INDICATEUR LETTRAGE INCOHERENT' = 'CP - INDICATEUR LETTRAGE INCOHERENT' , CP.DOS , CP.ECRNO , CP.ECRLG , CP.CPT , CP.CE4 , CP.LETT , CP.LETTDT , CP.DEV from CP where CP.DOS = @DOS and ( CP.CE4 = 2 and (left(CP.LETT,1) in (' ','*') or CP.LETTDT is null) -- lettré sans numéro ou date or CP.CE4 <> 2 and (left(CP.LETT,1) not IN (' ','*')) -- non lettré avec numéro ou partiel )
C8 - INDICATEUR DE PRESENCE DE VENTILATIONS MAL RENSEIGNE
/*************************************************************/ /* C8 - INDICATEUR DE PRESENCE DE VENTILATIONS MAL RENSEIGNE */ /*************************************************************/ -- recherche des ventilations mal cochées select 'C8 - VENTILATION MAL COCHE' = 'C8 - VENTILATION MAL COCHE 1' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 , VTLCOD_0005_CORRECT = '1' , NB_CP = 0 from C8 join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where (select COUNT(*) from CP where C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG) = 0 and C8.VTLCOD_0005 <> 1 and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and C8.DOS = @DOS union select 'C8 - VENTILATION MAL COCHE' = 'C8 - VENTILATION MAL COCHE 2 ou 3' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 , VTLCOD_0005_CORRECT = '2 ou 3' , NB_CP = COUNT(*) from C8 join CP on C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where C8.VTLCOD_0005 < 2 and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and C8.DOS = @DOS group by C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.ECRDT , C8.LETTDT , C8.VTLCOD_0005 having COUNT(*) > 0 order by C8.ECRDT desc, C8.DOS, C8.ECRNO, C8.ECRLG, C8.CPT, C8.LETTDT
C8 CP - INCOHERENT
-- vérifier que les CP sont cohérent par rapport aux C8 select 'C8 CP - INCOHERENT' = 'C8 CP - INCOHERENT' , C8.DOS , C8.CPT , C8.ECRNO , C8.ECRLG , SOLDE_C8 = (case when C8.SENS = 1 then C8.MT else -C8.MT end) , SOLDE_CP = SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) , C8.LETT , C8.LETTDT , count(distinct C8.DEV) from C8 left outer join CP on C8.DOS = CP.DOS and C8.ECRNO = CP.ECRNO and C8.ECRLG = CP.ECRLG join C3 on C8.DOS = C3.DOS and C8.CPT = C3.CPT where C8.DOS = @DOS and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel group by C8.DOS, C8.CPT, C8.ECRNO, C8.ECRLG, C8.SENS, C8.MT, C8.LETT, C8.LETTDT having (case when C8.SENS = 1 then C8.MT else -C8.MT end) <> SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) order by C8.DOS, C8.CPT, C8.ECRNO, C8.ECRLG
CP - LETTRAGE ENTRE EUX NON SOLDE
-- vérifier que les lettrages des CP sont bien soldés select 'CP - LETTRAGE NON SOLDES' = 'CP - LETTRAGE NON SOLDES' , CP.DOS , CP.CPT , CP.LETT , CP.LETTDT , NB_PARTIEL = sum(case when left(C8.LETT,1) = '*' then 1 else 0 end) , SOLDE = SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) , PREMIER_C8 = MIN(CP.ECRNO) , DERNIER_C8 = MAX(CP.ECRNO) from CP join C8 on CP.DOS = C8.DOS and CP.ECRNO = C8.ECRNO and CP.ECRLG = C8.ECRLG join C3 on CP.DOS = C3.DOS and CP.CPT = C3.CPT where left(CP.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and CP.DOS = @DOS and C3.CPTNAT in (3,4,5) -- nature client, fournisseur, personnel and CP.LETTDT is not null group by CP.DOS, CP.CPT, CP.LETT, CP.LETTDT having SUM(case when CP.SENS = 1 then CP.MT else -CP.MT end) <> 0 order by year(CP.LETTDT) desc, CP.CPT, CP.LETT, CP.LETTDT ------------------------------------------------------ -- vérifier que les lettrages des C8 sont bien soldés select 'C8 - LETTRAGE NON SOLDE' = 'C8 - LETTRAGE NON SOLDE' , C8.DOS , C8.CPT , C8.LETT , C8.LETTDT , SOLDE_C8 = SUM(case when C8.SENS = 1 then MT else -MT end) from C8 --with (index(INDEX_B)) where C8.CE4 = 2 --and left(C8.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and C8.DOS = @DOS --and C8.LETTDT is not null --and C8.CPT in (select C3.CPT from C3 where C3.DOS = 1 and C3.CPTNAT in (3,4,5)) group by C8.DOS, C8.CPT, C8.LETT, C8.LETTDT having SUM(case when C8.SENS = 1 then C8.MT else -C8.MT end) <> 0 order by C8.DOS, C8.CPT, C8.LETT, C8.LETTDT ------------------------------------------------------ -- vérifier que les lettrages des C8 sont bien soldés select 'CPT - LETTRAGE NON SOLDE' = 'CPT - LETTRAGE NON SOLDE' , C8.DOS , C8.CPT , SOLDE_C8 = SUM(case when C8.SENS = 1 then MT else -MT end) from C8 --with (index(INDEX_B)) where C8.CE4 = 2 --and left(C8.LETT,1) not in (' ','*') -- lettrage renseigné et pas de lettrage partiel and C8.DOS = @DOS --and C8.LETTDT is not null --and C8.CPT in (select C3.CPT from C3 where C3.DOS = 1 and C3.CPTNAT in (3,4,5)) group by C8.DOS, C8.CPT having SUM(case when C8.SENS = 1 then C8.MT else -C8.MT end) <> 0 order by C8.DOS, C8.CPT
CP - DATE D'ECHEANCE NON RENSEIGNEE
--------------------------------------------------------- -- chercher les dates d'échéances manquantes dans les CP select 'CP - ECHEANCE VIDE' = 'CP - ECHEANCE VIDE' , CP.DOS , CP.ECRNO , CP.ECRLG from CP join C8 on CP.DOS = C8.DOS and CP.ECRNO = C8.ECRNO and CP.ECRLG = C8.ECRLG where CP.ECHDT is null and CP.DOS = @DOS
C8 - LETTRAGE ENTRE EUX NON SOLDE
------------------------------------------------------ -- vérifier que les indicateurs de lettrage sont cohérent select 'C8 - INDICATEUR LETTRAGE INCOHERENT' = 'C8 - INDICATEUR LETTRAGE INCOHERENT' , C8.DOS , C8.ECRNO , C8.ECRLG , C8.CPT , C8.CE4 , C8.LETT , C8.LETTDT , C8.ECRDT , C8.DEV from C8 where C8.DOS = @DOS and ( C8.CE4 = 2 and (left(C8.LETT,1) = ' ' or C8.LETTDT is null) -- lettré sans numéro ou date or C8.CE4 <> 2 and (left(C8.LETT,1) not IN (' ','*')) -- non lettré avec numéro ou partiel )
2. Contrôle d'intégrité
Le contrôle d’intégrité corrige certains points
Remarque : il est conseillé d’adapter la période pour intégrer l’ensemble des anciens exercices comptables (par exemple 01/01/1900 au 31/12/2099)
2.1 Dans la partie « Ecriture » / Contrôles Techniques
En cas de résultat dans CP - INDICATEUR LETTRAGE INCOHERENT
Cocher « contrôle des indicateurs techniques des ventilations par échéance » ainsi que « correction des indicateurs techniques des ventilations »
Il vous proposera d’effectuer les corrections à VtlCod(5)
En cas de résultat dans C8 - VENTILATION MAL COCHE
Cocher « contrôle des indicateurs techniques des écritures » ainsi que « correction des indicateurs techniques des écritures »
Il vous proposera d’effectuer les corrections
2.2 Dans la partie « Ecriture » / Contrôles Métiers
3. Requêtes complémentaires
3.1 En cas de résultat dans C8 CP – INCOHERENT
Cocher « contrôle des montants des ventilations par échéance » ainsi que « création du CP qui solde les ventilations par rapport à l’écriture »
Il vous proposera de créer des ventilations manquantes
En cas de résultat dans les requêtes suivantes :
a. CP - LETTRAGE NON SOLDES
b. C8 - LETTRAGE NON SOLDE
c. CPT - LETTRAGE NON SOLDE
Veuillez lancer le traitement “Reprise du lettrage”
Et cochez “Traiter le écritures déséquilibrées simples”
3.2 En cas de résultat dans CP - DATE D'ECHEANCE NON RENSEIGNEE
Veuillez lancer la requête suivante :
update CP set ECHDT = C8.ECRDT from CP join C8 on CP.DOS = C8.DOS and CP.ECRNO = C8.ECRNO and CP.ECRLG = C8.ECRLG where CP.ECHDT is null and CP.DOS = @DOS
3.3 En cas de résultat dans C8 - LETTRAGE ENTRE EUX NON SOLDE
Mettre à jour les données manuellement par requête
Mise à jour des écritures à partir de règlement (V10.7)
Le programme Règlement NEW / Utilitaire / Mise à jour des écritures à partir de règlement permet de charger tous les effets R2 en position en attente actifs et de mettre à jour les écritures. Indispensable aux environnements existants souhaitant “basculer” sur la nouvelle architecture, il traite les dossiers dont l’option Le module règlement se base sur les écritures comptables est cochée, uniquement. Lorsqu'une écriture est mise à jour à partir d'un effet, l'effet sera topé comme déjà utilisé (indicateur CEF = '2'). Il ne sera donc plus accessible si on réeffectue le traitement ultérieurement.
En mode test, le programme délivre, un compte rendu sous forme de fichier Excel et n’effectue aucune mise à jour réelle.
Une case à cocher supplémentaire “Traiter les écritures” permet, si elle est cochée, de générer pour les écritures comptables non lettrées (table C8) et non présentent dans le module des règlements de créer les ventilations pièce et échéance (table CP).
Tables communes (V10.9)
On accède à la gestion des tables communes via l’option de menu : Comptabilité / Fichiers / Organisation / Dossiers.
Puis « Shift + F7 » pour accéder au zoom des tables communes de Comptabilité / Règlement.
Nous avons rajouter la possibilité de définir que les stratégies de recouvrement sont gérées par une table commune ou non.
Précisions techniques
Attention, maintenant toute modification dans le zoom des tables communes « Comptabilité / Règlement » entraîne une réservation des tables communes « Commerce & Logistique » afin de garantir la synchronicité de la valeur pour la table des stratégies de recouvrement.
La case à cocher reste présente dans le zoom des tables communes « Commerce & Logistique ».
Descriptif des tables Règlement New
Il est déconseillé de gérer des dossiers comptables fusionnés avec d’autres qui ne le sont pas, dans les contextes Inter-compagnie et Inter-agence.
Vous trouverez ci-dessous le descriptif des tables liés au module Règlement “fusionné”, accompagné d’un exemple de règlement traité :