1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Convertir un Code VB en Wlanguage

Discussion dans 'Windev' créé par LAPIPE2018, Oct 29, 2020.

  1. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Bonjour,
    J'ai ce Code VB et je ne m'y connais pas en VB. Je souhaite l'avoir en windev. Est-ce possible que quelqu'un me donne un coup de main. Je vous en serais reconnaissant.
    Merci
    Code (Text):
    Option Strict Off
    Imports Objets100cLib
    Imports System
    Module ModEncoder
        'Objet base comptable
        Dim oCpta As BSCPTAApplication100c
        'emplacement du fichier comptable
        Dim sPathMae As String = "C:\temp\Bijou.mae"
        Sub Main()
            Try
                'Instanciation de l'objet base comptable
                oCpta = New BSCPTAApplication100c
                'Ouverture de la base
                If OpenBase(oCpta, sPathMae) Then
                    'Création d'un objet processus Saisie de pièce comptable
                    Dim mProcessEncoder As IPMEncoder = oCpta.CreateProcess_Encoder
                    'Génération de la pièce
                    ReglementFacture(mProcessEncoder)
                    'Si les écritures du processus ne sont pas correctes
                    If Not mProcessEncoder.CanProcess Then
                        'Récupération des erreurs
                        RecupError(mProcessEncoder)
                    Else
                        'Gérération de la pièce dans la base
        mProcessEncoder.Process()
                    End If
                End If
            Catch ex As Exception
                Console.WriteLine("Erreur : " & ex.Message)
            End Try
            CloseBase(oCpta)
        End Sub
        Public Sub ReglementFacture(ByRef mP As IPMEncoder)
            Dim mEcTiers, mEcCompte As IBOEcriture3
            Dim dMnt As Double = 10000
            Try
                'Affectation des propriétés globales
                'Journal
                mP.Journal = oCpta.FactoryJournal.ReadNumero("BEU")
                'Date
                mP.Date = #3/22/2009#
                'Numéro de pièce
                mP.EC_Piece = mP.Journal.NextEC_Piece(#3/22/2009#)
                'Intitulé
                mP.EC_Intitule = "Reglement Facture"
                'Création de l'écriture tiers
                mEcTiers = mP.FactoryEcritureIn.Create
                'Affectation compte général
                mEcTiers.CompteG = oCpta.FactoryCompteG.ReadNumero("4010000")
                'Affectation compte tiers
                mEcTiers.Tiers = oCpta.FactoryTiers.ReadNumero("HOLDI")
                'Affectation sens de l'écriture
                mEcTiers.EC_Sens = EcritureSensType.EcritureSensTypeDebit
                'Affectation du montant
                mEcTiers.EC_Montant = dMnt
                'Ajout de l'écriture au processus (écriture mémoire non persistante)
                mEcTiers.WriteDefault()
      'Création de l'écriture générale
                mEcCompte = mP.FactoryEcritureIn.Create
                'Affectation compte général
                mEcCompte.CompteG = oCpta.FactoryCompteG.ReadNumero("5120")
                'Affectation sens de l'écriture
                mEcCompte.EC_Sens = EcritureSensType.EcritureSensTypeCredit
                'Affectation du montant
                mEcCompte.EC_Montant = dMnt
                'Ajout de l'écriture au processus (écriture mémoire non persistante)
                mEcCompte.WriteDefault()
            Catch ex As Exception
                Console.WriteLine("Erreur : " & ex.Message)
            End Try
        End Sub
        Public Sub RecupError(ByRef mP As IPMEncoder)
            Try
                'Boucle sur les erreurs contenues dans la collection
                For i As Integer = 1 To mP.Errors.Count
                    'Récupération des éléments erreurs
                    Dim iFail As IFailInfo = mP.Errors.Item(i)
                    'récupération du numéro d'erreur, de l'indice et de la description de l'erreur
                    Console.WriteLine("Code Erreur : " & iFail.ErrorCode & " Indice : " & iFail.Indice & _
                    " Description : " & iFail.Text)
                Next
            Catch ex As Exception
                Console.WriteLine("Erreur : " & ex.Message)
            End Try
        End Sub
        Public Function OpenBase(ByRef BaseCpta As BSCPTAApplication100c, ByVal sMae As String, _
        Optional ByVal sUid As String = "<Administrateur>", _
            Optional ByVal sPwd As String = "") As Boolean
            Try
                'Affectation de l'emplacement du fichier comptable
                BaseCpta.Name = sMae
      'Affectation du code utilisateur
                BaseCpta.Loggable.UserName = sUid
                'Affectation du mot de passe
                BaseCpta.Loggable.UserPwd = sPwd
                'Ouverture de la base comptable
                BaseCpta.Open()
                Return True
            Catch ex As Exception
                Console.WriteLine("Erreur lors de l'ouverture du fichier mae : " & ex.Message)
                Return False
            End Try
        End Function
        Private Function CloseBase(ByRef BaseCpta As BSCPTAApplication100c) As Boolean
            Try
                'Si la base est ouverte, alors fermeture de la base
                If BaseCpta.IsOpen Then BaseCpta.Close()
                Return True
            Catch ex As Exception
                Console.WriteLine("Erreur lors de la fermeture de la base : " & ex.Message)
                Return False
            End Try
        End Function
    End Module
     
     
    Tags:
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    Il existe des exemples de connexion a sage 100c avec windev
    Avec par exemple odbc
    Ou en import .net
    Exemple

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Etc
     
  3. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Il existe des exemples de connexion a sage 100c avec windev
    Avec par exemple odbc
    Ou en import .net
    Exemple

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Etc
    Cliquez pour agrandir...
    Bonsoir Popoy,
    J'ai regardé ces exemples, mais je ne suis pas un AS de VB. J'essaie de faire une traduction de code et je me perds un peu dedans.
    Merci
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    Les exemples indiquent des codes en wlangage.
    Donc pas besoin d'être un as de VB
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Bonjour,
    J'ai un soucis de base, apparement , il faut que je trouve Objets Métiers 100c V2.00 (Version 2016), c'est comme
    J'ai la version Sage COmpta i7 2.00, avec sa version Objets métiers (2016)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    APrès installation, J'ai le code ci-dessous

    [windev]oCpta est un objet Automation "Objets100c.Cpta.Stream.1"

    QUAND EXCEPTION DANS
    oCpta = allouer un objet OLE "Objets100c.Cpta.Stream.1"
    FAIRE
    Erreur("OLE n'est pas installé sur ce poste." + RC + RC + "Si vous êtes en bureau distant, il est normal que vous ne puissiez pas profiter de cette fonctionnalité.")
    RETOUR
    FIN[/windev]
    Il signale que L'OLE n'est pas installé. J'ai WIndows 8 et je teste en windev 22
    Mon registre présente pourtant l'existance.
    Merci
     
  • Partager cette page

    Chargement...