Acomba (Forum)
Pourquoi ne pas devenir membre du forum ?

Identifiez-vous ou Inscrivez-vous afin d'accéder à l'inrégralité du forum:
Accès à toutes les catégories du forum,
Entraide entre les 6 500 membres, et ce nombre s'accroît quotidiennement!

Notez que ce forum est indépendant de la société Acceo Solutions, éditrice du logiciel Acomba.
Connexion

Récupérer mon mot de passe


Création de lot de chèque

Voir le sujet précédent Voir le sujet suivant Aller en bas

Création de lot de chèque

Message  Monrake le Jeu 2 Mai 2013 - 14:23

Bonjour,

J'essaye de créer des lots de chèque dans Acomba en VB6.

Voici le code que j'ai actuellement :
Code:
    Dim FreeIt As Long
    Const noIndex = 1
   
    '  Vérifie que le lot existe
    BatchIndex.BaNumber = 2
    BatchIndex.PKey_BaNumber = 2
    Error = BatchIndex.FindKey(noIndex, True)
    If Error = 0 Then
        '  Si le lot existe, assigne les valeurs aux propriétés de la clé primaire
        '  La propriété PK_Reference est générée automatiquement par le système
        BatchCardPos = BatchIndex.CardPos
        TransBatchData.PKey_BJBatchCP = BatchIndex.CardPos
        TransBatchData.PKey_BJType = JT_Check
        '  Réservation de la clé primaire pour TransBatchData
        Error = TransBatchData.ReserveCard(BatchCardPos)
    Else
        '  Si le lot n'existe pas, crée le lot BatchData
        BatchData.PK_Number = 2
        BatchData.PKey_BaNumber = 53
        Error = BatchData.ReserveCardNumber()
        If Error = 0 Then
            BatchData.BaNumber = 2
            BatchData.BaDescription = "Transfert Organi"
            BatchData.BaFrequency = BF_None
            BatchCardPos = IsBeingCreated
            FreeIt = 1
            '  Ajoute le lot, la position (CardPos) du lot dans le fichier de données sera assigné
            '  automatiquement à la variable BatchCardPos après le ModifyCard
            'Error = BatchData.ModifyCard(True)
            Error = BatchData.AddCard
            If Error = 0 Then
                '  Assigne les valeurs de clé primaire pour TransBatchData
                TransBatchData.PKey_BJBatchCP = BatchCardPos
                TransBatchData.PKey_BJType = JT_Entry
                '  Réservation de la clé primaire pour TransBatchData
                Error = TransBatchData.ReserveCardNumber()
            Else
                MsgBox ("Erreur: " & Error & Acomba.GetErrorMessage(Error))
                Error = BatchData.FreeCard
            End If
        Else
            MsgBox ("Erreur: " & Error & Acomba.GetErrorMessage(Error))
        End If
    End If

    If Error = 0 Then
        '  Assigne les propriétés de la fiche qui doivent être égales aux propriétés composant la clé primaire
        TransBatchData.BJBatchCP = TransBatchData.PKey_BJBatchCP
        TransBatchData.BJReference = TransBatchData.PKey_BJReference
        TransBatchData.BJType = TransBatchData.PKey_BJType
        TransBatchData.BJBankNumber = 1052
        TransBatchData.TBCheckUsed = True
        TransBatchData.CGType = CGL_BatchPrintAtTransfer
        TransBatchData.CGBankNumber = 1052
        TransBatchData.CGCareOf = "Mario Brousseau"
        TransBatchData.CGCity = "Quebec"
        TransBatchData.CGComments = "Commentaire"
        TransBatchData.CGName = "Mario Brousseau"
        TransBatchData.CGAddress = "Adresse sur le cheque test"
        TransBatchData.CGAmount = 12.28
        TransBatchData.CGDate = Date

        Dim CopieDate As Date

        TransBatchData.BJDate = Date
        TransBatchData.BJBatchNumber = 2
        TransBatchData.BJDescription = "Exemple de transaction par lot"
        '  Nombre d'affectations de l'écriture
        TransBatchData.TBNumPosts = 2
        '  Première affectation
        TransBatchData.PBAmount(1) = 12.28
        '  Recherche le compte 1684 pour obtenir son CardPos
        CharterIndex.ChNumber = 1684
        Error = CharterIndex.FindKey(2, True)                ''''''''''''''''''ERREUR

        If Error = 0 Then
            TransBatchData.PBCharterCP(1) = CharterIndex.Key_ChCardPos
            '  Consultation de la fiche pour obtenir la catégorie du compte
            Error = TransBatchData.GetCard(CharterIndex.Key_ChCardPos)
            If Error = 0 Then
                TransBatchData.PBCategory(1) = CharterData.ChCategory
                '  Deuxième affectation
                TransBatchData.PBAmount(2) = -12.28
                '  Recherche le compte 2121 pour obtenir son CardPos
                CharterIndex.ChNumber = 2121
                Error = CharterIndex.FindKey(1, True)                ''''''''''''''''''ERREUR
                If Error = 0 Then
                    TransBatchData.PBCharterCP(2) = CharterIndex.CardPos
                    '  Consultation de la fiche pour obtenir la catégorie du compte
                    Error = TransBatchData.GetCard(CharterIndex.CardPos)        ''''''''''''''''''ERREUR
                    If Error = 0 Then
                        TransBatchData.PBCategory(2) = CharterData.ChCategory
                        '  Ajoute la transaction par lot avec ModifyCard
                        CardPos = IsBeingCreated
                        Error = TransBatchData.ModifyCard(True)      ''''''''''''''''''ERREUR
                        If Error = 0 Then
                            MsgBox ("Ajout de la transaction par lot effectuée avec succès")
                        Else
                            MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
                            '  Libère la clé primaire si l'ajout n'est pas complété
                            'Error = Acomba.FreeCardNumber(TransBatchData)
                        End If
                    Else
                        MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
                        '  Libère la clé primaire si l'ajout n'est pas complété
                        'Error = Acomba.FreeCardNumber(TransBatchData)
                    End If
                Else
                    MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
                    '  Libère la clé primaire si l'ajout n'est pas complété
                    'Error = Acomba.FreeCardNumber(TransBatchData)
                End If
            Else
                MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
                '  Libère la clé primaire si l'ajout n'est pas complété
                'Error = Acomba.FreeCardNumber(TransBatchData)
            End If
        Else
            MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
            '  Libère la clé primaire si l'ajout n'est pas complété
            'Error = Acomba.FreeCardNumber(TransBatchData)
        End If
    Else
        MsgBox ("Erreur: " & Acomba.GetErrorMessage(Error))
    End If

Mon problème vient du faire que le code vient du AcoX0127.dll et j'ai du mal à l'ajuster pour le AcoSDK.

Voici les parties qui me pausent problème et que je trouve pas comment convertir :
Code:
'  Recherche le compte 1684 pour obtenir son CardPos
        CharterIndex.ChNumber = 1684
        Error = CharterIndex.FindKey(2, True)

'  Consultation de la fiche pour obtenir la catégorie du compte
Error = TransBatchData.GetCard(CharterIndex.CardPos)        ''''''''''''''''''ERREUR

'  Ajoute la transaction par lot avec ModifyCard
CardPos = IsBeingCreated
Error = TransBatchData.ModifyCard(True)      ''''''''''''''''''ERREUR

Votre aide serait fortement apprécié!

Monrake

Nombre de messages : 10
Date d'inscription : 21/04/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum