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
A voir également:

4 réponses

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
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
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
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
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
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
ppa Messages postés 254 Date d'inscription   Statut Contributeur Dernière intervention   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
fettah
 
bonjour, ppa
j aimerais bien si vous m envoyer le schema par email
merci d avance fettah_m@yahoo.fr
0
ppa Messages postés 254 Date d'inscription   Statut Contributeur Dernière intervention   65
 
Salut Fettah,

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

A+

Phil
0
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
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
ppa Messages postés 254 Date d'inscription   Statut Contributeur Dernière intervention   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