Rechercher : dans
Par :

Sage F_LOTSERIE, F_DOCLIGNE

Dernière réponse le 27 jui 2007 à 23:30:00 fettah, le 28 sep 2005 à 14:24:32 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Sage F_LOTSERIE, F_DOCLIGNE » dans :
Configurer son modem Sagem F@st 800 Voir Modem USB Sagem F@st 800 Pas toujours simple de faire fonctionner et de paramétrer sa connexion internet sous Linux, quand on est équipé d'un modem USB. Alors avant de vous arracher tous les cheveux, lisez ce qui suit......
[Internet] Free dégroupé avec Sagem 908 en Ethernet VoirSi vous migrez d'un ADSL classique à un ADSL dégroupé avec le modem Sagem 908 en Ethernet chez Free, quelques indications: Avant le dégroupage: IMPORTANT: Téléchargez le Kit de connexion Free 3.7.0 (ou supérieur) (il contient les pilotes...

1

ppa, le 29 sep 2005 à 17:13:24

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

Répondre à ppa

2

fettah, le 30 sep 2005 à 00:35:03

Bonjour, ppa
j aimerais bien si vous m envoyer le schema par email
merci d avance fettah_m@yahoo.fr

Répondre à fettah

3

ppa, le 30 sep 2005 à 09:33:35

Salut Fettah,

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

A+

Phil

Répondre à ppa

4

fettah, le 30 sep 2005 à 17:24:26

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

Répondre à fettah

6

sana, le 7 mai 2007 à 13:30:14

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

Répondre à sana

5

ppa, le 1 oct 2005 à 11:32:55

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

Répondre à ppa

7

fabian, le 11 jun 2007 à 15:55:12

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.

Répondre à fabian

8

Olivier, le 12 jui 2007 à 23:12:16

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...

Répondre à Olivier

9

Fabain, le 13 jui 2007 à 14:59:30

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

Répondre à Fabain

10

Olivier, le 13 jui 2007 à 16:28:44

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

Répondre à Olivier

12

fabian, le 13 jui 2007 à 19:27:15

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

Répondre à fabian

13

Olivier, le 14 jui 2007 à 16:38:26

Merci Fabian. Finalement, je m'en suis sorti, mais pas en utilisant l'API du Kit ODBC mais l'ActiveX, que j'ai finalement tenté d'installer dans Delphi (sans que ce soit indiqué dans la doc Sage), et j'ai du coup pu accéder à un nouveau composant de type TCial et nécessitant un uses ASD100Lib_TLB. Ce composant contient toutes les propriétés décrites dans la doc du Kit ODBC. En faisant effectivement une connection avec un TADOConnection, ce composant marche. En revanche, les fonctions de l'API ne marchaient pas...

Bref, c'est bon maintenant, il ne me reste plus qu'à dérouler les étapes de création d'une nouvelle pièce commerciale en m'inspirant de ce qui est proposé dans la base Access exemple, je pense que ça devrait le faire.

En tout cas, merci à toi. J'ai comme l'impression que rares sont ceux qui ont fait tourné le kit ODBC de Sage avec Delphi.

Bonnes vacances à toi si tu en prends bientôt. Moi, encore 15 jours.

Olivier

Répondre à Olivier

14

fabian, le 16 jui 2007 à 15:17:49

Salut olivier , ca m'interesse beaucoup de savoir comment tu as fais pour trouver cette ActiveX. Qu'elle est son nom et son emplacement....
Merci
Fabain

Répondre à fabian

15

olivier, le 16 jui 2007 à 15:37:39

Salut Fabian. En fait, l'ActiveX est livré avec le kit ODBC sous la forme d'une DLL dénommée ASD100.dll et qui se trouve dans C:\WINDOWS\SYSTEM32. Pour l'installer dans Delphi, il faut lancer la fonction Projet > Importer une bibliothèque de types, cliquer sur "Ajouter", aller choisir la fameuse DLL, puis cliquer sur Installer.

Une fois cette installation faite, il y a alors dans l'onglet "ActiveX" de Delphi, de nouveaux composants Cpta, Cial, FSal, Param et PMS1 que tu peux poser sur un form, ou bien utiliser directement en les déclarant et en les créant par code (nécessite dans ce cas un Uses ASD100Lib_TLB). Exemple de ce que j'ai fait qui marche :


Uses ASD100Lib_TLB ;

var GCSage : TCial ;
sResult : string ;
begin
if Connexion_SAGE then
begin
GCSage:=TCial.Create(Nil);
sResult:=GCSage.DocNouvPiece[1,0] ;
if (GCSage.Erreur=0) then ShowMessage('='+sResult+'=') else ShowMessage('Erreur n°'+IntToStr(GCSage.Erreur)) ;
ADOSAGE.Connected:=False ;
Try GCSage.Free ; except end ;
end ;
end;

Ensuite, les différentes méthodes décrites dans la doc du kit ODBC sont accessibles par ces composants. J'avoue n'être pas allé encore jusqu'au bout de la création de commande, mais j'y travaille à partir de maintenant.

A+

Olivier

Répondre à olivier

16

olivier, le 18 jui 2007 à 18:06:30

Salut Fabian. C'est encore moi. ça y'est, j'arrive à créer des documents (en-têtes et lignes). Tout se passe donc plutôt pas trop mal. Sauf qu'ensuite, la gestion commerciale SAGE qui est mono user, considère que j'y suis encore connecté, alors que j'ai bien déconnecté mon TADOConnection. J'ai tenté de faire un Disconnect, mais cela ne change rien. Il semble que la table cbUserSession (visible dans SQL Server) contient encore des enregistrements, que je pourrais éventuellement supprimer à la hussarde, sauf que le kit ODBC Sage ne me donne pas accès à cette table. J'envisage de le faire par un accès direct à SQL Server, mais aurais tu une solution plus "propre" ?

Merci.

A+

Olivier

Répondre à olivier

17

Fabian, le 20 jui 2007 à 10:02:47

Plus propre non , moi je fais
TADOCONNECTION.CONNECTED:=False;
Et capasse.
Mais je travaille en Multi-utilisateurs.....
A propos il cherche des collaborateurs dans ta boite, car la mienne ici ca comence a craindre grave

Répondre à Fabian

18

olivier, le 20 jui 2007 à 11:19:10

Finalement, j'ai fait la suppression "à la hussarde" des enregistrements de la table cbUserSession, et ça passe... Bon, c'est pas très orthodoxe mais tant pis.

Pour le boulot, qu'est-ce que tu cherches ? Tu es en région parisienne ?

A+

Olivier

Répondre à olivier

11

Olivier, le 13 jui 2007 à 17:25:55

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 ?

Répondre à Olivier

19

 Tanya, le 27 jui 2007 à 23:30:00

Tu dois avoir un problème de DLL pas compatible le msjet40.dll

Répondre à Tanya