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. 6) afficher la version suivante »

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

 

image-20240201-081445.png

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

 

  1. 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”

 

image-20240201-081701.png

Et cochez “Traiter le écritures déséquilibrées simples”

image-20240201-081747.png

 

 

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

  • Aucune étiquette