Assistance pour la visibilité des écritures dans le rapproch

Modérateurs: Super-Apogea, Super Modérateur

Assistance pour la visibilité des écritures dans le rapproch

de py_serpent » Ven 26 Avr 2024 16:19

Bonjour à tous ,

Je rencontre un problème avec les écritures dans notre système Sage 100. Après avoir importé les écritures via un script SQL(voir code ci dessous ), il semble qu'elles ne soient pas visibles lors d'un rapprochement manuel, et je soupçonne qu'un champ spécifique pourrait être à l'origine de ce comportement.

Les écritures concernées sont contenues dans la table F_ECRITUREC. Je souhaiterais obtenir des informations supplémentaires sur le rôle précis des champs suivants :

EC_Cloture : Peut-on confirmer que ce champ contrôle la clôture des écritures et leur visibilité dans le rapprochement bancaire ? Si une écriture est marquée comme clôturée (EC_Cloture = 1), est-ce qu'elle est exclue du rapprochement manuel ?
Y a-t-il d'autres champs qui pourraient influencer la visibilité d'une écriture dans les processus de rapprochement ou qui indiquent la clôture d'une écriture ?
Je suis particulièrement intéressé par la façon dont je pourrais ajuster ces champs pour garantir que les écritures soient modifiables et visibles dans le rapprochement manuel. Veuillez également m'informer si d'autres configurations ou champs dans les tables associées doivent être pris en compte.

Quelqu'un aurait-il des conseils, merci infiniment pour votre aide :D

Code: Tout sélectionner
USE [db]
GO

CREATE OR ALTER PROCEDURE GetCurrentDate
    @CurrentDate VARCHAR(10) OUTPUT  -- Paramètre de sortie
AS
BEGIN
    SET NOCOUNT ON;
    SELECT @CurrentDate = CONVERT(VARCHAR(10), GETDATE(), 120);
END;
GO
 
CREATE OR ALTER PROCEDURE GetMaxECNo 
    @MaxECNo INT OUTPUT, 
    @MaxECPiece INT OUTPUT 
AS 
BEGIN 
    SET NOCOUNT ON; 
     
    SELECT @MaxECNo = ISNULL(MAX(EC_No), 0) FROM F_ECRITUREC; 
    SELECT @MaxECPiece = (select EC_Piece from F_ECRITUREC 
where (EC_No)=(select max(EC_No)from F_ECRITUREC)); 
END; 
GO
GO

CREATE OR ALTER PROCEDURE GetCGNumFromJournal
    @JO_Num VARCHAR(10), -- Paramètre pour le numéro de journal
    @CG_Num VARCHAR(20) OUTPUT -- Paramètre de sortie pour le numéro de compte général
AS
BEGIN
    SET NOCOUNT ON;

    -- Sélectionner le numéro de compte général et le numéro de journal
    SELECT @CG_Num = CG_Num
    FROM F_JOURNAUX
    WHERE JO_Num = @JO_Num;
END;
GO
GO
DECLARE @MaxECPiece INT
DECLARE @MaxECNo INT;
DECLARE @Count INT = 1;  -- Nombre d'entrées à insérer
DECLARE @date VARCHAR(10);
DECLARE @CGNum VARCHAR(20);
DECLARE @solde FLOAT = 0.0;

-- Remplacez 'BNP' et '2' par vos valeurs spécifiques pour le numéro de journal et le type de journal
EXEC GetCGNumFromJournal 'BNP', @CG_Num = @CGNum OUTPUT;

-- Récupérer le maximum EC_No et l'initialiser pour l'insertion
EXEC GetMaxECNo @MaxECNo OUTPUT, @MaxECPiece OUTPUT
EXEC GetCurrentDate @CurrentDate = @date OUTPUT;
  -- Assurez-vous d'inclure dbo si nécessaire
SET @MaxECNo = @MaxECNo + 1;
SET @MaxECPiece = @MaxECPiece + 1

-- Définir combien de fois la boucle doit s'exécuter
WHILE @Count > 0
BEGIN
    -- Première insertion
   DECLARE @MontantInsertion FLOAT = 1000.00;
   DECLARE @sens INT = 0
    INSERT INTO F_ECRITUREC (
        EC_Piece,JO_Num, EC_No, EC_RefPiece, EC_TresoPiece,
        CG_Num, CT_Num, EC_Intitule, EC_Sens,
        EC_Montant, JM_Date, EC_Jour,
        EC_Devise, N_Devise,EC_Lettre,EC_Point,EC_Date,EC_Cloture,EC_CType
    )
    VALUES (
        @MaxECPiece,'OD', @MaxECNo, 'Ref' + CAST(@MaxECNo AS VARCHAR), 'TRef' + CAST(@MaxECNo AS VARCHAR),
        '4110000', 'CARAT', 'CARAT MODIFIED ' + CAST(@MaxECNo AS VARCHAR),@sens ,
        @MontantInsertion,CONVERT(DATE, '2023-01-01'), 1,
        @MontantInsertion, 0,0,0,CONVERT(DATE, @date),0,0
    );

    -- Incrémenter le numéro pour la prochaine insertion
    SET @MaxECNo = @MaxECNo + 1;

    -- Deuxième insertion avec des valeurs légèrement différentes
   
    -- Incrémenter le numéro pour la prochaine itération
    SET @MaxECNo = @MaxECNo + 1;
    SET @Count = @Count - 1;  -- Décrémenter le compteur
   SET @solde=@solde+iif(@sens=1,-@MontantInsertion,@MontantInsertion)
   IF @Count = 0
   BEGIN
   INSERT INTO F_ECRITUREC (
         EC_Piece,JO_Num, EC_No, EC_RefPiece, EC_TresoPiece,
         CG_Num, EC_Intitule, EC_Sens,
         EC_Montant, JM_Date, EC_Jour,
         EC_Devise, N_Devise,EC_Lettre,EC_Point,EC_Date,EC_Cloture,EC_CType
      )
      VALUES (
         @MaxECPiece,'OD', @MaxECNo, 'Ref' + CAST(@MaxECNo AS VARCHAR), 'TRef' + CAST(@MaxECNo AS VARCHAR),
         '467000', 'CARAT MODIFIED ' + CAST(@MaxECNo AS VARCHAR), IIF(@solde > 0,1,0),
         abs(@solde),CONVERT(DATE, '2023-01-01'), 1,
         1000.00, 0,0,0,CONVERT(DATE, @date),0,0
      );
   END
END


Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Ven 26 Avr 2024 15:43

Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités