Sage F_LOTSERIE, F_DOCLIGNE

Résolu
fettah -  
 Tanya -
Bonjour,
je cherche a retrouver la relation existante entre F_DOCLIGNE et F_LOTSERIE afin de faire une extraction ou recherche en focntion du numero de serie, retrouver le N° de facture fournisseur et facture client ... ??? Merci

4 réponses

  1. fabian
     
    Juste pour info, j'ai developper cette application pour mon utlisation dans mon entreprise en delphi si cela vous interesse, je vous la passe sans problème.

    Sana, oui j'ai des procedure en Delphi toute faite mais elle sont assez simple, c'est du genre insert into
    F_DOCENTE WHERE DO_DOMAINE=0 AND DO_TYPE=2 AND DO_PIECE='N° de piece'.
    J'ai pas mal d'experience en Sage et je te conseille vivement d'utiliser le pilote ODBC, ce dernier permet non seulment de ne pas tipouiller l'integrité mais aussi via des DLL d'obtenir par exemple le prochain numero de BL dispo etc....
    Ce qu'il faut savoir c'est d'abord créer l'entete de document, puis de créer les ligne de document.
    Si tu passe par l'ODBC Un bon de livraison client (document des ventes) va deduire automatiquement ton stock, dans le cas des achats c'est le contraire.
    2
    1. Olivier
       
      Bonjour Fabian,

      Je galère pas mal dans l'utilisation du Kit ODBC de SAGE avec DELPHI. Je dois récupérer des commandes passées sur Internet pour les écrire automatiquement dans une Gescom SAGE. J'ai donc installé le kit ODBC. J'arrive à me connecter à la source ODBC exemple fournie avec le kit (bijoux) en utilisant un TADOConnection et à remplir un DBGrid avec un TADOQuery. En revanche, je n'arrive pas à utiliser les méthodes fournies par SAGE, ni par l'API (j'obtiens une erreur "-2013 dossier non ouvert"), ni par l'ActiveX (dll, j'obtiens une erreur "membre introuvable"). Or je me vois mal écrire directement dans la base (mise à jour des stocks, détection du prochain numéro de pièce, etc...). Ce que je ne comprends pas, c'est comment la librairie fait le lien avec la base de données, car si je me connecte par un TADOConnection ou par un TTable comme conseillé dans leur doc, je ne le dis pas aux méthodes...

      J'aurai donc grand besoin d'aide !!

      Merci pour vos conseils...
      0
    2. Fabain > Olivier
       
      Salut olivier, ne t'inquiette pas d'ecrire dans la base de donnée, si tu ecrit via le KIT ODBC de sage. En effet le pilote est extremement bien fait, si par exemple tu ecrit une ligne de document dans F_DOCLIGNE, ton stock sera automatiquement implementé, tu te soucis de rien, l'integrité referentiel est assuré avec le pilote. Les problème se pose si par exemple tu ulise Sage sur un SQL serveur et qu'au lieu d'attaquer la DATABASE via le pilote ODBC tu l'attaque directement via les pilote SQL SERVEUR. Mais dans ton cas de soucis, tu sais pas te tromper...

      Pour reponde a ta question de comment je fais pour trouver le prochain numero voici un exemple, pour delphi 6 ulisant les fonction du Kit ODBC

      unit U_main;

      interface

      uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, StdCtrls, CheckLst, ExtCtrls, ComCtrls, DB,
      DBTables, Degradeur;

      type
      TForm1 = class(TForm)
      Panel1: TPanel;
      procedure selectpiece();

      ...............................
      private
      { Déclarations privées }
      public
      { Déclarations publiques }
      end;

      var
      Form1: TForm1;
      piece:string;
      implementation

      uses DMFACT;

      {$R *.dfm}

      function CIALDocNouvPiece(DO_Type: integer;DO_Souiche:Integer;Resultat:Pchar):smallint; stdcall; external 'cbodbc32.dll';

      procedure TForm1.selectpiece();

      var
      resultat : Pchar;
      begin
      getmem(resultat,20);
      CIALDocNouvPiece(0,0,resultat);
      piece:=strpas(resultat);
      freemem(resultat);
      end;


      En esperant t'avoir aider.... Bonne Vacance
      0
    3. Olivier > Fabain
       
      Merci à toi... Ton code m'a permis de faire fonctionner un peu les choses.

      Mais...

      1/ Le resultat obtenu dans la variable "piece" n'est pas très explicite : "ÜiQ" !!
      2/ Je ne comprends pas quelle connexion je dois faire avant l'appel à CIALDocNouvPiece. Par un TADOConnection ? Par un TTable ?

      Merci en tout cas, grâce à toi, je commence à reprendre un peu espoir

      Olivier
      0
    4. Olivier > Fabain
       
      En fait - c'est encore moi - je ne plante pas mais j'ai toujours une erreur "-2013" documentée dans le manuel Sage comme "dossier non ouvert". J'ai donc très clairement un pb de connexion à la base.... Comment la fais-tu ?
      0
    5. fabian > Olivier
       
      Voila comment je travaille....
      1. Creation d'un DSN ODBC dans le panneau de configuration.
      2. Connection via un Tadoconnection (via ODBC) sur le connexion que j'ai créer.

      Sage est en mono utilisateur ou multi ? La base est - elle sur un serveur ?
      Si c'est la cas il te faut aussi le serveur d'appliucation Sage ainsi que client (C'est le même Exe en mode different).
      Si ta base est en Mono utilisateur, et que Sage est ouvert alors tu n'arrivera pas a te connecter, faudra absolument le serveur d'application SAge (c'est une connection en même temps)

      Bref tu dois pouvoir savoir tres simplement si tu arrive a te connecter a ta base avec ton Tadoconnection, tu clique sur la propriété connected et tu la mets a True, même pas besoin de compiler.

      Toputefois si tu ne t'en sort pas , je te propose de t'aidder Lundi 16 Juillet via Skype, on verra bien ce qu'on peut faire. Laisse ton pseudo skype sur le formum et je prendrais contact des que j'ai 10 minutes.

      Passe un Bon W-E, je suis certain qu'on va resoudre ton problème
      0
  2. ppa Messages postés 258 Statut Contributeur 65
     
    Salut Fetttah,

    Le lien se fait par :

    F_LOTSERIE.DL_NoIN = F_DOCLIGNE.DL_No

    et/ou

    F_LOTSERIE.DL_NoOUT = F_DOCLIGNE.DL_No

    Je tiens à ta disposition un schéma des liens entre :
    F_LOTSERIE
    F_DOCLIGNE
    F_DOCENTETE
    F_COMPTET
    0
    1. fettah
       
      bonjour, ppa
      j aimerais bien si vous m envoyer le schema par email
      merci d avance fettah_m@yahoo.fr
      0
  3. ppa Messages postés 258 Statut Contributeur 65
     
    Salut Fettah,

    Ok, par mail séparé, je t'nvoie le schéma.

    A+

    Phil
    0
    1. fettah
       
      salut phil
      Merci de ton aide
      je viens de tomber sur une mine d'or
      sur google
      fait recherche F_lotfifo
      2ème resultat un livre entier de SAGE :)
      pour toute les relation et joincture entre les tables dans SAGE


      http://membres.lycos.fr/villederouen/technique/SAGE%20LIGNE%20100%20Strucfic.pdf
      0
      1. sana > fettah
         
        Salut,
        Je trvavaille sur un projet pour manipuler et agir sur les tables de la gestion de stock ainsi de l'encours sur Sage ligne 100 (sql server)
        Avez vous les requetes qui permettent d'ajouter un bon de livraison
        et son effets sur le stock?
        Merci
        0
  4. ppa Messages postés 258 Statut Contributeur 65
     
    Salut Fettah,

    Génial, c'est le manuel électronique dont je te parlais.

    Donc, bonne programmation à toi.

    Je reste à ta disposition pour infos complémentaires.

    A+

    phil
    0