Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Protocole de connexion


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Protocole de connexion
    Bonjour...
    Je suis Joël.

    J'ai développé une application de facturation qui marche bien.

    Mais le problème est que la législation de notre pays demande de faire valider les informations de la facture par un module de contrôle qui va après validation générer un QR-code sur la facture.

    Il s'agit d'écrire un programme de connexion entre mon logiciel et la machine connectée par port COM. Ce que je ne maîtrise pas.

    J'ai voudrais savoir si je peux avoir de l'aide pour réaliser cela en environnement windev.

    Je suis ouvert à un partenariat dans ce sens s'il le faut. Pour ce faire mon mail est le suivant yawo907@gmail.com.

    Merci et pardonner moi au cas où mon message n'estpas conforme au règlement du site.

  2. #2
    Nouveau membre du Club
    Bonjour Joel,

    pourrais tu donner plus d 'informations sur la machine qui est connectée au port COM ?

  3. #3
    Futur Membre du Club
    Bonjour joproteck

    J'ai le détail au format pdf...

    Comment je fais pour te l'envoyer.

    Un mail peut être !

    Merci

  4. #4
    Futur Membre du Club
    Citation Envoyé par joproteck Voir le message
    Bonjour Joel,

    pourrais tu donner plus d 'informations sur la machine qui est connectée au port COM ?
    Comprendre
    SFE ( système de facturation électronique)
    MCF (module de contrôle de facturation)

    MCF exécute les commandes, envoyées depuis РС (Host) et délivre un message,
    qui dépend du résultat.
    La communication de la MCF est supportée par RS232C port série ou port COM
    virtuel USB, vitesse d'échange 115200 b/s, 8, N, 1 (par défaut).
    3.1 Séquence de messages
    Le message qui inclut la commande vers le MCF est envoyé par SFE. SFE doit
    attendre une réponse de MCF avant d'envoyer un autre message.
    MCF répond à tous les messages reçus de SFE avec un message ou un octet au
    plus tard 100ms. SFE doit avoir un délai d'attente d'au moins 500 ms, afin de
    recevoir une réponse de MCF.
    3.2 Commande
    SFE envoie la commande à MCF.
    Format de commande:
    Position 1 2 3 4 5 6 7 8
    Nom SOH LEN SEQ CMD DATA AMB BCC ETX
    Longueur
    (octets) 1 1 1 1 0-200 1 4 1
    Valeur 01h 20h-FFh 20h-FFh 20h-FFh 20h-FFh 05h 30h-3Fh 03h
    Description des champs de commande:
    Champ Description
    SOH Début de la commande
    LEN Nombre total d'octets de la positions 2 "LEN" à 6 "AMB" (inclus),
    plus décalage fixe de 20h.
    SEQ Numéro de série du command.
    Un nouveau numéro doit être utilisé pour chaque nouvelle
    commande.
    CMD Code de la commande
    DATA Données, selon la commande. S'il n'y a pas de données, la
    longueur de ce champ est zéro.
    AMB Délimiteur
    BCC Somme de contrôle (0000h-FFFFh).
    Somme des octets de données de la position 2 à la position 6.
    La somme de contrôle est transférée dans le type ASCІІ avec
    décalage fixe de 30h (12АВh est transféré comme 31h 32h 3Аh
    3Bh).
    ETX Fin de la commande
    3.3 Réponse
    MCF répond avec deux types de réponses:
    3.3.1. Un octet
    NAK 15h S'il y a une erreur dans la réception du message, MCF envoie
    un code NAK. Lorsque SFE reçoit ce code, il doit répéter le
    message avec le même numéro de série.
    SYN 16h Si MCF reçoit une commande, qui a besoin de plus de temps
    pour s'exécuter, il envoie le code SYN toutes les 100ms jusqu'à
    ce que le message compressé soit prêt pour une réponse.
    3.3.2. Message
    Format de réponse:
    Position 1 2 3 4 5 6 7 8 9 10
    Nom SOH LEN SEQ CMD DATA BRK STA AMB BCC ETX
    Longueur
    (octets) 1 1 1 1 0-200 1 6 1 4 1
    Valeur
    01h
    20h-FFh
    20h-FFh
    20h-FFh
    20h-FFh
    04h
    80h-FFh
    05h
    30h-3Fh
    03h

    Description des champs de réponse:
    Champ Description
    SOH Début du message
    LEN Nombre total d'octets de la positions 2 "LEN" à 8 "AMB" (inclus),
    plus décalage fixe de 20h.
    SEQ Numéro de série du command. MCF met le même "SEQ" dans le message de réponse.
    Dans le cas où MCF reçoit un message avec les mêmes "SEQ" et
    "CMD" que le dernier message correctement reçu, MCF ignore le
    message et répète la dernière réponse envoyée à SFE.
    CMD Code de la commande
    DATA Données, selon la commande. S'il n'y a pas de données, la
    longueur de ce champ est zéro.
    BRK Délimiteur
    STA Statut de la machine
    AMB Délimiteur
    BCC Somme de contrôle (0000h-FFFFh).
    Somme des octets de données de la position 2 à la position 6.
    La somme de contrôle est transférée dans le type ASCІІ avec
    décalage fixe de 30h (12АВh est transféré comme 31h 32h 3Аh
    3Bh).
    ETX Fin du message
    3.3. Description des octets d'état de la machine
    L'état actuel de MCF est inclus dans chaque réponse de MCF, et il a une longueur
    de 6 octets. La description de chaque octet d'état est présentée dans les tableaux
    suivants de ce chapitre.
    Tableau 1
    Tableau 2
    OCTET 1 Fonction générale
    0.7=1 Réservé
    0.6=1 Réservé
    0.5=1
    Erreur code égale à logique OU de toutes les erreurs avec * des octets 0,
    1, 2
    0.4=1* Réservé
    0.3=1 Réservé
    0.2=1* La date et l'heure ne sont pas réglées, initialisez la machine et si
    l'erreur persiste, contactez votre fournisseur
    0.1=1* Commande non valide
    0.0=1* Erreur syntaxique dans la commande
    OCTET 2 Fonction générale
    1.7=1 Réservé
    1.6=1 Réservé
    1.5=1 Réservé
    1.4=1* Le rapport quotidien doit être fait
    1.3=1* Réservé
    1.2=1* Mémoire réinitialisée détectée
    1.1=1* Commande interdite dans le mode actuel
    1.0=1 Dépassement des champs de somme dans le dernier rapport quotidien
    Tableau 3
    OCTET 3 Fonction générale
    2.7=1 Réservé
    2.6=1
    Le traitement du document est autorisé
    2.5=1 Réservé
    2.4=1 Réservé
    2.3=1
    Facture est ouverte
    2.2=1 Réservé
    2.1=1 Réservé
    2.0=1* Réservé
    Tableau 4
    OCTET 4 Fonction générale - Spécifique au fabricant
    Tableau 5
    OCTET 5 Mémoire interne
    4.7=1 Réservé
    4.6=1 Réservé
    4.5=1 Réservé
    4.4=1 Mémoire pleine
    4.3=1 Espace disponible pour moins de 50 enregistrements en mémoire
    4.2=1 Enregistrement invalide en mémoire
    4.1=1 Réservé
    4.0=1 Il y a erreur d'enregistrement dans la mémoire
    OCTET 6 Mémoire interne - Spécifique au fabricant

    Description des commandes
    Syntaxe de la commande:
    {} – Champs obligatoires
    [ ] – Champs optionnels
    | – Paramètres alternatifs
    XXh - octet hexadécimal avec valeur XX
    4.1 Liste des commandes
    Commandes d'état de la machine
    C1h ÉTAT DE MCF
    C2h ÉTAT DE LA CONNEXION DU SERVEUR
    2Bh INFO SUR LE CONTRIBUABLE
    Commandes pour nouvelle facture
    C0h DÉBUT DE LA NOUVELLE FACTURE
    31h ENREGISTREMENT D'UN NOUVEL ARTICLE
    33h SOUS-TOTAL
    35h TOTAL
    38h FIN DE FACTURE
    4.2 Caractères spéciaux
    Si les paramètres de commande contiennent l'un des caractères suivants, il doit être
    remplacé par un caractère spécial selon le tableau suivant:
    Caractère Remplacement
    \r ^xa;
    \n ^xd;
    , ^x2c;
    < ^lt;
    > ^gt;
    & ^amp;
    Le codage UTF-8 doit être utiliser pour les champs de texte si nécessaire.

    4.3 Description des commandes
    (C1h) ÉTAT DE MCF
    Cette commande est utilisée pour vérifier l'état de MCF.
    COMMANDE C1h
    DONNÉES Pas de données
    RÉPONSE {NIM},{IFU},{DT},{TC},{FVC},{FRC},{TAXA},{TAXB},{TAXC},{TAXD}
    DESCRIPTION
    DE LA
    RÉPONSE
    NIM Numéro de série de la machine
    IFU Identifiant Fiscal Unique
    DT Heure actuelle au format: AAAAMMJJHHmmss
    TC Compteur total
    FVC Compteur des factures de vente
    FRC Compteur de factures de remboursement
    TAXA...TAXD Taux de TVA en pourcentage
    TAXA est exemptée (0%)
    TAXB est la TVA (18%)
    TAXC est l’exportation de produits taxables (0%)
    TAXD est la TVA régime d’exception (18%)
    Exemple de réponse:
    AB01000001,9999900000005,20180401100320,49,23,0,0.00,18.
    00,0.00,18.00


    Etc.... Il reste d'autres descriptions je peut te les envoyer si tu le souhaites