Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/11050844161/Guide+pratique+pour+la+bascule+vers+r+glement+new+-+SANS+assistant) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 16) afficher la version suivante »

Cette page aborde des aspects pratiques pour la fusion des modules comptabilité-règlement et donc la bascule vers règlement new.

Cette bascule doit être traitée en mode projet, car chaque étape est importante et nécessite planification et validation

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 ; la terminologie utilisée est le mot clé NEW pour le mode fusion.

Néanmoins, la possibilité de conserver la structure historique par l’utilisation des anciens programmes restera possible à partir de la 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

La démarche

Pour les clients effectuant une migration depuis une version antérieure, et qui souhaitent activer la Fusion du module comptabilité et du module des règlements, il est indispensable 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 avec 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 et une efficacité maximale.

L'étape de contrôle peut mettre en évidence des anomalies qu’il ne sera pas possible de corriger immédiatement.

C’est pourquoi il faut anticiper l'étape de contrôle de la base de données

PRÉREQUIS : Les contrôles prérequis à la mise en place de la fusion DCPT-DREG

Les étapes de contrôles des prérequis à une bonne fusion DCPT-DREG qui suivent doivent être faites dans l’ordre indiqué, et proposent une solution pour corriger les éventuelles anomalies détectées

C’est en majorité le contrôle d’intégrité qui permet de corriger les anomalies

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)

image-20240209-140713.png

image-20240209-140630.png

0. Pour chaque étape - préalable commun

La notion de dossier comptable a un impact sur ce qui suit :

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'

1. Contrôle CP - LETTRAGE ENTRE EUX NON SOLDE

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

/*************************************/
/* 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
				)

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant

  • contrôle des indicateurs techniques des ventilations par échéance

  • correction des indicateurs techniques des ventilations

2. Contrôle C8 - INDICATEUR DE PRÉSENCE DE VENTILATIONS MAL RENSEIGNE

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

/*************************************************************/
/* 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

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant : contrôle des indicateurs techniques des écritures

Le contrôle d’intégrité vous proposera d’effectuer les corrections (à VtlCod(5) )

3. Contrôle C8 CP - INCOHÉRENT

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

	-- 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

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, il faut lancer le contrôle d’intégrité en cochant :

  • contrôle des montants des ventilations par échéance

  • création du CP qui solde les ventilations par rapport à l’écriture

Le contrôle d’intégrité vous proposera d’effectuer les corrections (créer des ventilations manquantes)

4. Contrôle LETTRAGES NON SOLDÉS ENTRE EUX

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

	-- 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

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, il faut lancer la Reprise du lettrage en cochant :

  • traiter les écritures déséquilibrées simples

image-20240209-131912.png

image-20240209-141055.png

5. Contrôle C8 - LETTRAGE INCOHÉRENT

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

	------------------------------------------------------
	-- 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
				)

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, contactez le support pour une solution adaptée à l’incohérence détectée

6. Contrôle CP - DATE D'ÉCHEANCE NON RENSEIGNÉE

Utiliser SSMS ou un autre outil de requêtage SQL avec la requête suivante :

	---------------------------------------------------------
	-- 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
		where CP.ECHDT is null
			and CP.DOS = @DOS

S’il n’y a aucun résultat, vous pouvez passer à l'étape suivante

Si vous avez des lignes en retour, il faut lancer la requête suivante (dossier par dossier), qui va renseigner les dates d'échéances sur les CP à partir des C8

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

ON SE PRÉPARE : A basculer dans le mode fusion DCPT-DREG

A ce stade, vérifiez que les étapes de contrôle ci-dessus sont bien effectuées sans anomalie signalée afin de permettre la meilleure activation de la fusion

Il reste la phase propre à l’activation dans le chapitre suivant qui se résume ainsi:

  • Paramétrer la fiche dossier pour activer la fusion

  • Lancer un traitement qui bascule les effets de l’ancien mode vers le mode fusion

BASCULE : Bascule vers le mode fusion DCPT-DREG

1. Activer la fusion des modules Comptabilité et règlements (V10.7)

Dans Comptabilité / Fichier / Organisation / Dossier, l'option Le module règlement se base sur les écritures comptables (Onglet GÉNÉRALITÉS - Groupe Codification) permet de préciser que l'on utilise la version fusionnée des modules Comptabilité et Règlement de Divalto infinity. 

image-20240209-142043.png


Lorsque cette case est cochée, le dossier est considéré comme Lié à divalto Règlement. Par conséquent, lors de l'intégration de pièce à partir de Commerce & Logistique ainsi que lors de la saisie d'écritures comptables sur des journaux liés à Divalto Règlement, plus aucun effet ne sera généré. 
Une fois cette coche positionnée, les anciens programmes des règlement traitant des effets en attente ne sont plus accessibles. Les programmes de changement d'état pour les états en portefeuille ou en banque sont eux, toujours accessibles. Les nouveaux programmes d'encours règlement et d'interrogation règlement sont directement appelés à partir des fiches tiers, de la saisie de pièce etc. Le calcul du pourcentage réglé d'une pièce est réalisé à partir des écritures de comptabilité.
A contrario, si cette coche n'est pas positionnée, les nouveaux programmes de règlements traitant des effets en attente ne sont pas accessibles et tout se passe comme avant fusion des modules Comptabilité et Règlement de Divalto infinity.

Au niveau du menu, on trouve deux entrées correspondant au module des règlements:

  • Règlement NEW : versions des programmes postérieures à la fusion

  • Règlement OLD : versions des programmes antérieures à la fusion

2. 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.

image-20240209-142205.png

image-20240209-144543.png

Le mode de traitement permet, comme à l’origine, de lancer le programme en Simulation (anciennement “Tester uniquement”) ou en Réel.

Les options proposées :

  • Traiter tous les dossiers : Traite en une fois tous les dossiers dont l’option “Le module règlement se base sur les écritures comptables” est cochée dans la fichier dossier comptable

  • Traiter les effets : fonctionnement basique du programme, précisant que sans autres options complémentaires, l’utilitaire applique la fusion sur la seule base des effets En attente, et En portefeuille ayant générés des écritures sans compte de tiers (notamment dans le cas de Dailly/Factor).

  • Traiter les écritures non-lettrées : en cas de déphasage entre les modules Comptabilité et Règlement, il se peut que des effets soient “traités” dans le module Règlement tandis que l'écriture n’est pas lettrée en Comptabilité. Dans ce cas, il convient d’appliquer cette option pour assurer la prise en charge de ces écritures dans le nouveau module Règlement.

  • Traiter les écritures lettrées à partir du … : permet de traiter l’historique. Cette option peut-être intéressante pour des écritures récentes, dans le cas où l’utilisateur aurait fait une erreur de lettrage avant le passage en Fusion et qu’il effectue un dé-lettrage par la suite. Les écritures concernées seront alors immédiatement éligible au nouveau programme de Règlement.

3. Informations techniques

Vous trouverez ci-dessous le descriptif des tables liés au module Règlement “fusionné”, accompagné d’un exemple de règlement traité :

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.

Pour gérer le double menu Règlement (notamment en cas de programmes spécifiques), il s’agira de passer par SHIFT+F4 sur l’un des deux menus.

Par le biais du “Nom de l’application 2” (à utiliser dans les regroupements des menus) présent dans les paramètres généraux, il sera possible de distinguer le menu Règlement NEW en saisissant “DREG”, du menu Règlement OLD en saisissant “DREGOLD” :

  • Aucune étiquette