Vous êtes sur la page 1sur 194

Sage 100 Kit ODBC

Version 16.00

Rfrence

Sage

Composition du progiciel Votre progiciel est compos d'un botier de rangement comprenant : le cdrom sur lequel est enregistr le programme, la documentation lectronique, prsente sur le cdrom. Proprit & Usage Tout usage, reprsentation ou reproduction intgral ou partiel, fait sans le consentement de Sage est illicite (Loi du 11 Mars 1957 - Loi du 3 Juillet 1985). Ils constitueraient une contrefaon sanctionne par les articles 425 et suivants du Code Pnal. Tous droits rservs dans tous pays. Logiciel original dvelopp par Sage. Documentation Sage. Toute utilisation, quelque titre que ce soit, non autorise dans le cadre de la convention de licence, est strictement interdite sous peine de sanctions pnales (Loi du 3 Juillet 1985, Art. 46). Conformit & Mise en garde Compte tenu des contraintes inhrentes la prsentation sous forme de manuel lectronique, les spcifications vises dans la prsente documentation constituent une illustration aussi proche que possible des spcifications. Il appartient au client, paralllement la documentation, de mettre en uvre le progiciel pour permettre de mesurer exactement l'adquation de ses besoins aux fonctionnalits. Il est important, pour une utilisation sre et oprationnelle du progiciel, de lire pralablement la documentation. Evolution La documentation correspond la version rfrence. Entre deux versions, des mises jour du logiciel peuvent tre opres sans modification de la documentation. Toutefois, un additif peut tre joint la documentation existante pour prsenter les modifications et amliorations apportes ces mises jour. La fiche Suggestion Sage recherche une constante amlioration du progiciel et de sa documentation. Nous invitons notre clientle nous faire parvenir ses suggestions et les ventuels dfauts ou erreurs qu'elle pourrait relever sur la fiche suggestion figurant en dernire page du manuel. Marques Start, Sage 30, Sage 100, Intgrale, et Sage 1000 sont des marques dposes appartenant Sage. Windows 98 SE, Windows 2000, Windows 2003 Server, Windows XP, les logiciels Microsoft Excel, Microsoft Word, Microsoft Outlook, Internet Explorer et gamme Office sont des marques dposes de Microsoft Corporation. Macintosh, MAC/OS sont des marques dposes de Apple Computer Inc.

SAGE SAS - Socit par Actions Simplifie au capital social de 500.000 euros Sige social : le Colise II, 10 rue Fructidor 75834 Paris Cedex 17 R.C.S. Paris 313 966 129 - Code APE 5829C. La socit Sage est locataire grante des socits Sage FDC, Euratec, Ciel, Adonix et XRT.

Sage

Sommaire gnral

Sommaire
Sommaire ________________________ 3 Chapitre 1 Gnralits sur le programme______________________ 10
Dfinition dODBC ______________________ 11 Principe de fonctionnement ___________ 12 Compatibilit avec les bases de donnes Sage 100 _____________________ 13 Principe dutilisation dans les applications ____________________________ 14
Contenu de Sage 100 Kit ODBC ................... 14 Base de Donnes : ACC2000EX.MDB de Microsoft ACCESS....................................................... 14 Base de Donnes: ODBCNEW2000.MDB de Microsoft ACCESS....................................................... 14 Exemple dutilisation du Driver ODBC 100 avec Excel et Visual Basic (ExExc2000.XLS)...................... 14 Bases Bijou .................................................................. 14 Exemple sur Crystal Report version 9 : COMPTET.RPT ........................................................... 14 Fichier texte : T_Descri.txt............................................ 15 Fichier texte : fonction.txt ............................................. 15 Fichier texte : erreurs.txt .............................................. 15 Fichier ActiveX.Txt ....................................................... 15

Les fonctions avances Sage__________ 22


Introduction gnrale ...................................22 Description des fonctions de lAPI Sage ......22 Introduction...................................................................22 Description des fonctions avances de la comptabilit ..............................................23 TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................23 TotalMvtCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................23 TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................24 TotalDevDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................24 TotalDevCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................24 TotalDevSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat)........................................................25 TotalRepDebit (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................25 TotalRepCredit (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................26 TotalRepSolde (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................26 TotalRepDevDebit (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................27 TotalRepDevCredit (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................27 TotalRepDevSolde (CR_Num, JO_Num, Deb, Fin, Resultat) .......................................................................27 RealisationBudg (BD_Num, Deb, Fin, Resultat) ...........28 JournalNouvPiece (JO_Num, JM_Date, Resultat ).......28 Description des fonctions avances de la Gestion Commerciale................................28 CIALLigneMontantHT (DL_No, Resultat)......................28 CIALLigneMontantTTC (DL_No, Resultat) ...................29 CIALLigneRemiseGlobal (DL_No, Resultat).................29 CIALLignePrixUNet (DL_No, Resultat) .........................29 CIALLignePrixUNetTTC (DL_No, Resultat) ..................29 CIALLignePrixUNetDevise (DL_No, Resultat) ..............30 CIALLigneMontantTaxes (DL_No, Resultat).................30 CIALLigneMontantHTSigne (DL_No, Resultat) ............30 CIALLigneMontantTTCSigne (DL_No, Resultat) ..........30 CIALLigneQteSigne (DL_No, Resultat) ........................30 CIALDocTotalHT (DO_Type, DO_Piece, Resultat) ......32 CIALDocEscompte (DO_Type, DO_Piece, Resultat) .......................................................................32 CIALDocTotalHTNet (DO_Type, DO_Piece, Resultat) .......................................................................33 CIALDocBaseTaxes (DO_Type, DO_Piece, Ntaxe, Resultat)............................................................33

Sources de donnes ___________________ 16


Dfinition....................................................... 16 Comptabilit 100 .......................................................... 16 Gestion Commerciale 100............................................ 16 Immobilisations 100 ..................................................... 16 Manager 100 ................................................................ 16 Moyen de Paiement 100 / Trsorerie 100 .................... 16 Paie Windows 100 ....................................................... 16 Types de Sources de Donnes ..................... 17 Utilisateur ..................................................................... 17 Systme ....................................................................... 17 Fichier .......................................................................... 17 Cration dune source de donnes Sage...... 17 Cration dune DSN de type fichier .............................. 20

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions ______ 21

Sage

Sommaire gnral
CIALDocMontantTaxes (DO_Type, DO_Piece, Ntaxe, Resultat) ........................................................... 33 CIALDocMontantTotalTaxes (DO_Type, DO_Piece, Resultat) .................................................... 33 CIALDocTotalTTC (DO_Type, DO_Piece, Resultat)....................................................................... 34 CIALDocTotalPrixRevient (DO_Type, DO_Piece, Resultat)....................................................................... 34 CIALDocTotalMarge (DO_Type, DO_Piece, Resultat)....................................................................... 34 CIALDocNetaPayer (DO_Type, DO_Piece, Resultat)....................................................................... 34 CIALDocMontantEcheance (DO_Type, DO_Piece, Resultat)....................................................................... 35 CIALDocPoidsNet (DO_Type, DO_Piece, Resultat)....................................................................... 35 CIALDocPoidsBrut (DO_Type, DO_Piece, Resultat)....................................................................... 35 CIALDocQuantites (DO_Type, DO_Piece, Resultat)....................................................................... 35 CIALDocQtesColisee (DO_Type, DO_Piece, Resultat)....................................................................... 36 CIALDocTotalHTDev (DO_Type, DO_Piece, Resultat)....................................................................... 36 CIALDocEscompteDev (DO_Type, DO_Piece, Resultat)....................................................................... 36 CIALDocTotalHTNetDev (DO_Type, DO_Piece, Resultat)....................................................................... 36 CIALDocMontantTaxesDev (DO_Type, DO_Piece, Ntaxe, Resultat) ........................................................... 37 CIALDocMontantTotalTaxesDev (DO_Type, DO_Piece, Resultat) .................................................... 37 CIALDocTotalTTCDev (DO_Type, DO_Piece, Resultat)....................................................................... 37 CIALDocNouvPiece (DO_Type, DO_Souche, Resultat)....................................................................... 37 CIALDocNouvPiece2 (DO_Type, DO_Souche, DO_Provenance Resultat) ........................................... 38 CIALTiersCAHTBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ............................... 38 CIALTiersCAHTNet (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ............................... 38 CIALTiersCATTC (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 39 CIALTiersPrixRevient (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 39 CIALTiersQuantites (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 39 CIALTiersQtesColisee (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 40 CIALTiersPoidsNet (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 40 CIALTiersPoidsBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 40 CIALTiersMarge (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 41 CIALTiersRemise (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............................. 41 CIALTiersSolde(CT_Num, Resultat) ............................ 41 CIALTiersEchus1(CT_Num, Resultat) ......................... 42 CIALTiersEchus2(CT_Num, Resultat) ......................... 42 CIALTiersEchus3(CT_Num, Resultat) ..........................42 CIALTiersNonEchus(CT_Num, Resultat) .....................42 CIALTiersDepassement1(CT_Num, Resultat)..............43 CIALTiersDepassement2(CT_Num, Resultat)..............43 CIALTiersBLFA(CT_Num, Resultat) .............................43 CIALTiersRisque(CT_Num, Resultat)...........................43 CIALTiersBC(CT_Num, Resultat).................................44 CIALTiersFact(CT_Num, Resultat) ...............................44 CIALTiersRegl(CT_Num, Resultat) ..............................44 CIALArtCAHTBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................44 CIALArtCAHTNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................45 CIALArtCATTC (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............45 CIALArtRemise (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............46 CIALArtPrixRevient (AR_R ef, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) 46 CIALArtMarge (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............47 CIALArtQuantites (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................47 CIALArtQtesColisee (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................47 CIALArtPoidsNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................48 CIALArtPoidsBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .......................................................................48 CIALArtMarge (AR_REF, CT_NumA, CT_NumDe, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .............49 CIALArtCompteA (AR_Ref, Domaine, CatCompta, Resultat) .......................................................................49 CIALArtCompteG (AR_Ref, Domaine, CatCompta, Resultat) .......................................................................50 CIALArtTaxe1 (AR_Ref, Domaine, CatCompta, Resultat) .......................................................................50 CIALArtTaxe2 (AR_Ref, Domaine, CatCompta, Resultat) .......................................................................50 CIALArtTaxe3 (AR_Ref, Domaine, CatCompta, Resultat) .......................................................................50 CIALArtPrixCat (AR_Ref, CatTarif, AG_No1, Ag_No2, Resultat) ........................................................51 CIALArtCoefCat (AR_Ref, CatTarif, Resultat) ..............51 CIALArtPrixClient (AR_Ref, CT_Num, CatTarif, AG_No1, AG_No2, Resultat)........................................51 CIALArtCoefClient (AR_Ref, CT_Num, CatTarif, Resultat) .......................................................................52 CIALArtPrixFourniss(AR_Ref, CT_Num, AG_NO1, AG_NO2, Resultat).......................................................52 CIALFamCAHTBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat).....................................................52

Sage

Sommaire gnral
CIALFamCAHTNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 53 CIALFamCATTC (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat)....................................................................... 53 CIALFamRemise (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat)....................................................................... 54 CIALFamPrixRevient (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 54 CIALFamMarge (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat)....................................................................... 55 CIALFamQuantites (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 55 CIALFamQtesColisee (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 56 CIALFamPoidsNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat)....................................................................... 56 CIALFamPoidsBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 57 CIALRepCAHTBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 57 CIALRepCAHTNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 58 CIALRepCATTC (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 58 CIALRepRemise (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 59 CIALRepPrixRevient (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 60 CIALRepMarge (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) .................................................... 61 CIALRepQuantites (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 61 CIALRepQtesColisee (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 62 CIALRepPoidsNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) ........................ 63 CIALRepPoidsBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat).........................63 CIALStockVal(DE_No, AR_Ref, AG_No1, AG_No2, Date, Resultat) ..............................................64 CIALStockQte(DE_No, AR_Ref, AG_No1, AG_No2, Date, Resultat) ..............................................64 GetParamValeurStr (TypeBase, NomTable, NomChamp, Resultat) ..................................................65 GetParamValeurDbl (TypeBase, NomTable, NomChamp, Resultat) ..................................................65 GetParamValeurEnt (TypeBase, NomTable, NomChamp, Resultat) ..................................................66 GetParamValeurDate (TypeBase, NomTable, NomChamp, Resultat) ..................................................66 GetParamReplication (TypeBase, Resultat) .................66 GetParamType (TypeBase, Fichier, Field, Resultat) .......................................................................67 Description des fonctions avances de la Paie Maestria Windows.............................67 FSalCumul (SA_Num, RB_Num, Debut, Fin, Resultat) .......................................................................67 FSALCumulbase (SA_Num, RB_Num, Debut, Fin, Resultat) .......................................................................67 FSALCumulCotPat (SA_Num, RB_Num, Debut, Fin, Resultat) ................................................................68 FSALCumulRes (SA_Num, RB_Num, Debut, Fin, Resultat) .......................................................................68 FSALCumulTaux (SA_Num, RB_Num, Debut, Fin, Resultat) .......................................................................69 FSALCumulTauxPat (SA_Num, RB_Num, Debut, Fin, Resultat) ................................................................69

Description des objets de lActiveX Sage ____________________________________ 70


Introduction...................................................70 Principe dutilisation de LActiveX Sage ......70 Exemple de Proprits de lobjet CPTA (base comptable) ..........................................71 TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin).......................................................................71 Exemple de proprits de lobjet CIAL (Gestion Commerciale) .................................71 LigneMontantHT (DL_No).............................................71 TiersCAHTBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA)...............................................71 Proprits de lobjet Param (pages paramtres) ...................................................72 GetParamValeurStr (TypeBase, NomTable, NomChamp) .................................................................72 Proprits de lobjet Fsal (la paie Maestria Windows)........................................72 FSalCumul (SA_Num, RB_Num, Debut, Fin) ...............72

Sage

Sommaire gnral

Chapitre 3 Description des exemples fournis avec le Kit ODBC ____________________________ 73


Base Exemple ACC2000EX.MDB sous Microsoft Access 2000___________ 74
Introduction .................................................. 74 Contenu de la base ACC2000EX.MDB .......... 74 Visualisation de tous les Champs des tables de la Base............................................................................. 74 Etat : Annuaire Client ................................................... 74 Etat : Palmars Client .................................................. 74 Etat : Grand Livre Tiers ................................................ 75 Etat : Distribution Analytique ........................................ 75 Etat : balance des comptes .......................................... 75 Etat : Mouvements articles ........................................... 75 Etat : tarifs par catgorie tarifaire ................................. 75 Exemple dcriture dans un journal .............................. 75 Exemple dcriture dans un Document de vente.......... 75 Utilisation des fonctions avances de Comptabilit et de Gestion Commerciale.......................................... 75 Exemple de gnration automatique de documents en gestion commerciale............................. 76 Exemple de gnration automatique darticles............. 76 Exemple de gnration automatique dcritures comptables................................................................... 76

Exemple 1.....................................................................81 Exemple 2.....................................................................81 Exemple 3.....................................................................81

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC ___________________________ 82
Grammaire SQL supporte par le driver ___________________________________ 83
Fonctions de la grammaire ODBC supportes par Sage 100 Kit ODBC..............83 Fonctions sur les chanes de caractres .....83 CONCAT (Chane1, Chane2) ......................................83 LENGTH (CHAINE) ......................................................83 RIGHT (CHAINE, NB)...................................................84 UCASE (CHAINE) ........................................................84 LCASE (CHAINE).........................................................84 LOCATE (CHAINE1, CHAINE2, [START]) ...................84 RTRIM (CHAINE) .........................................................84 LEFT (CHAINE, NB) .....................................................85 LTRIM (CHAINE)..........................................................85 SUBSTRING (CHAINE, DEBUT, LONG)......................85 MOD (ENTIER1, ENTIER2)..........................................85 Fonctions sur les dates.................................85 CURDATE ().................................................................85 DAYOFMONTH (DATE) ...............................................85 MONTH (DATE) ...........................................................86 CURTIME ()..................................................................86 DAYOFWEEK (DATE)..................................................86 YEAR (DATE)...............................................................86 Fonctions systme ........................................87 DATABASE () ...............................................................87 USER () ........................................................................87

Base de Donnes ODBCNEW2000.MDB sous Microsoft Access 2000 ___________________________ 77


Contenu de la base de donnes ................... 77 Utilisation des formulaires fournis............... 77 Aide la cration de requtes et tats......................... 77 Visualisation des champs de toutes les tables de votre base .................................................................... 78 Fichier Exemple Exc2000odbc.xls sous Microsoft Excel 2000 .................................... 78 Contenu de cet exemple .............................................. 78 Etat CompteT.rpt sous Crystal Reports 9.0.................................................................. 78 Contenu de cet exemple .............................................. 78

Annexe 3 Conseils doptimisation __________________ 88


Les lments perturbants______________ 89

Annexe 1 Rappel sur le langage SQL ____________________ 79


Remarques gnrales__________________ 80
Ajout dun enregistrement ............................ 80 Modification denregistrements ................... 80 Suppression dEnregistrements ................... 80 Exemples de requtes .................................. 80

Annexe 4 Les codes erreurs Sage ____________________________ 90


DESCRIPTION DES ERREURS GENERALES CBASE ____________________ 91 DESCRIPTION DES CODES ERREURS DES FONCTIONS EVOLUEES ___________ 92

Sage

Sommaire gnral ERREURS EN ECRITURE DANS LES DIFFERENTES APPLICATIONS _________ 95

Annexe 8 Utilisation dODBC avec Visual FoxPro ____________ 156


Introduction ___________________________157
Les vues distantes ......................................157 Programmation en Visual FoxPro ...............157 Connexion Dconnexion............................................157 Recherche denregistrements ....................158 Ecriture dans les bases ..............................159 Rcupration des erreurs ...........................160

Annexe 5 Les erreurs les plus frquentes ________________ 136


Avant propos __________________________ 137
Mauvaise version de fichier........................ 137 Erreur Sage 5002 obtenue au moment de lexcution dune requte dcriture. ......... 137 Refus d'autorisation erreur Sage 1807 obtenue au moment de lexcution dune requte dcriture. ...................................... 137 Domaine de validit du champ incorrect, veuillez vous rfrer la documentation... 137

Annexe 9 Utilisation dODBC avec Delphi ____________________ 162


Introduction ___________________________163 Connexion Dconnexion______________164 Recherche denregistrements ________165
Utilisation de lobjet TQuery .......................165 Utilisation de lobjet TTable .......................166

Annexe 6 Utilisation dODBC avec Visual Basic______________ 138


Introduction ___________________________ 139
Les ADO....................................................... 139 Connexion Dconnexion ............................ 139 Recherche denregistrements .................... 140 Ecriture dans les bases .............................. 141 Rcupration des erreurs ........................... 142 Les DAO....................................................... 143 Connexion Dconnexion ............................ 143 Recherche denregistrements .................... 144 Ecriture dans les bases .............................. 145 Rcupration des erreurs ........................... 145

Ecriture dans les bases _______________168


Utilisation de lobjet TQuery .......................168 Utilisation de lobjet TTable .......................169

Rcupration des erreurs _____________171

Annexe 10 Utilisation des fonctions avances Sage _____ 173


Introduction ___________________________174
API Sage ......................................................174 DLL ActiveX.................................................174 Principe dutilisation ....................................................175 Descriptif des fonctions utilises dans les exemples ...............................................175 TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, [Rsultat] )...................................................175 CIALDocNouvPiece (DO_Type, DO_SOUCHE, [Rsultat] ) ..................................................................176 GetParamValeurDate (TypeBase, NomTable, NomChamp, [Rsultat] ) .............................................176

Annexe 7 Utilisation dODBC avec Windev ___________________ 148


Introduction ___________________________ 149
Connexion Dconnexion ............................ 149

Recherche denregistrements ________ 151 Ecriture dans les bases _______________ 153
Rcupration des erreurs ........................... 154 Syntaxe de la procdure SQLInfoGene ..................... 154 Fonctions disponibles................................................. 154

Visual Basic ___________________________177


API Sage ......................................................177 TotalMvtSolde () .........................................................177 CIALDocNouvPiece ().................................................178

Sage

Sommaire gnral
GetParamValeurDate () ............................................. 178 DLL ActiveX ................................................ 179 TotalMvtSolde ()......................................................... 179 CIALDocNouvPiece () ................................................ 180 GetParamValeurDate () ............................................. 180 Dclaration des fonctions avances Sage ............................................................ 181

WinDev ________________________________ 182


API Sage...................................................... 182 TotalMvtSolde ()......................................................... 182 CIALDocNouvPiece () ................................................ 183 GetParamValeurDate () ............................................. 184 DLL ActiveX ................................................ 184

Visual FoxPro _________________________ 185


API Sage...................................................... 185 TotalMvtSolde ()......................................................... 185 CIALDocNouvPiece () ................................................ 185 GetParamValeurDate () ............................................. 186 DLL ActiveX ............................................................... 187 Dclaration des fonctions avances Sage ............................................................ 187

Delphi _________________________________ 188


API Sage...................................................... 188 TotalMvtSolde ()......................................................... 188 CIALDocNouvPiece () ................................................ 189 GetParamValeurDate () ............................................. 189 DLL ActiveX ................................................ 190 TotalMvtSolde ()......................................................... 190 CIALDocNouvPiece () ................................................ 191 GetParamValeurDate () ............................................. 192 Dclaration des fonctions avances Sage ............................................................ 193

Sage

Sommaire gnral

Sage

Chapitre 1 Gnralits sur le programme

Chapitre 1 Gnralits sur le programme


Dfinition dODBC ______________________________________11 Principe de fonctionnement_______________________________12 Compatibilit avec les bases de donnes Sage 100 _____________13 Principe dutilisation dans les applications ___________________14 Contenu de Sage 100 Kit ODBC ................................................14 Sources de donnes _____________________________________16 Dfinition..........................................................................16 Types de Sources de Donnes..................................................17 Cration dune source de donnes Sage .....................................17

Sage

10

Chapitre 1 Gnralits sur le programme

Dfinition dODBC
La norme ODBC (Open Database Connectivity) permet de se connecter une source dinformations externe et dutiliser ses donnes. Elle est gre par le Gestionnaire ODBC qui contient les drivers ncessaires cette procdure. Ce gestionnaire se place automatiquement dans le Panneau de configuration de Microsoft Windows lors de linstallation de la plupart des bases de donnes. Les drivers des fichiers que vous souhaitez interroger sont, en gnral, installs automatiquement avec la plupart des applications.

Sage

11

Chapitre 1 Gnralits sur le programme

Principe de fonctionnement
La norme ODBC permet aux applications qui lutilisent, dexploiter la pleine puissance du langage de requte SQL (Structured Query Language). Elle est gnralement utilise pour les connexions aux bases implantes sur des serveurs. Des drivers ODBC sont disponibles pour Oracle, Microsoft SQL Server, Sybase SQL Server et de nombreux autres gestionnaires de bases de donnes sur un grand nombre de plates-formes. Le schma ci-aprs permet de comprendre le fonctionnement dODBC. Lapplication envoie une requte SQL. Le Driver Manager intercepte cet appel et le redirige vers le bon driver ODBC. Ce driver analyse alors la requte SQL puis rcupre les donnes par lintermdiaire de la source de donnes. Ces donnes sont alors renvoyes lapplication. La source de donnes est donc le lien entre lapplication et le fichier physique.

Sage

12

Chapitre 1 Gnralits sur le programme

Compatibilit avec les bases de donnes Sage 100


Avec Sage 100 Kit ODBC, vous pouvez accder aux bases (fichier physique) des principaux produits de la gamme Sage 100 Windows (Propritaire, SQL Server et SageSQL) savoir : Comptabilit 100, Gestion Commerciale 100, Saisie de Caisse Dcentralise 100 Immobilisations 100 Moyen de paiement 100 / Trsorerie 100 Manager 100 Paie 100 (Propritaire uniquement)

La plupart des tables sont accessibles en lecture/criture. Vous trouverez la description de chaque table dans le manuel Structure Sage 100.

Sage

13

Chapitre 1 Gnralits sur le programme

Principe dutilisation dans les applications


Chaque application compatible ODBC peut se connecter aux bases de donnes Sage 100 Windows. Les applications compatibles ODBC testes sont dcrites en Annexe de ce guide. Le principe est en fait le mme pour chaque application. On se connecte une source de donnes qui permet daccder aux donnes que lon dsire via des requtes SQL. Les donnes peuvent tre alors lues partir dun systme de gestion de bases de donnes comme Microsoft Access ou de gnrateurs de requtes comme Query de Microsoft Excel qui utilisent le gestionnaire ODBC. Vous pouvez ainsi gnrer dans Microsoft Access vos propres modles dimpression en slectionnant les donnes dont vous avez rellement besoin et en les prsentant sous la forme de formulaires ou dtats que vous paramtrez trs facilement. De plus, il vous est possible avec Microsoft Excel par lintermdiaire de Microsoft Query, de crer des graphiques complexes avec vos donnes de gestion. Pour lcriture dans les bases de donnes Sage 100 Windows, des explications et des exemples sont fournis dans ce guide. Nanmoins, pour lcriture, il vaut mieux utiliser un outil de dveloppement comme par exemple Visual basic ou Delphi pour pouvoir grer les diffrents cas possibles derreurs. Ces erreurs sont gres par le driver. Si par exemple vous dtruisez un compte alors quil y a des critures associes, le driver renverra une erreur et ne crera pas le compte. Il faudra intercepter cette erreur et en fonction du type de lerreur agir en consquence.

Contenu de Sage 100 Kit ODBC


Base de Donnes : ACC2000EX.MDB de Microsoft ACCESS La base de donnes ACC2000EX.MDB fournie avec le kit, vous permet de vous familiariser avec la structure des Fichiers Sage 100 via ODBC (en loccurrence pour lexemple fourni, ceux de la Comptabilit 100, la Gestion commerciale 100) et vous montre au travers de certains Formulaires et Etats ce que lon peut faire rellement avec ODBC au travers notamment dexemples dcriture dans les bases Sage. Base de Donnes: ODBCNEW2000.MDB de Microsoft ACCESS Cette base de donnes contient plusieurs formulaires dj fournis dans la base de donnes exemple ACC2000EX.MDB. Vous pouvez toutefois, vous en servir si vous crez votre propre base avec des attaches de tables du Kit ODBC 100. Le premier formulaire vous permet de crer automatiquement les jointures entre les tables, le deuxime vous montre les champs de toutes les tables de votre base et le troisime vous permet de crer le descriptif de chaque champ des tables ODBC. Exemple dutilisation du Driver ODBC 100 avec Excel et Visual Basic (ExExc2000.XLS) Ce classeur vous prsente des exemples de connexion ODBC avec Microsoft Excel via Visual Basic. Bases Bijou Les fichiers dexemples sont ceux de la base BIJOU, savoir C_Bijou.Mae, G_Bijou.Gcm, IM_Bijou.Imo et T_Bijou.Mdp. Exemple sur Crystal Report version 9 : COMPTET.RPT Exemple dtat cr avec Crystal Report : Grand-livre des Tiers.

Sage

14

Chapitre 1 Gnralits sur le programme Fichier texte : T_Descri.txt Descriptif de toutes les tables, champs ODBC. Fichier texte : fonction.txt Dclaration des fonctions volues dans Visual Basic (Visual Basic , Access et Excel ), Delphi et Visual FoxPro. Fichier texte : erreurs.txt Description de l'ensemble des codes erreurs pour l'criture dans les bases de donnes Sage 100 Windows. Fichier ActiveX.Txt Description de lensemble des objets de lactiveX ASD100.Dll avec leurs proprits et mthodes.

Sage

15

Chapitre 1 Gnralits sur le programme

Sources de donnes
Dfinition
Une source de donnes est le lien entre lapplication et le driver ODBC. Elle est compose de 2 lments : Un Driver ODBC, Un ou plusieurs fichiers physiques associs.

Vous trouverez ci-dessous les diffrents cas suivant le type de base de donnes Sage 100. Comptabilit 100 Driver : Sage Comptabilit 100 Fichier physique : fichier comptable (*.MAE)

Gestion Commerciale 100 Driver : Sage Gestion commerciale 100 Fichiers physiques : fichier commercial (*.GCM) fichier comptable (*.MAE)

Les mots de passe de ces fichiers (mots de passe des applications Comptabilit 100 et Gestion Commerciale 100) doivent tre identiques, sinon la connexion chouera. Immobilisations 100 Driver : Sage Immobilisations 100 Fichiers physiques : Manager 100 Driver : Sage Manager 100 Fichiers physiques : fichier bibliothque (*.CHP) fichier annexe (*.CHL) fichier immobilisations (*.IMO) fichier comptable (*.MAE)

Moyen de Paiement 100 / Trsorerie 100 Driver : Sage Moyen de Paiement 100 Fichiers physiques : Paie Windows 100 Driver : Sage Paie 100 Fichier moyens de paiement (*.MDP) fichier comptable (*.MAE)

Sage

16

Chapitre 1 Gnralits sur le programme Fichier physique : fichier paie (*.PRH)

Types de Sources de Donnes


Il existe 3 types de sources de donnes : Utilisateur Une source de donnes de type Utilisateur nest visible que par lutilisateur connect sur sa machine et uniquement sur celle-ci. Un utilisateur connect sur un poste Windows sous le login DUPONT ne verra donc que les sources de donnes que celui-ci a cres sur cette machine. Systme Une source de donnes de type Systme est visible par tous les utilisateurs connects sur sa machine et uniquement sur celle-ci. Un utilisateur connect sur un poste Windows sous le login DUPONT verra donc toutes les sources de donnes cres sur cette machine.
Ce type de sources de donnes est utile lorsque vous voulez par exemple excuter une tche planifie pour un programme que vous avez cr. Le compte sous lequel va sexcuter la tche est gnralement le compte SYSTEM ou un compte qui nest pas celui avec lequel vous testez votre programme. Si vous utilisez une source de donnes Utilisateur la tche planifie provoquera une erreur, mais fonctionnera correctement si vous utilisez une source de donnes de type SYSTEM.

Utilisateur, Systme, Fichier.

Fichier Les sources de donnes File DSN fournies sont ComptaC_Bijou.dsn GestcomG_Bijou.dsn MPaiement_Bijou.dsn Immo_Bijou.dsn Manager_Expert.dsn PaieP_Essai.dsn

Ce fichier a le format suivant : [ODBC] DSN=Nom_Source_de_donnes_existante (systme ou utilisateur) La source de donnes systme ou utilisateur doit exister sur votre poste.

Cration dune source de donnes Sage


La cration dune source de donnes Sage seffectue via ladministrateur de sources de donnes ODBC plac dans les outils dadministration du Panneau de configuration. Ci-dessous est explicit un exemple de cration dune source de donnes Utilisateur de type Gestion commerciale 100 : GestCom_Sage100

Sage

17

Chapitre 1 Gnralits sur le programme

1. Cliquez sur licne Sources de donnes

2. Cliquez sur le bouton Ajouter et slectionnez le pilote du type Sage Gestion commerciale 100

Sage

18

Chapitre 1 Gnralits sur le programme

3. Cliquez sur le bouton Terminer. 4. Slectionnez dans la fentre Installation CBase , les fichiers respectivement de comptabilit et de gestion commerciale (*.GCM) et (*.MAE).

5. Cliquez alors sur le bouton OK pour terminer la cration de cette source de donnes. Le premier fichier est obligatoire, le deuxime est facultatif. Cette association vous permet d'ouvrir directement toutes les tables de gestion commerciale et de comptabilit, ou toutes les tables d'immobilisations et de comptabilit, de mme pour les autres bases. Pour l'exemple ci-dessus, si vous utilisez Microsoft QUERY, en slectionnant la source de donnes Gestcom_Sage100 vous verrez alors la fois les tables de gestion commerciale et de comptabilit, comme ci-dessous.

Lorsque le paramtrage est effectu, cliquez sur le bouton OK pour enregistrer cette Source de Donnes. Lcriture des informations relatives cette source de donnes seffectue dans la Base de Registre de Windows.

Sage

19

Cration dune DSN de type fichier Automatiquement la cration de DSN utilisateur ou DSN systme Lorsque vous crez des sources utilisateurs ou systmes, une source de donnes de type fichier (File DSN) est automatiquement cre avec le nom de la source de donnes utilisateur ou systme avec lextension .DSN. Manuellement Il nest pas possible de crer directement des sources de donnes de type fichier par ladministrateur ODBC 32 bits. Vous devez crer ce fichier de toute pice. Voici ci-dessous un exemple dun tel fichier : dition du fichier ComptaC_Bijou.dsn [ODBC] DSN=ComptaC_Bijou Il suffit donc dindiquer dans la premire ligne : [ODBC] Sur la deuxime ligne, indiquer : DSN= et le nom dune source de donnes utilisateur ou systme existante, ici ComptaC_Bijou. Enregistrer ensuite ce fichier dans le rpertoire Program Files\Fichiers communs\ODBC\Data Sources avec lextension .DSN. Ce rpertoire par dfaut peut tre chang grce ladministrateur ODBC 32 bits. Intrt de ce type de sources de donnes Certains programmes, comme Microsoft Query , demandent exclusivement des sources de donnes de type fichier (File DSN). Le seul moyen pour que cela fonctionne avec ce logiciel est de crer auparavant des File DSN, comme ci-dessus, soit manuellement, soit automatiquement. Vous pourrez ensuite avoir accs cette source de donnes dans Microsoft Query et lutiliser, comme toute autre source de donnes.

Sage

20

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions


Les fonctions avances Sage ______________________________ 22 Introduction gnrale .......................................................... 22 Description des fonctions de lAPI Sage ..................................... 22 Description des fonctions avances de la comptabilit................... 23 Description des fonctions avances de la Gestion Commerciale ........ 28 Description des fonctions avances de la Paie Maestria Windows ...... 67 Description des objets de lActiveX Sage ____________________ 70 Introduction...................................................................... 70 Principe dutilisation de LActiveX Sage .................................... 70 Exemple de Proprits de lobjet CPTA (base comptable)............... 71 Exemple de proprits de lobjet CIAL (Gestion Commerciale) ......... 71 Proprits de lobjet Param (pages paramtres) .......................... 72 Proprits de lobjet Fsal (la paie Maestria Windows).................... 72

Sage

21

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Les fonctions avances Sage


Introduction gnrale
Vous avez accs dans Sage 100 Kit ODBC diffrentes fonctions volues. Ces fonctions avances sont disponibles pour la comptabilit, la gestion commerciale, la Paie Maestria et la Paie Windows. Ces fonctions ont t cres afin de faciliter les dveloppements. Les fonctions telles que le calcul du CA Net Client ou le total TTC dun document auraient ncessit un dveloppement important et compliqu si vous aviez du les raliser vousmme. Celles-ci sont stockes dans les diffrentes librairies fournies avec ce kit : CptaLib.Dll CialLib.Dll ImmoLib.Dll TresLib.Dll FSalLib.Dll PMS1Lib.Dll La premire consiste lappel de fonctions externes (API Sage). Ces fonctions se trouvent dans la DLL CBODBC32.DLL. Cette mthode est utilisable par tous les logiciels 32 bits capables dappeler des fonctions externes. La seconde consiste lutilisation dune DLL ActiveX (ASD100.DLL). Cette mthode est utilisable par tous les logiciels 32 bits capables dutiliser la technologie ActiveX.

Il existe deux mthodes pour appeler ces fonctions :

Description des fonctions de lAPI Sage


Introduction Chaque fonction retourne un code erreur qui indique si la procdure sest bien excute. Si un paramtre est incorrect, un code erreur est retourn par la fonction. Si la valeur du code erreur est 0, cela indique que la fonction a retourn un rsultat. Le rsultat que vous recherchez est toujours le dernier paramtre de la fonction (paramtre dentre / sortie). Ces fonctions ne sont utilisables que si une connexion a t effectue auparavant avec la base concerne. De mme ,il faut imprativement respecter la syntaxe Minuscules/Majuscules de ces fonctions, sinon cela ne fonctionnera pas. De mme, il faut bien respecter les types de donnes des paramtres de ces fonctions. Des exemples dutilisation sous ACCESS, VISUAL BASIC, VISUAL FOX PRO, DELPHI et WINDEV sont fournis en Annexe. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale.

Sage

22

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des fonctions avances de la comptabilit


TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des mouvements dbit connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total du mouvement dbit TotalMvtCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des mouvements crdit connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total du mouvement crdit

Sage

23

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le solde des mouvements connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Solde TotalDevDebit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des dbits en devise connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total des dbits en devise TotalDevCredit (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total crdit en devise connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin.

Sage

24

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total crdit en devise TotalDevSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le solde en devise connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Solde en devise TotalRepDebit (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des mouvements dbit connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur non nulle.

Sage

25

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total du mouvement dbit TotalRepCredit (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des mouvements crdit connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur non nulle. En Entre CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Rsultat (Double) : Total du mouvement crdit TotalRepSolde (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le solde des mouvements connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur non nulle. En Entre CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction.

Sage

26

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Solde (Double) : Solde TotalRepDevDebit (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total des dbits en devise connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur non nulle. En Entre CR_Num (Chane Alphanunrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. RepDevDebit (Double) : Total des dbits en devise TotalRepDevCredit (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le total crdit en devise connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit obligatoirement avoir une valeur non nulle. En Entre CR_Num (Chane Alphanumrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. DevCredit (Double) : Total crdit en devise TotalRepDevSolde (CR_Num, JO_Num, Deb, Fin, Resultat) Cette fonction permet de calculer le solde en devise connaissant le compte reporting CR_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs.

Sage

27

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Les champs Deb, Fin, JO_Num sont facultatifs, mais CR_Num doit avoir une valeur non nulle. En Entre CR_Num (Chane Alphanumrique maj. 13 caractres) : Numro de compte reporting JO_Num (Chane de caractres 6 caractres max) : Code Journal Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. DevSolde (Double) : Solde en devise RealisationBudg (BD_Num, Deb, Fin, Resultat) Cette fonction permet de calculer la ralisation budgtaire connaissant le code budget, la date de dbut de priode et la date de fin de priode. Les champs Deb et Fin peuvent tre vide, alors que BD_Num doit obligatoirement avoir une valeur non nulle. En Entre BD_Num (Chane Alphanumrique Maj. 13 caractres max) : Numro budgtaire Deb (Chane de caractres au format jjmmaa) : Date de dbut Fin (Chane de caractres au format jjmmaa) : Date de fin En Sortie Err (Entier) : Code erreur retourn par la fonction. Realisation (Reel) : Ralisation budgtaire JournalNouvPiece (JO_Num, JM_Date, Resultat ) Cette fonction permet de calculer le nouveau numro de pice en saisie dun journal dfini par son code journal JO_Num et sa priode JM_Date. En Entre JO_Num (Chane Alphanumrique Maj. 7 caractres max) : Code journal JM_Date (Chane de caractres au format jjmmaa) : Date de dbut En Sortie Err (Entier) : Code erreur retourn par la fonction. Resultat (Chane de caractres) : Numro de pice

Description des fonctions avances de la Gestion Commerciale


CIALLigneMontantHT (DL_No, Resultat) Calcul du montant HT pour une ligne de document. Ce champ est prsent pour un souci de compatibilit avec les versions prcdentes du driver ODBC. A partir de la version 11.00, le HT est stock la ligne de document (champ DL_MontantHT). Il est prfrable dutiliser le champ DL_MontantHT pour vos dveloppements futurs.

Sage

28

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre DL_NO (Entier long): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du HT. Err (Entier) : Code erreur retourn par la fonction. CIALLigneMontantTTC (DL_No, Resultat) Calcul du montant TTC pour une ligne de document. Ce champ est prsent pour un souci de compatibilit avec les versions prcdentes du driver ODBC. A partir de la version 11, le TTC est stock la ligne de document (champ DL_MontantTTC). Il est prfrable dutiliser le champ DL_MontantTTC pour vos dveloppements futurs. En Entre DL_NO (Entier long): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du TTC. Err (Entier) : Code erreur retourn par la fonction. CIALLigneRemiseGlobal (DL_No, Resultat) Calcul du taux de remise global pour une ligne de document. En Entre DL_NO (Entier long): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du taux de remise global. Err (Entier) : Code erreur retourn par la fonction. CIALLignePrixUNet (DL_No, Resultat) Calcul du prix unitaire net pour une ligne de document. En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du prix unitaire net. Err (Entier) : Code erreur retourn par la fonction. CIALLignePrixUNetTTC (DL_No, Resultat) Calcul du prix unitaire net TTC pour une ligne de document. En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du prix unitaire net TTC.

Sage

29

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Err (Entier) : Code erreur retourn par la fonction. CIALLignePrixUNetDevise (DL_No, Resultat) Calcul du prix unitaire net en devise pour une ligne de document. En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Valeur du prix unitaire net en devise. Err (Entier) : Code erreur retourn par la fonction. CIALLigneMontantTaxes (DL_No, Resultat) Calcul du montant des taxes pour une ligne de document. En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Montant total des taxes. Err (Entier) : Code erreur retourn par la fonction. CIALLigneMontantHTSigne (DL_No, Resultat) Calcul du montant HT sign en fonction du type de document (positif ou ngatif). En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Montant HT sign. Err (Entier) : Code erreur retourn par la fonction. CIALLigneMontantTTCSigne (DL_No, Resultat) Calcul du montant TTC sign en fonction du type de document (positif ou ngatif). En Entre DL_NO (Entier): Numro interne de la ligne En Sortie Rsultat (Double): Montant TTC sign. Err (Entier) : Code erreur retourn par la fonction. CIALLigneQteSigne (DL_No, Resultat) Calcul de la quantit, signe en fonction du type de document (positif ou ngatif). En Entre DL_NO (Entier): Numro interne de la ligne

Sage

30

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double): Total quantit sign. Err (Entier) : Code erreur retourn par la fonction. Algorithme de calcul des quantits signes Si la rfrence article est vide ou remise de pied ou remise exceptionnelle alors 0 fin si Si domaine des ventes et le document nest pas un devis alors Si Type de document = Bon de livraison ou (type de document = facture et le type de pice livre = facture) alors -Quantit sinon si le type de document est une reprise alors Quantit sinon si le type de document est une facture et le type de pice livre est un bon de retour alors -Quantit sinon si le type de document est une archive alors -Quantit fin si sinon si domaine dachat alors Si Type de document = Bon de livraison ou (type de document = facture et le type de pice livre = facture) alors -Quantit sinon si le type de document est une reprise alors Quantit sinon si le type de document est une facture et le type de pice livre est un bon de retour alors -Quantit sinon si le type de document est une archive alors si le mouvement de stock est une entre ou une sortie alors Quantit fin si fin si sinon si le type de document est un mouvement dentre alors Quantit sinon si le type de document est un mouvement de sortie alors -Quantit sinon si (le type de document est un virement ou le type est un bon de fabrication) alors si le mouvement de stock est une sortie alors -Quantit sinon

Sage

31

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Quantit fin si sinon si le type de document est une archive alors si le mouvement de stock est une entre Quantit fin si fin si CIALDocTotalHT (DO_Type, DO_Piece, Resultat) Calcul du montant total HT pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant HT du document. Err (Entier) : Code erreur retourn par la fonction. CIALDocEscompte (DO_Type, DO_Piece, Resultat) Calcul du montant de lescompte pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Valeur de lescompte. Err (Entier) : Code erreur retourn par la fonction.

Sage

32

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

CIALDocTotalHTNet (DO_Type, DO_Piece, Resultat) Calcul du montant total HT net pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant HT net du document. Err (Entier) : Code erreur retourn par la fonction. CIALDocBaseTaxes (DO_Type, DO_Piece, Ntaxe, Resultat) Cette fonction permet de calculer la base de taxe pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document NTaxe (Entier): Numro de taxe En Sortie Rsultat (Double): Base de taxes. Err (Entier) : Code erreur retourn par la fonction. CIALDocMontantTaxes (DO_Type, DO_Piece, Ntaxe, Resultat) Calcul du montant des taxes pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document NTaxe (Entier): Numro de taxe En Sortie Rsultat (Double): Montant des taxes. Err (Entier) : Code erreur retourn par la fonction. CIALDocMontantTotalTaxes (DO_Type, DO_Piece, Resultat) Calcul du montant total des taxes pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document

Sage

33

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double): Montant total des taxes. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalTTC (DO_Type, DO_Piece, Resultat) Calcul du montant total TTC pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant TTC du document. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalPrixRevient (DO_Type, DO_Piece, Resultat) Calcul du prix de revient pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant du prix de revient pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalMarge (DO_Type, DO_Piece, Resultat) Cette fonction permet de calculer la marge pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Marge du document. Err (Entier) : Code erreur retourn par la fonction. CIALDocNetaPayer (DO_Type, DO_Piece, Resultat) Calcul du net payer pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant du net payer pour le document.

Sage

34

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Err (Entier) : Code erreur retourn par la fonction. CIALDocMontantEcheance (DO_Type, DO_Piece, Resultat) Calcul du montant chance pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En sortie Rsultat (Double): Montant chance pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocPoidsNet (DO_Type, DO_Piece, Resultat) Calcul du poids net pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Poids net pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocPoidsBrut (DO_Type, DO_Piece, Resultat) Calcul du poids brut pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Poids brut pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocQuantites (DO_Type, DO_Piece, Resultat) Calcul du total des quantits pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Total quantits pour le document. Err (Entier) : Code erreur retourn par la fonction.

Sage

35

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALDocQtesColisee (DO_Type, DO_Piece, Resultat) Calcul du total des quantits colises pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Total quantits pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalHTDev (DO_Type, DO_Piece, Resultat) Calcul du total HT en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Total HT en devise pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocEscompteDev (DO_Type, DO_Piece, Resultat) Cette fonction permet de calculer lescompte en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Total de lescompte en devise pour le document. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalHTNetDev (DO_Type, DO_Piece, Resultat) Calcul du total HT Net en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Total HT Net en devise pour le document. Err (Entier) : Code erreur retourn par la fonction.

Sage

36

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALDocMontantTaxesDev (DO_Type, DO_Piece, Ntaxe, Resultat) Calcul du montant des taxes en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document NTaxe (Entier): Numro de taxe En Sortie Rsultat (Double): Montant des taxes en devise. Err (Entier) : Code erreur retourn par la fonction. CIALDocMontantTotalTaxesDev (DO_Type, DO_Piece, Resultat) Calcul du montant total des taxes en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant total des taxes en devise. Err (Entier) : Code erreur retourn par la fonction. CIALDocTotalTTCDev (DO_Type, DO_Piece, Resultat) Calcul du montant total TTC en devise pour le document dfini par son type et son numro de pice. En Entre DO_Type (Entier): Type de document DO_Piece (Chane de caractres): Numro de pice du document En Sortie Rsultat (Double): Montant TTC en devise du document. Err (Entier) : Code erreur retourn par la fonction. CIALDocNouvPiece (DO_Type, DO_Souche, Resultat) Fonction retournant le prochain numro de document disponible, en fonction du numro de souche du document. En Entre DO_Type (Entier): Type de document DO_Souche (Entier) : Numro de souche du document En Sortie Rsultat (Chane de caractres): Nouveau numro de document. Err (Entier) : Code erreur retourn par la fonction.

Sage

37

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALDocNouvPiece2 (DO_Type, DO_Souche, DO_Provenance Resultat) Fonction retournant le prochain numro de document disponible, en fonction du numro de souche du document. En Entre DO_Type (Entier): Type de document DO_Souche (Entier) : Numro de souche du document DO_Provenance (Entier) : Provenance du document En Sortie Rsultat (Chane de caractres): Nouveau numro de document. Err (Entier) : Code erreur retourn par la fonction. CIALTiersCAHTBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : CA HT Brut. Err (Entier) : Code erreur retourn par la fonction. CIALTiersCAHTNet (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Net pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : CA HT Net. Err (Entier) : Code erreur retourn par la fonction.

Sage

38

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALTiersCATTC (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA TTC pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : CA HT Brut. Err (Entier) : Code erreur retourn par la fonction. CIALTiersPrixRevient (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du Prix de revient pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Prix de revient. Err (Entier) : Code erreur retourn par la fonction. CIALTiersQuantites (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total quantits pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

Sage

39

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double) : Total Quantits pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersQtesColisee (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total quantits colises pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur les toutes dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total Quantits colises pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersPoidsNet (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du poids net pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids net pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersPoidsBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du poids brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut.
40

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids brut pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersMarge (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Cette fonction permet de calculer la marge pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total de la Marge pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersRemise (CT_Num, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Cette fonction permet de calculer le pourcentage de remise pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres :17 maximum) : Client ou fournisseur Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Calcul du pourcentage de remise pour le tiers. Err (Entier) : Code erreur retourn par la fonction. CIALTiersSolde(CT_Num, Resultat) Cette fonction permet de calculer le solde la date systme (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur

Sage

41

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double): Solde. Err (Entier) : Code erreur retourn par la fonction. CIALTiersEchus1(CT_Num, Resultat) Cette fonction permet de calculer le solde chus 1 mois (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Solde chus 1 mois. Err (Entier) : Code erreur retourn par la fonction. CIALTiersEchus2(CT_Num, Resultat) Cette fonction permet de calculer le solde chus 2 mois (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Solde chus 2 mois. Err (Entier) : Code erreur retourn par la fonction. CIALTiersEchus3(CT_Num, Resultat) Cette fonction permet de calculer le solde chus 3 mois (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Solde chus 3 mois. Err (Entier) : Code erreur retourn par la fonction. CIALTiersNonEchus(CT_Num, Resultat) Cette fonction permet de calculer le solde non chus (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Solde non chus. Err (Entier) : Code erreur retourn par la fonction.

Sage

42

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

CIALTiersDepassement1(CT_Num, Resultat) Cette fonction permet de calculer le dpassement (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Dpassement. Err (Entier) : Code erreur retourn par la fonction. CIALTiersDepassement2(CT_Num, Resultat) Cette fonction permet de calculer le dpassement (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM(Chane de caractres :17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Dpassement. Err (Entier) : Code erreur retourn par la fonction. CIALTiersBLFA(CT_Num, Resultat) Cette fonction permet de calculer le portefeuille BL et BA (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Portefeuille BL et BA. Err (Entier) : Code erreur retourn par la fonction. CIALTiersRisque(CT_Num, Resultat) Cette fonction permet de calculer le risque rel (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Risque rel. Err (Entier) : Code erreur retourn par la fonction.

Sage

43

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALTiersBC(CT_Num, Resultat) Cette fonction permet de calculer le portefeuille BC (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Double): Portefeuille BC. Err (Entier) : Code erreur retourn par la fonction. CIALTiersFact(CT_Num, Resultat) Cette fonction permet de calculer la date de la dernire facture (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Date): Date de la dernire facture. Err (Entier) : Code erreur retourn par la fonction. CIALTiersRegl(CT_Num, Resultat) Cette fonction permet de calculer la date de dernier rglement (volet solvabilit de la fiche Tiers de la Gestion Commerciale). En Entre CT_NUM (Chane de caractres : 17 maximum): Client ou fournisseur En Sortie Rsultat (Date): Date de la dernire facture. Err (Entier) : Code erreur retourn par la fonction. CIALArtCAHTBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Brut pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut.

Sage

44

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Brut pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtCAHTNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Net pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Net pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtCATTC (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA TTC pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

Sage

45

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double) : Total du CA TTC pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtRemise (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du taux de remise moyen pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Ch ane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du taux de remise moyen pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtPrixRevient (AR_R ef, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat)

Calcul du total prix de revient pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du Prix de revient pour larticle. Err (Entier) : Code erreur retourn par la fonction.
46

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALArtMarge (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Cette fonction permet de calculer la Marge pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Marge pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtQuantites (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total quantits pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total quantits pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtQtesColisee (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total quantit colise pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document.

Sage

47

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total quantit colise pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtPoidsNet (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids net pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids net pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtPoidsBrut (AR_Ref, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids brut pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article

Sage

48

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids brut pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtMarge (AR_REF, CT_NumA, CT_NumDe, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul de la marge pour larticle dfini par sa rfrence article AR_Ref, avec une slection sur le tiers, la priode et sur le type de document. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Marge pour larticle. Err (Entier) : Code erreur retourn par la fonction. CIALArtCompteA (AR_Ref, Domaine, CatCompta, Resultat) Calcul de la section analytique, pour un article, une catgorie comptable et un domaine (Vente, Achat, Stock). En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock CatCompta (Entier) : Catgorie comptable

Sage

49

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Chane de caractres ) : Section analytique Err (Entier) : Code erreur retourn par la fonction. CIALArtCompteG (AR_Ref, Domaine, CatCompta, Resultat) Calcul du compte gnral, pour un article, une catgorie comptable et un domaine (Vente, Achat, Stock). En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock CatCompta (Entier) : Catgorie comptable En Sortie Rsultat (Chane de caractres ) : Compte gnral Err (Entier) : Code erreur retourn par la fonction. CIALArtTaxe1 (AR_Ref, Domaine, CatCompta, Resultat) Calcul du compte de taxe 1 , pour un article, une catgorie comptable et un domaine (Vente, Achat, Stock). En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock CatCompta (Entier) : Catgorie comptable En Sortie Rsultat (Chane de caractres ) : Compte de taxe 1 Err (Entier) : Code erreur retourn par la fonction. CIALArtTaxe2 (AR_Ref, Domaine, CatCompta, Resultat) Calcul du compte de taxe 2, pour un article, une catgorie comptable et un domaine (Vente, Achat, Stock). En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock CatCompta (Entier) : Catgorie comptable En Sortie Rsultat (Chane de caractres ) : Compte de taxe 2 Err (Entier) : Code erreur retourn par la fonction. CIALArtTaxe3 (AR_Ref, Domaine, CatCompta, Resultat) Calcul du compte de taxe 3, pour un article, une catgorie comptable et un domaine (Vente, Achat, Stock).

Sage

50

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article Domaine (Entier) : 0=Vente, 1=Achat, 2=Stock CatCompta (Entier) : Catgorie comptable En Sortie Rsultat (Chane de caractres ) : Compte de taxe 3 Err (Entier) : Code erreur retourn par la fonction. CIALArtPrixCat (AR_Ref, CatTarif, AG_No1, Ag_No2, Resultat) Calcul du prix de vente pour larticle, la catgorie tarifaire et les gamme 1 et gamme 2 respectivement dfinis par AR_REF, CatTarif, AG_NO1 et AG_NO2. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CatTarif (Entier) : Catgorie tarifaire (1 32) AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur 0 AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la valeur 0 En Sortie Rsultat (Double ) : Prix de vente Err (Entier) : Code erreur retourn par la fonction. CIALArtCoefCat (AR_Ref, CatTarif, Resultat) Calcul du coefficient pour larticle, la catgorie tarifaire respectivement dfinis par AR_REF et CatTarif,. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CatTarif (Entier) : Catgorie tarifaire (1 32) En Sortie Rsultat (Double ) : Coefficient Err (Entier) : Code erreur retourn par la fonction. CIALArtPrixClient (AR_Ref, CT_Num, CatTarif, AG_No1, AG_No2, Resultat) Calcul du prix de vente pour larticle, le tiers, la catgorie tarifaire et les gamme 1 et gamme 2 respectivement dfinis par AR_REF, CT_NUM, CatTarif, AG_NO1 et AG_NO2. Si le tiers nexiste pas, le prix est calcul par rapport la catgorie tarifaire CatTarif En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NUM (Chane de caractres :17 maximum) : Client CatTarif (Entier) : Catgorie tarifaire (1 32) AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur 0
51

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la valeur 0 En Sortie Rsultat (Double ) : Prix de vente Err (Entier) : Code erreur retourn par la fonction. CIALArtCoefClient (AR_Ref, CT_Num, CatTarif, Resultat) Calcul du coefficient pour larticle, le tiers, la catgorie tarifaire respectivement dfinis par AR_REF, CT_NUM et CatTarif,. En Entre AR_Ref (Chane de caractres :18 maximum) : Rfrence article CT_NUM (Chane de caractres :17 maximum) : Client CatTarif (Entier) : Catgorie tarifaire (1 32) En Sortie Rsultat (Double ) : Coefficient Err (Entier) : Code erreur retourn par la fonction. CIALArtPrixFourniss(AR_Ref, CT_Num, AG_NO1, AG_NO2, Resultat) Calcul du prix dachat pour le fournisseur CT_Num de larticle AR_Ref. En Entre AR_Ref(Chane de caractres :18 maximum): Rfrence article CT_NUM (Chane de caractres :17 maximum): Client AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur 0 AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la valeur 0 En Sortie Rsultat (Double ): Coefficient CIALFamCAHTBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Brut pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin.

Sage

52

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Brut pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamCAHTNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Net pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Net pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamCATTC (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA TTC pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE

Sage

53

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA TTC pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamRemise (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du taux de remise moyen pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du taux de remise moyen pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamPrixRevient (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total prix de revient pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

Sage

54

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double) : Total du Prix de revient pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamMarge (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Cette fonction permet de calculer la Marge pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Marge pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamQuantites (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total des quantits pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total quantits pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction.
55

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALFamQtesColisee (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total quantit colise pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :18 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total quantit colise pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALFamPoidsNet (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids net pour la famille dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids net pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction.

Sage

56

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALFamPoidsBrut (Fa_CodeFamille, CT_NumDe, CT_NumA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids brut pour la famille darticles dfinie par son code famille, avec une slection sur le tiers, la priode et sur le type de document. En Entre Fa_CodeFamille (Chane de caractres :10 maximum) : Code Famille CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids brut pour la famille darticles. Err (Entier) : Code erreur retourn par la fonction. CIALRepCAHTBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Brut pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut.
57

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Brut pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepCAHTNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA HT Net pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA HT Net pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepCATTC (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du CA TTC pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant

Sage

58

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du CA TTC pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepRemise (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du taux de remise moyen pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA)

Sage

59

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du taux de remise moyen pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepPrixRevient (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total prix de revient pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total du Prix de revient pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction.

Sage

60

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CIALRepMarge (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Cette fonction permet de calculer la Marge pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Marge pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepQuantites (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total des quantits pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA)

Sage

61

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu' la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total quantits pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepQtesColisee (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total des quantits colises pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE

Sage

62

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Sortie Rsultat (Double) : Total quantit colise pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepPoidsNet (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids net pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA) CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids net pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALRepPoidsBrut (RE_No, CT_NumDe, CT_NumA, AR_RefDe, AR_RefA, FA_CodeFamilleDe, FA_CodeFamilleA, Debut, Fin, TypeDocDe, TypeDocA, Resultat) Calcul du total poids brut pour le reprsentant dfini par son numro RE_No, avec une slection sur le tiers, larticle, la famille, la priode et sur le type de document. En Entre RE_No (Entier long) : Numro reprsentant CT_NumDe (Chane de caractres :17 maximum) : Client ou fournisseur (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les Tiers jusqu'au Tiers (CT_NumA)

Sage

63

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions CT_NumA (Chane de caractres :17 maximum) : Client ou fournisseur (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les Tiers partir du Tiers (CT_NumDe) AR_RefDe (Chane de caractres :18 maximum) : Rfrence article (Borne infrieure) ; si la chane est vide alors la slection porte sur tous les articles jusqu' larticle (AR_RefA) AR_RefA (Chane de caractres :18 maximum) : Rfrence article (Borne suprieure) ; si la chane est vide alors la slection porte sur tous les articles partir de larticle (AR_RefDe) Fa_CodeFamilleDe (Chane de caractres :10 maximum) : Code Famille (Borne infrieure) ; si la chane est vide alors la slection porte sur toutes les familles jusqu' la famille (Fa_CodeFamilleA) Fa_CodeFamilleA (Chane de caractres :10 maximum) : Code Famille (Borne suprieure) ; si la chane est vide alors la slection porte sur toutes les familles partir de la famille (Fa_CodeFamilleDe) Debut (Chane de caractres au format jjmmaa) : Date de dbut ; si la chane est vide alors la slection porte sur toutes les dates jusqu la date de fin. Fin (Chane de caractres au format jjmmaa) : Date de fin ; si la chane est vide alors la slection porte sur toutes les dates partir de la date de dbut. TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat (Double) : Total poids brut pour le reprsentant. Err (Entier) : Code erreur retourn par la fonction. CIALStockVal(DE_No, AR_Ref, AG_No1, AG_No2, Date, Resultat) Calcul de la valeur en stock la date DATE. En Entre DE_No(Entier Long): Numro interne du dpt AR_Ref(Chane de caractres :18 maximum): Rfrence article AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur 0 AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la valeur 0 Date (Date): Calcul de la valeur en stock jusqu' cette date. En Sortie Rsultat (Double ) : Valeur en stock Err (Entier) : Code erreur retourn par la fonction. CIALStockQte(DE_No, AR_Ref, AG_No1, AG_No2, Date, Resultat) Calcul de la quantit en stock la date DATE. En Entre DE_No(Entier Long): Numro interne du dpt AR_Ref(Chane de caractres :18 maximum): Rfrence article AG_No1 : Numro interne de lnumr de gamme 1 ; si larticle na pas de gamme, mettre la valeur 0
64

Sage

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions AG_No2 : Numro interne de lnumr de gamme 2 ; si larticle nest pas double gamme, mettre la valeur 0 Date (Date): Calcul de la quantit en stock jusqu' cette date. En Sortie Rsultat (Double ) : Quantit en stock Err (Entier) : Code erreur retourn par la fonction. GetParamValeurStr (TypeBase, NomTable, NomChamp, Resultat) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat (Chane de caractres) : Valeur du champ Err (Entier) : Code erreur retourn par la fonction. GetParamValeurDbl (TypeBase, NomTable, NomChamp, Resultat) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDbl retourne la valeur de type double, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurDbl retourne la valeur en double, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat (Double) : Valeur du champ

Sage

65

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions Err (Entier) : Code erreur retourn par la fonction. GetParamValeurEnt (TypeBase, NomTable, NomChamp, Resultat) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurEnt retourne la valeur en entier long, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurEnt retourne la valeur en Entier long, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat (Entier) : Valeur du champ Err (Entier) : Code erreur retourn par la fonction. GetParamValeurDate (TypeBase, NomTable, NomChamp, Resultat) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDate retourne la valeur en chane de caractres au format jjmmaa, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurDate retourne la valeur en chane de caractres au format jjmmaa, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres ) : Type de la base :CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) NomTable (Chane de caractres ) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat (Chane de caractres : format jjmmaa) : Valeur du champ Err (Entier) : Code erreur retourn par la fonction. GetParamReplication (TypeBase, Resultat) Retourne le numro de rplication de la base dfinie par TypeBase.

Sage

66

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre TypeBase (Chane de caractres ) : Type de la base : CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) En Sortie Rsultat (Entier) : Valeur du champ Err (Entier) : Code erreur retourn par la fonction. GetParamType (TypeBase, Fichier, Field, Resultat) Retourne le type du champ Field de la table Fichier : Type calcul : valeur = 2 Type Extra : valeur = 3 Type Information libre : valeur = 4 Type Standard : valeur = 0

En Entre TypeBase (Chane de caractres ) : Type de la base : CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) Fichier (Chane de caractres) : Nom de la table Field (Chane de carctres) : Nom du champ En Sortie Rsultat (Entier) : Valeur du champ Err (Entier) : Code erreur retourn par la fonction.

Description des fonctions avances de la Paie Maestria Windows


FSalCumul (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul Born pour le salari SAL_Num de la rubrique RB_Num, sur la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction. FSALCumulbase (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Montant base de la rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin.

Sage

67

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction. FSALCumulCotPat (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Cotisation Patronale de la rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction. FSALCumulRes (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Gain ou Retenue de la rubrique RB_Num si la Qualit de cette rubrique est Gain dans le premier cas ou Dduction ou Cotisation dans le second, pour la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction.

Sage

68

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions FSALCumulTaux (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Nombre Taux de la rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction. FSALCumulTauxPat (SA_Num, RB_Num, Debut, Fin, Resultat) Calcul du Cumul pour le salari SAL_Num, de la valeur affecte la colonne Taux Patronal de la rubrique RB_Num, pour la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Chane de caractres) : Date de dbut ; Si Dbut= alors Dbut=P_SDOSSIER.SD_DebutExo (Date de dbut de lexercice courant) Fin (Chane de caractres) : Date de Fin ; Si Fin= alors Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat (Double) : Valeur du Cumul. Err (Entier) : Code erreur retourn par la fonction.

Sage

69

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Description des objets de lActiveX Sage


Introduction
Un composant ActiveX est une unit de code excutable qui suit la spcification ActiveX dans le but de fournir des objets. Ces objets sont utilisables par tous les logiciels de dveloppement capables dutiliser cette technologie (Visual Basic, Delphi etc...). Lintrt dutiliser une DLL activeX pour les fonctions volues est multiple : Manipulation dun objet avec des proprits Plus besoin de dclarer lensemble des fonctions volues Facilit dutilisation Possibilit dutilisation dans Microsoft Visual Interdev pour dvelopper des applications Intranet ou Internet

Principe dutilisation de LActiveX Sage


La DLL ActiveX est ASD100.DLL (Active Sage Data 100). Cette DLL est stocke dans Windows\System. A lintrieur de cette DLL sont stockes lensemble des fonctions volues. Cette DLL est compose de 4 objets : CPTA : fonctions volues de la comptabilit 100 CIAL : fonctions volues de la gestion commerciale 100 FSAL : fonctions volues de la paie Maestria PARAM : fonctions paramtres

Chaque objet expose ses proprits, qui sont les fonctions volues du driver Sage ODBC. Contrairement aux fonctions volues qui retournent un code erreur, chaque proprit de lobjet retourne le rsultat. Le code erreur retourn par la fonction est rcuprable par la proprit Erreur. Le format date nest plus une chane de caractres (cf : API Sage), mais bel et bien un format date de lapplication. Ces objets ne sont utilisables que si une connexion a t effectue auparavant avec la base concerne. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. Vous trouverez ci-dessous quelques exemples de proprits de lACTIVE X ASD100. Ces proprits sont les mmes que les fonctions dcrites ci-dessus, exceptes quelles retournent donc le rsultat et non plus le code erreur et que le nom des proprits de lobjet CIAL ne commence plus par CIAL.

Sage

70

Chapitre 2 Fonctions avances et DLL Active X : dclaration des fonctions

Exemple de Proprits de lobjet CPTA (base comptable)


TotalMvtDebit (CG_Num, CT_Num, JO_Num, Deb, Fin) Cette fonction permet de calculer le total des mouvements dbit connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral. CT_Num (Chane Alphanumrique Maj. 17 caractres max.) : Numro de compte tiers. JO_Num (Chane de caractres 6 caractres max.) : Code Journal. Deb (Date) : Date de dbut. Fin (Date) : Date de fin. En Sortie Rsultat de la proprit (Double) : Total du mouvement dbit.

Exemple de proprits de lobjet CIAL (Gestion Commerciale)


LigneMontantHT (DL_No) Calcul du montant HT pour une ligne de document. En Entre DL_NO (Entier long) : Numro interne de la ligne En Sortie Rsultat de la proprit (Double) : Valeur du HT. TiersCAHTBrut (CT_Num, Debut, Fin, TypeDocDe, TypeDocA) Calcul du CA HT Brut pour le client ou fournisseur CT_NUM, avec une slection sur la priode et sur le type de document. En Entre CT_NUM (Chane de caractres: 17 maximum) : Client ou fournisseur Debut (Date) : Date de dbut . Fin (Date) : Date de fin . TypeDocDe (Entier) : Type de document (borne infrieure) ; valeur dans DO_TYPE TypeDocA (Entier) : Type de document (borne suprieure) ; valeur dans DO_TYPE En Sortie Rsultat de la proprit (Double) : CA HT Brut.

Sage

71

Les champs Debut et Fin sont bien des champs de type DATE contrairement aux fonctions volues o le type tait une chane de cractres au format jjmmaa . Ce sera le cas pour tous les champs de type DATE.

Proprits de lobjet Param (pages paramtres)


Ce sont toutes les proprits du type GETPARAMVALEUR* , dont voici un exemple. GetParamValeurStr (TypeBase, NomTable, NomChamp) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurStr retourne la valeur en chane de caractres, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres) : Type de la base : CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre), IMO (Base Immobilisation) NomTable (Chane de caractres) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat de la proprit (Chane de caractres) : Valeur du champ

Proprits de lobjet Fsal (la paie Maestria Windows)


FSalCumul (SA_Num, RB_Num, Debut, Fin) Calcul du Cumul Born pour le salari SAL_Num de la rubrique RB_Num, sur la priode comprise entre date de dbut et date de fin. En Entre SA_Num (Chane Alpha Maj 5 car max) : Numro du salari RB_Num (Chane Alphanum en Maj 5 car max) : Numro de la rubrique Debut (Date) : Date de dbut. Fin (Chane de caractres) : Date de Fin ; Fin=P_SDOSSIER.SD_FinExo (Date de Fin de lexercice courant) En Sortie Rsultat de la proprit (Double) : Valeur du Cumul.

Sage

72

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Chapitre 3 Description des exemples fournis avec le Kit ODBC


Base Exemple ACC2000EX.MDB sous Microsoft Access 2000 ______ 74 Introduction...................................................................... 74 Contenu de la base ACC2000EX.MDB......................................... 74 Base de Donnes ODBCNEW2000.MDB sous Microsoft Access 2000 ________________________________________________ 77 Contenu de la base de donnes............................................... 77 Utilisation des formulaires fournis ........................................... 77 Fichier Exemple Exc2000odbc.xls sous Microsoft Excel 2000 ............ 78 Etat CompteT.rpt sous Crystal Reports 9.0 ................................. 78

Sage

73

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Base Exemple ACC2000EX.MDB sous Microsoft Access 2000


Introduction
La base ACC2000EX.MDB a t dveloppe sous Microsoft Access. Elle permet dune part, de comprendre la structure des bases de donnes Sage 100, et dautre part, de voir ce quon peut rellement faire avec Sage 100 Kit ODBC (Lecture, criture, fonctions avances).

Contenu de la base ACC2000EX.MDB


Cette base utilise respectivement la base comptable C_BIJOU.MAE et la base commerciale G_BIJOU.GCM. Vous trouverez ci-dessous le contenu dtaill de cette base. Au lancement de cette base, les diffrents menus vous donnent le choix entre : Visualisation de tous les Champs des tables de la base, Etat : Annuaire Client, Etat : Palmars Client, Etat : Grand Livre Tiers, Etat : Distribution Analytique, Etat : Balance des comptes, Etat : Mouvements Articles, Etat : Tarifs par catgorie tarifaire, Exemple dcriture dans un journal via un formulaire de saisie, Exemple dcriture dans un document des ventes, via un formulaire de saisie, Utilisation des fonctions avances de Comptabilit et de Gestion Commerciale, Exemple de gnration automatique de documents de Vente, Achat, Stock avec chacun 10 lignes de document. Les articles sont pris alatoirement dans la base, Exemple de gnration alatoire darticles, Exemple de gnration alatoire dcritures comptables via un modle de saisie.

Pour excuter chacune de ces options, cliquez sur loption du menu correspondant. Les formulaires et tats sexcuteront. Visualisation de tous les Champs des tables de la Base Ce formulaire vous permet de visualiser tous les champs des tables de la base ouverte, avec leurs types de donnes (entier, rel et texte) et leurs longueurs pour les champs de type Texte. Etat : Annuaire Client Cet tat vous permet dobtenir pour chaque client : son Code Client, son libell, son adresse, sa ville, son premier numro de tlphone et son premier numro de tlcopie. Etat : Palmars Client Cet tat vous permet dobtenir pour chaque client, dont on connat le code client, son libell et sa ville, le Chiffre dAffaires TTC, le pourcentage du Chiffre dAffaires TTC par

Sage

74

Chapitre 3 Description des exemples fournis avec le Kit ODBC rapport au total, le pourcentage cumul du Chiffre dAffaires et enfin le Palmars du client. Le Chiffre dAffaires TTC est calcul en additionnant toutes les critures comptables des clients dont le type de journal est uniquement de Vente. Etat : Grand Livre Tiers Le Grand-livre des tiers existe dj dans la Comptabilit. Il permet dobtenir pour chaque tiers le dtail de ses critures comptables, avec la date de lcriture, le code journal, le n de pice, le libell de lcriture, le montant de lcriture en dbit ou en crdit et le solde progressif ainsi quun total des critures par tiers. Etat : Distribution Analytique Cet tat vous permet dobtenir pour chaque compte gnral, le dtail des critures analytiques pour ce compte et une rpartition de ses critures suivant trois fourchettes de sections analytiques possibles. Les fourchettes de sections analytiques seront saisies dans un formulaire. Le plan analytique est fix au premier (dans notre exemple, ce sera Activit).Vous avez la possibilit de trois fourchettes possibles dont les valeurs sont slectionner dans une liste pour chacune. Etat : balance des comptes Cet tat vous permet dobtenir pour une priode donne et pour chaque compte gnral, le total des mouvements Dbit et Crdit ainsi que les soldes correspondants. Etat : Mouvements articles Cet tat vous permet dobtenir pour chaque article, les quantits achetes, mouvementes en stock, vendues et le solde progressif, lensemble chelonn par mois. Etat : tarifs par catgorie tarifaire Cet tat vous permet dobtenir pour chaque article, le prix de vente pour chaque catgorie tarifaire dfinie en colonne. Un maximum de 4 catgories tarifaires est autoris. Exemple dcriture dans un journal Cet exemple permet de comprendre comment fonctionne l'criture dans les bases de donnes Sage 100 Windows au travers d'un exemple d'criture dans un journal. On peut crer ou modifier une criture existante. Exemple dcriture dans un Document de vente Cet exemple permet de comprendre comment fonctionne l'criture dans les bases de donnes Sage 100 Windows au travers d'un exemple d'criture dans un document de vente. On peut, au travers de cet exemple crer un document de vente, crer ou modifier des lignes dans ce document. Utilisation des fonctions avances de Comptabilit et de Gestion Commerciale Ces formulaires permettent de comprendre le fonctionnement et l'utilisation des fonctions avances de comptabilit et de gestion commerciale.

Sage

75

Chapitre 3 Description des exemples fournis avec le Kit ODBC Exemple de gnration automatique de documents en gestion commerciale Cet exemple permet de gnrer automatiquement des documents de tous les types avec chacun 10 lignes gnres avec des articles choisis de faon alatoire dans la base (criture dans F_DOCENTETE et F_DOCLIGNE). Cet exemple permet surtout de comprendre quels sont les champs renseigner en insertion et les valeurs par dfaut utilises par lapplication (rcupration dinformations de larticle ou du tiers par exemple). Le code nest pas protg. Il vous est donc facile de comprendre comment ces lignes ont t gnres. Exemple de gnration automatique darticles Cet exemple permet de gnrer automatiquement des articles de faon alatoire avec gnration de valeurs par dfaut dans les autres tables lies aux articles. Ces valeurs par dfaut sont celles gnres par lapplication Gestion commerciale 100 en cration dun nouvel article. Exemple de gnration automatique dcritures comptables Cet exemple permet de gnrer automatiquement des critures comptables dans un journal de Vente, et ce pour toutes les priodes via un modle de saisie prdfini.

Sage

76

Chapitre 3 Description des exemples fournis avec le Kit ODBC

Base de Donnes ODBCNEW2000.MDB sous Microsoft Access 2000


Contenu de la base de donnes
La base de donnes ODBCNEW2000.MDB fournie avec Sage 100 Kit ODBC peut vous servir de modle pour la cration dune nouvelle base utilisant vos propres sources de donnes Sage. Le formulaire Cration Relations Entre les Tables permet la cration automatique des jointures entre les tables Sage 100 Windows de votre base de donnes Microsoft Access. Le formulaire Visualisation des Champs de la Base permet de visualiser comme dans les bases Exemple, tous les champs des tables de votre base. Le formulaire Descriptif Champs Tables permet de crer le descriptif de chaque champ ODBC de votre base (indique le nom en clair des champs).
Vous allez utiliser cette base pour votre utilisation personnelle. Il est fortement conseill den faire une copie et de renommer cette nouvelle base sous le nom de votre choix (*.MDB) et utiliser alors cette base personnalise.

Vous pourrez alors reprendre ODBCNEW2000.MDB lorsque vous recrerez une nouvelle base sur des donnes Sage. La procdure sera identique ce qui est dcrit ci-dessus.

Utilisation des formulaires fournis


Vous venez dattacher vos tables. Les formulaires fournis pourront vous aider pour la cration de requtes et dtats. Aide la cration de requtes et tats Le formulaire Creation Relations Entre les Tables cre automatiquement les diffrentes relations entre les tables de votre base Sage 100. Pour cela ouvrez le formulaire Creation Relations Entre les Tables et cliquez sur le bouton, ce qui crera les bonnes relations. Ces relations seront stockes dans la base et elles seront prsentes lors de chaque utilisation de votre base. Ces relations sont visibles, dune part dans la fentre des relations et, dautre part lorsque vous crez une nouvelle requte et que vous slectionnez des tables. Il est noter que lorsque vous activez ce formulaire et appuyez sur le bouton pour lancer la cration des relations, sil existe dj des relations, celles ci seront dtruites. Cela vite ainsi les mauvaises relations, source derreur. Aussi, sil vous arrivait de supprimer certaines relations et que vous vouliez les recrer, il vous suffirait de relancer ce formulaire.
Lorsque vous crez des requtes et que vous slectionnez deux tables avec des relations (jointures) entre elles, celles-ci saffichent alors lcran.

Nanmoins, certaines jointures possdent des critres supplmentaires pour tre valides. Par exemple F_COMPTEG et F_ECRITUREC, respectivement table des comptes gnraux et table des critures comptables, ont la jointure suivante. F_COMPTEG.CG_NUM = F_ECRITUREC.CG_NUM avec CG_TYPE = 0 (Type dtail) (lien sur les comptes gnraux avec type dtail) Dans ce cas, si vous slectionnez ces tables, le lien entre CG_NUM sera cr, mais il faudra slectionner le champ CG_TYPE et mettre 0 dans sa zone critre. Vous ferez de mme pour les autres jointures possdant des critres particuliers. Pour cela, reportez-vous la partie expliquant les jointures entre les tables des bases de donnes Sage 100.

Sage

77

Chapitre 3 Description des exemples fournis avec le Kit ODBC Visualisation des champs de toutes les tables de votre base Il vous sera peut tre utile de visualiser pour chaque table, le nom de ces champs associs. Ce formulaire vous permettra de le faire. Ouvrer le formulaire Visualisation des Champs de la Base
Le formulaire Tables_champs est utilis quant lui par le formulaire prcdent. Ne lactivez donc pas avant celui-ci sous risque derreur.

Fichier Exemple Exc2000odbc.xls sous Microsoft Excel 2000


Contenu de cet exemple Ce classeur contient plusieurs feuillets Un menu principal dans la feuille Prsentation, vous permet d'excuter certaines requtes et fonctions Visual Basic de ce classeur. Vous pouvez visualiser la source correspondant chaque bouton et peut tre vous en inspirer pour d'ventuels dveloppements avec Microsoft Excel 97 et Visual Basic pour applications (VBA). Les exemples utilisent les bases Bijou.

Etat CompteT.rpt sous Crystal Reports 9.0


Contenu de cet exemple Ce rapport est un grand livre des Tiers bas sur les donnes de la comptabilit.

Sage

78

Annexe 1 Rappel sur le langage SQL

Annexe 1 Rappel sur le langage SQL


Remarques gnrales ___________________________________ 80 Ajout dun enregistrement .................................................... 80 Modification denregistrements .............................................. 80 Suppression dEnregistrements ............................................... 80 Exemples de requtes .......................................................... 80

Sage

79

Annexe 1 Rappel sur le langage SQL

Remarques gnrales
Utilisez les cotes pour spcifier une chane de caractres (pas les guillemets ""). Une date, au format SQL, se prsente sous la forme dune chane de caractres formate par des { }, du type {d AAAA-MM-JJ}, ou AAAA reprsente lanne, MM le mois, et JJ le jour. Le SQL fait la diffrence entre les majuscules et les minuscules sur les chanes de caractres. Rechercher le client Boby ne revient pas au mme que rechercher le client BOBY. Les commandes SQL peuvent tre tapes indiffremment en minuscules ou en majuscules.

Ajout dun enregistrement


Utilisation de la clause INSERT INTO. INSERT INTO F_CompteG (CG_Num, CG_Type, CG_Intitule, CG_Classement, N_Nature, CG_Saut) VALUES (411TOTO, 0, Compte Tiers TOTO, 411TOTO, 1, 1)
Les enregistrements sont ajouts un par un. Tous les champs de F_CompteG ne sont pas prsents dans cette requte dajout. Les champs (qui ne sont pas dfinis dans la requte) prendront la valeur par dfaut, savoir 0 pour tout ce qui est numrique, et pour tout ce qui est du type chane de caractres. Les dates ventuelles seront NULL.

Modification denregistrements
Utilisation de la clause UPDATE UPDATE F_CompteG SET CG_Classement = CLASS_01, CG_Saut = 2 WHERE N_Nature = 1 AND CG_Type = 0 Cette requte va modifier le classement et le saut de ligne de tous les comptes de tiers client qui sont du type dtail. Si vous ne dsirez modifier quun seul enregistrement, il faudra utiliser les champs qui permettent de rendre cet enregistrement unique, dans la clause WHERE.

Suppression dEnregistrements
Utilisation de la clause DELETE FROM. DELETE FROM F_CompteT WHERE CG_Num = 411TOTO AND CG_Type = 0 Tout comme la modification denregistrement, il est possible deffectuer une suppression en cascade, mais attention ne pas supprimer dautres enregistrements...

Exemples de requtes
Le driver ODBC permet lutilisation de fonctions oprant sur les chanes de caractres telles que LCASE ou UCASE, LEFT... afin de pouvoir rcuprer ou identifier plus facilement des enregistrements.

Sage

80

Annexe 1 Rappel sur le langage SQL Voici quelques requtes de slection utilisant la grammaire et les fonctions SQL volues gres par Sage 100 Kit ODBC. Exemple 1 Lister tous les articles qui nont pas t vendus et qui ne font pas partis dune nomenclature dun produit. Select F_Article.AR_Ref, Ucase (F_Article.AR_Design) From F_Article Where F_Article.AR_Ref NOT IN (Select F_DocLigne.AR_Ref From F_DocLigne Where (F_DocLigne.DO_Type Between 0 And 7)) And F_Article.AR_Ref NOT IN (Select F_NomenClat.NO_RefDet From F_Nomenclat) Order By F_Article.AR_Ref Exemple 2 Somme des dbits/crdits de tous les comptes fournisseurs pour lanne 1995. Select F_CompteT.CT_Intitule, Sum ( (EC_Montant * (1-EC_Sens))) AS SommeDebit, Sum ( (EC_Montant * EC_Sens)) AS SommeCredit From F_CompteT, F_EcritureC Group by F_CompteT.CT_Num, F_EcritureC.CT_Num, F_CompteT.CT_Intitule, Year (F_EcritureC.JM_Date), Left (F_EcritureC.CG_Num,3) Having ( (F_CompteT.CT_Num = F_EcritureC.CT_Num) And (Year (F_Ecriturec.JM_Date) = 1995) And (Left (F_EcritureC.CG_Num,3) = '411')) Order By LCase (F_CompteT.CT_Intitule) Exemple 3 Slection de tous les comptes de Tiers qui ont t associs, au moins une fois, une criture comptable dont le numro de compte gnral commence par 411, au cours du 1er trimestre 96. Select Distinct F_CompteT.CT_Num, F_CompteT.CT_Intitule from F_CompteT, F_EcritureC Where F_CompteT.CT_Num = F_EcritureC.CT_Num And (F_EcritureC.JM_Date Between {d 1996-01-01} and {d 1996-0301}) And F_EcritureC.CG_Num Like '411%'

Sage

81

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC


Grammaire SQL supporte par le driver _____________________83 Fonctions de la grammaire ODBC supportes par Sage 100 Kit ODBC ...83 Fonctions sur les chanes de caractres......................................83 Fonctions sur les dates..........................................................85 Fonctions systme ...............................................................87

Sage

82

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC

Grammaire SQL supporte par le driver


SELECT FROM WHERE GROUP BY HAVING ORDER BY BETWEEN IN OPERATION : MIN, MAX, SUM, AVG, COUNT UNION LEFT OUTER JOIN SOUS REQUETE

Fonctions de la grammaire ODBC supportes par Sage 100 Kit ODBC


Les fonctions suivantes font partie intgrante du driver ODBC 32 Bits. Vous pouvez les utiliser dans les requtes SQL Direct. Les requtes SQL Direct sont interprtes directement par le driver. Si vous utilisez Microsoft Access et les requtes graphiques, les fonctions ci-dessous ne fonctionneront pas. Microsoft Access possde en interne les mmes types de fonctions. Utilisez dans ce cas ses fonctions. Par contre, si vous utilisez du SQL Direct les fonctions ci-dessous fonctionneront. Les exemples ci-dessous sont tests avec Microsoft Query. Les requtes sont en effet directement interprtes par le driver.

Fonctions sur les chanes de caractres


CONCAT (Chane1, Chane2) Cette fonction concatne les chanes Chane1 et Chane2. Le rsultat est une chane. Exemple Exemple dutilisation avec Microsoft QUERY (Concatnation du champ CG_NUM et de la chane TEST . SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CONCAT (CG_NUM, TEST) CONCATENATION FROM F_COMPTEG F_COMPTEG LENGTH (CHAINE) Cette fonction retourne le nombre de caractres de la chane Chane. Le rsultat est un Entier. Exemple Exemple dutilisation avec Microsoft QUERY (Nombre de caractres de lintitul du compte gnral) SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LENGTH (CG_INTITULE) NB

Sage

83

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC FROM F_COMPTEG F_COMPTEG RIGHT (CHAINE, NB) Cette fonction retourne les NB caractres les plus droite de la chane CHAINE. Le rsultat est une chane. Exemple Exemple dutilisation avec Microsoft QUERY (Les 3 caractres les plus droite de lintitul du compte gnral) SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, RIGHT (CG_INTITULE, 3) 3CARDROITE FROM F_COMPTEG F_COMPTEG UCASE (CHAINE) Cette fonction met en majuscule tous les caractres de la chane CHAINE. Exemple Exemple dutilisation avec QUERY (Intitul du compte gnral en majuscule). SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, UCASE (CG_INTITULE) MAJUSCULE FROM F_COMPTEG F_COMPTEG LCASE (CHAINE) Cette fonction met en minuscule tous les caractres de la chane CHAINE. Exemple Exemple dutilisation avec QUERY (Compte gnral en minuscule). SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LCASE (CG_INTITULE) MINUSCULE FROM F_COMPTEG F_COMPTEG LOCATE (CHAINE1, CHAINE2, [START]) Cette fonction recherche la premire occurrence de la chaine CHAINE1 lintrieur de la chane CHAINE2. Si loption START est omise la recherche est effectue partir du premier caractre de la chane CHAINE2, sinon la recherche commence partir du START ime caractre de CHAINE2. Si le test choue la fonction retourne 0. Exemple Exemple dutilisation avec QUERY (Recherche du premier 0 dans le Compte gnral). SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LOCATE (0, CG_NUM) 0INCG_NUM FROM F_COMPTEG F_COMPTEG RTRIM (CHAINE) Cette fonction renvoie la chane CHAINE sans les blancs de dbut de chane. Exemple Exemple dutilisation avec QUERY. SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, RTRIM (TESTRTRIM ) TESTRTRIM FROM F_COMPTEG F_COMPTEG

Sage

84

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC LEFT (CHAINE, NB) Cette fonction renvoie les NB caractres les plus gauche de la chane CHAINE. Exemple Exemple dutilisation avec QUERY (les 3 caractres les plus gauche de lintitul du compte gnral). SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LEFT (CG_INTITULE, 3) 3 CARGAUCHE FROM F_COMPTEG F_COMPTEG LTRIM (CHAINE) Cette fonction renvoie la chane CHAINE sans les blancs de fin de chane. Exemple Exemple dutilisation avec QUERY (Enlever les blancs dans la chane TESTRTRIM SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, LTRIM ( TESTRTRIM) TESTRTRIM FROM F_COMPTEG F_COMPTEG SUBSTRING (CHAINE, DEBUT, LONG) Cette fonction retourne une chane drive de CHAINE commenant la position DEBUT et de LONG caractres. Exemple : SUBSTRING (TESTCHAINE, 7, 2)=AI Exemple Exemple dutilisation avec QUERY : SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, SUBSTRING (CG_INTITULE, 4, 2) SUBSTRING FROM F_COMPTEG F_COMPTEG Fonction numrique MOD (ENTIER1, ENTIER2) Cette fonction retourne le reste modulo de la division de ENTIER1 par ENTIER2. Exemple Exemple dutilisation avec QUERY (Reste module de 10 / 6, soit 4) SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, MOD (10, 6) MOD FROM F_COMPTEG F_COMPTEG

Fonctions sur les dates


CURDATE () Cette fonction retourne la date systme. Exemple Exemple dutilisation avec QUERY : SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CURDATE () DATE COURANTE FROM F_COMPTEG F_COMPTEG DAYOFMONTH (DATE) Cette fonction retourne le jour dans le mois pour le champ DATE. Cest un entier compris entre 1 et 31.
Sage

85

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC Exemple Exemple dutilisation avec QUERY : SELECT F_COMPTEG.CG_NUM, F_COMPTEG.CG_INTITULE, CURDATE () DATE COURANTE, DAYOFMONTH (CURDATE ()) JOUR MOIS FROM F_COMPTEG F_COMPTEG MONTH (DATE) Cette fonction retourne le mois pour le champ DATE. Cest en entier compris entre 1 et 12. Exemple Exemple dutilisation dans QUERY: SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_JOUR, MONTH (JM_DATE) FROM F_ECRITUREC F_ECRITUREC ORDER BY F_ECRITUREC.CG_NUM CURTIME () Cette fonction retourne lheure courante. Exemple Exemple dutilisation dans QUERY: SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_JOUR, MONTH (JM_DATE), CURTIME () FROM F_ECRITUREC F_ECRITUREC ORDER BY F_ECRITUREC.CG_NUM DAYOFWEEK (DATE) Cette fonction retourne le jour comme un entier de 1 7 pour le champ DATE. Exemple Exemple dutilisation dans QUERY: SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_DATE, MONTH (EC_DATE), CURTIME (), DAYOFWEEK (EC_DATE) FROM F_ECRITUREC F_ECRITUREC ORDER BY F_ECRITUREC.CG_NUM YEAR (DATE) Cette fonction retourne lanne pour le champ DATE. Exemple Exemple dutilisation dans QUERY: SELECT F_ECRITUREC.CG_NUM, F_ECRITUREC.JM_DATE, F_ECRITUREC.EC_DATE, MONTH (EC_DATE), CURTIME (), DAYOFWEEK (EC_DATE) FROM F_ECRITUREC F_ECRITUREC ORDER BY F_ECRITUREC.CG_NUM

Sage

86

Annexe 2 Fonctions SQL supportes par Sage 100 Kit ODBC

Fonctions systme
DATABASE () Cette fonction retourne le fichier physique associ la source de donnes en cours dutilisation. Exemple Exemple dutilisation dans QUERY: SELECT P_DOSSIER.D_RAISONSOC, DATABASE () FROM P_DOSSIER P_DOSSIER USER () Cette fonction retourne le nom de lutilisateur connect. Exemple Exemple dutilisation dans QUERY: SELECT P_DOSSIER.D_RAISONSOC, DATABASE (), USER () FROM P_DOSSIER P_DOSSIER

Sage

87

Annexe 3 Conseils doptimisation

Annexe 3 Conseils doptimisation


Les lments perturbants ________________________________89

Sage

88

Annexe 3 Conseils doptimisation

Les lments perturbants


Plusieurs critres peuvent influer sur le temps dexcution dune requte. Le mode trace ODBC doit tre dsactiv. En effet, chaque requte envoye au driver ODBC peut tre enregistre dans un fichier texte (plusieurs lignes par requte). Lcriture dans ce type de fichier prend normment de temps. La requte SQL elle-mme influe sur les performances. En effet, si une jointure entre deux tables nest pas complte, le driver ODBC ne pourra pas utiliser les index de recherche et il devra parcourir tous les enregistrements. Le choix des critres de slection et des regroupements est aussi important. En effet, il est prfrable de poser des critres de slection sur des champs indexs afin dviter le parcours de tous les enregistrements (renseigner de prfrence les premiers champs dun index). Sage 100 Kit ODBC ( partir de la version 7.0) dispose de champs virtuels afin de rcuprer directement des informations provenant des pages paramtres. Ces champs nexistent pas physiquement dans la base, mais sont calculs par le driver ODBC (le nom de ces champs commence par INT_ ou FNT_). Si un critre de slection est pos sur un de ces champs, le driver devra parcourir tous les enregistrements, calculer la valeur du champ INT_, puis comparer avec le critre de slection. De plus, lors de la cration dune requte de slection, afin doptimiser les temps dexcution, il est important de slectionner uniquement les champs ncessaires (ne pas rapatrier des informations superflues, en particulier les champs INT_ et FNT_ qui sont calculs par le driver ODBC Sage).

Sage

89

Annexe 4 Les codes erreurs Sage

Annexe 4 Les codes erreurs Sage


DESCRIPTION DES ERREURS GENERALES CBASE ________________91 DESCRIPTION DES CODES ERREURS DES FONCTIONS EVOLUEES ____92 ERREURS EN ECRITURE DANS LES DIFFERENTES APPLICATIONS ____ 95

Sage

90

Annexe 4 Les codes erreurs Sage

DESCRIPTION DES ERREURS GENERALES CBASE


-4999, Fin de fichier atteinte ! -4998, Ressource non disponible ! -4997, Mauvaise version de dossier ! -4996, Taille trop petite en cration ! -4995, Dossier non ouvert ! -4994, Le bloc lu n'est pas un bloc ! -4993, Le bloc crit n'est pas un bloc ! -4992, Erreur de longueur de cellule ! -4991, Numro d'index illgal ! -4990, Numro de page poubelle illgal ! -4989, Longueur de chane suprieure la longueur dclare ! -4988, Le dossier est satur, veuillez l'agrandir au plus vite ! -4987, Le dossier est satur, veuillez l'agrandir au plus vite ! -4986, Mauvaise longueur de page poubelle ! -4985, Numro de fichier inexistant ! -4984, Bloc dtruit ! -4983, Bloc libr ! -4982, Fonction invalide ! -4981, Trop d'utilisateurs en cours ! -4980, Trop de verrouillages ! -4979, Libration d'un fichier non verrouill ! -4978, Incohrence du fichier .flg ! -4977, Erreur de lecture du fichier .flg ! -4976, Erreur d'criture du fichier .flg ! -4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite ! -4974, Opration annule... -4973, Version de DLL incompatible ! -4972, Index modifi ! -4971, Trop d'index temporaires ! -4970, Version de serveur incompatible ! -4969, Fonction serveur non implante ! -4968, Le serveur a t dconnect ! -4967, Erreur d'index ! -4966, Erreur inconnue ! -4965, Mauvaise version de fichier ! -4964, Type de fichier dj ouvert !

Sage

91

Annexe 4 Les codes erreurs Sage

DESCRIPTION DES CODES ERREURS DES FONCTIONS EVOLUEES



Sage

1, Fin de fichier atteinte ! -2000, Ressource non disponible ! -2001, Mauvaise version de dossier ! -2002, Taille trop petite en cration ! -2013, Dossier non ouvert ! -2017, Le bloc lu n'est pas un bloc ! -2018, Le bloc crit n'est pas un bloc ! -2100, Erreur de longueur de cellule ! -2374, Numro d'index illgal ! -2376, Numro de page paramtre illgal ! -2415, Longueur de chane suprieure la longueur dclare ! -2416, Impossible d'insrer un enregistrement, veuillez l'agrandir au plus vite ! -2417, Impossible d'insrer une page d'index, veuillez l'agrandir au plus vite ! -2418, Trop de bases en ligne -2419, Mauvaise longueur de page paramtre ! -2426, Numro de fichier inexistant ! -2428, Bloc dtruit ! -2429, Bloc libr ! -2430, Fonction invalide ! -2502, Trop d'utilisateurs en cours ! -2503, Trop de verrouillages ! -2504, Libration d'un fichier non verrouill ! -2505, Incohrence du fichier .flg ! -2506, Erreur de lecture du fichier .flg ! -2507, Erreur d'criture du fichier .flg ! -4975, Le dossier est satur, veuillez faire une recopie et l'agrandir au plus vite ! -2602, Opration annule... -2603, Version de DLL incompatible ! -2607, Le document, la ligne, L'article, la famille ou le reprsentant n'existe pas. -2609, Index modifi ! -2610, Trop d'index temporaires ! -2700, Version de serveur incompatible ! -2701, Fonction serveur non implante ! -2704, Le serveur a t dconnect ! -3005, Erreur d'accs -4966, Erreur inconnue ! -4965, Mauvaise version de fichier ! -4964, Type de fichier dj ouvert !
92

Annexe 4 Les codes erreurs Sage 1100, Erreur de longueur de compte analytique 1101, Erreur de longueur de compte gnral 1102, Erreur de longueur de compte EDI 1103, Erreur de longueur de compte reporting 4700, La base paramtre n'est pas ouverte 4701, La rubrique n'existe pas 4702, Le salari n'existe pas 4703, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation 7000, La famille n'existe pas 7001, Le client n'existe pas 7002, Le fournisseur n'existe pas 7003, L'article n'existe pas 7004: Domaine de validit du champ incorrect, veuillez vous rfrer la documentation 63536, Ressource non disponible 63535, Numro de version illgale 63534, Taille trop petite en cration 63523, Base non ouverte 63519, Le bloc lu n'est pas un bloc 63518, Le bloc crit n'est pas un bloc 63436, Erreur longueur de cellules 63127, Suppression enregistrement non lu ou inexistant 63126, Modification enregistrement non lu ou inexistant 63125, Marqueur illgal 63121, Longueur chane suprieure la longueur dclare 63120, Impossible d'insrer une page enregistrement (base pleine) 63118, Trop de bases en ligne 63108, Bloc dtruit 63107, Bloc libr 63036, Base en cours d'utilisation 63035, Erreur permission 63034, Trop d'utilisateurs en cours 63031, Incohrence base multi utilisateurs (.flg) 63030, Erreur lecture (.flg) 63029, Erreur criture (.flg) 63025, Fichier lock en destruction 63024, Enregistrement lock en modification 63023, Fichier lock en modification 62936, Pas assez de mmoire 62934, Opration annule
93

Sage

Annexe 4 Les codes erreurs Sage 62933, Version de DLL incompatible 62929, Enregistrement non trouv 62928, Index dupliqu 62927, Index modifi 62836, Version de serveur incompatible 62832, Serveur dconnect 62831, Fichier inexistant 62830, Erreur accs fichier 62829, Trop de fichiers ouverts 62828, Espace disque insuffisant 62827, Erreur E/S

Sage

94

Annexe 4 Les codes erreurs Sage

ERREURS EN ECRITURE DANS LES DIFFERENTES APPLICATIONS


-3485, IM_NoSerie et IM_Code existent dj dans F_IMMOSERIE ! -3486, AR_Type est non modifiable ! -3487, Incohrence entre AR_Type et AR_Gamme1 -3488, Valeurs de AR_Gamme1 ou AR_Nomencl ou AR_Condition ou AR_SuiviStock incompatibles avec AR_Type ! -3489, RP_Code doit tre null pour ce type darticle ! -3490, RP_Code est une ressource dun mauvais type. Incohrence avec le type de larticle AR_Type ! -3491, RP_Code doit tre renseign pour les articles de type ressource location ou prestation ! -3492, Suppression impossible, veuillez mettre DT_No de F_DOCLIGNE 0, ce qui supprimera lentre dans F_DOCLIGNETEXT. -3493, Le numro interne DT_No nest pas modifiable ! -3494, Le numro interne DT_No doit tre 0 en ajout ! -3495, EU_Qte ne doit pas tre gal 0 si RP_Code est renseign ! -3496, Valeur de AR_Type invalide ! -3497, Valeur de RP_Code invalide ! -3498, Le code de la ressource de production nexiste pas ! -3499, Le planning des projets de fabrication nexiste pas ! -3500, La ligne de document nexiste pas ! -3503, Impossible de crer une ligne pour ce type de document -3504, Impossible de crer ce type de document -3505, La quantit disponible est insuffisante pour l'emplacement ! -3506, L'emplacement est li un ou plusieurs articles en contremarque ! -3507, Ce type de document nest pas modifiable -3508, EC_Parite ne peut tre ngatif -3509, Ajout impossible dans F_ARTCLIENT ou F_FAMCLIENT car le tiers possde un CT_NumCentrale -3510, CT_NumCentrale doit exister dans F_COMPTET et tre de type client -3511, Suppression impossible ! Ce dpt est utilis dans F_DEPOTEMPL -3512, DP_NoDefaut doit tre 0 en ajout dans F_DEPOT -3513, DP_NoDefaut ne correspond aucun dpt valide dans F_DEPOTEMPL -3514, Le CL_No parent nexiste pas dans le catalogue -3515, CL_No nexiste pas dans le catalogue -3520, Si AG_No1Comp > 0 larticle doit tre simple ou double gamme, si AG_No2Comp > 0 larticle doit tre double gamme et AG_No1Comp > 0 -3521, Si AG_No2Comp > 0 et que larticle est double gamme alors AG_No1Comp doit tre <> 0 -3522, DL_TypePl doit tre gal 3 ou 4 si F_DOCENTETE.DO_Provenance=4 -3523, AR_Prevision nest modifiable que pour les articles grs en nomenclature

Sage

95

Annexe 4 Les codes erreurs Sage


Sage

-3524, Modification impossible de DO_Provenance -3525, CO_No nexiste pas dans F_Condition ou existe mais pas sur le mme article -3527, AR_RefCompose doit tre gal 0 pour ce type de document -3528, Dans les ordres de fabrication et bon de fabrication AR_RefCompose doit tre vide si larticle nest pas nomenclature fabrication -3529, DL_Qte ne peut tre ngatif pour ce type de document -3530, Pour une facture de retour DL_Qte, DL_QteBC, DL_QteBL et DL_QtePL doivent tre ngatifs -3531, Le suivi de trsorerie doit tre gal 0 -3532, Le suivi de trsorerie doit tre gal 1 -3533, Le rglement dfinitif nest valable que pour les journaux de type trsorerie -3534, Le numro interne EB_No nexiste pas dans F_EBANQUE -3535, Pour un cart de rglement, JO_NumEcart, CG_NumEcart et RG_MontantEcart doivent tre renseigns -3538, DL_PIECEPL n'est pas en alphanumrique majuscule ou est de longueur > 8 caractres -3539, Le numro de pice et la date de prparation de livraison doivent tre vide -3540, Si F_DocEntete.MR_No <> 0 MR_No nexiste pas dans F_MODELER -3541, Suppression impossible car le code journal analytique est utilis en tant que journal d'-nouveaux IFRS -3542, Le code journal analytique doit tre Rserv IFRS car il est utilis en tant que code journal -nouveaux analytique IFRS -3543, Le code journal analytique doit tre Rserv IFRS car des critures y ont dj t saisies -3544, Le code journal analytique doit tre non Rserv IFRS car il est utilis en tant que code journal -nouveaux analytique -3545, Le code journal analytique doit tre non Rserv IFRS car il comporte des critures autres que IFRS -3546, Si SaisieIFRS=0 alors ER_Norme doit tre = 0 ou = 1 -3547, Si P_DOSSIER.D_GestionIFRS=0 alors ER_Norme doit tre gal 0, sinon si journal IFRS alors ER_Norme doit tre gal 2 -3548, Si SaisieIFRS=0 alors EC_Norme doit tre = 0 ou = 1 -3549, Si P_DOSSIER.D_GestionIFRS=0 alors EC_Norme doit tre gal 0, sinon si journal IFRS alors EC_Norme doit tre gal 2 -3550, Le code journal doit tre non Rserv IFRS car l'option IFRS n'est pas gre dans le dossier entreprise. -3551, L'criture est utilise dans le fichier EFINANCIEREC (donc non supprimable) -3552, Le RIB n'est pas au format IBAN -3553, Le champ EC_TresoPiece ne peut pas tre renseign -3554, L'criture est non synchronise, sa modification est impossible -3555, L'criture est synchronise, sa suppression est impossible -3556, L'criture est non synchronise, sa suppression est impossible -3557, Impossible d'ajouter une criture dans un journal synchronis -3558, Impossible d'ajouter une criture dans un journal synchronis -3560, Erreur de structure du compte analytique
96

Annexe 4 Les codes erreurs Sage -3561, Suppression impossible, un dpt principal n'est pas unique -3562, Le journal de type gnral n'existe pas -3563, Le compte gnral n'existe pas -3566, IM_Reception doit tre gal 1 si IM_DateIMM > 01/01/2006 -3567, Le code rattach n'est pas modifiable si l'immobilisation n'est pas de type Biens -3568, L'immobilisation n'est pas de type Biens, le code rattach doit tre vide -3569, Le couple AR_REF et GL_No doit tre unique -3570, Le champ DL_PrixUnitaire ne peut pas tre modifi pour les documents TTC -3571, La quantit livre doit tre >= 0 -3572, La quantit commande doit tre >= 0 -3573, Le champ CG_Num est modifiable si le rglement n'est pas cltur ou si il ne possde pas d'chance -3574, Les champs RG_Reference, RG_Impaye, RG_DateEchCont, CG_NumCont sont modifiables si le rglement n'est pas cltur -3575, Les champs LS_Peremption, LS_Fabrication ou LS_SERIE doivent tre vide -3576, Les champs LS_Peremption ou LS_Fabrication ne peuvent tre modifis en stock que pour les documents d'entres ou de sortie -3577, On ne peut modifier la date de cration de l'article -3578, Le champ DL_PUBC n'est pas modifiable -3579, Le champ AR_RefCompose ne peut pas tre vide si l'article est nomenclature commerciale compos ou composant -3581, La gestion des gammes est incompatible avec les articles de subtitution -3582, Les champs LS_Peremption ou LS_Fabrication doivent avoir un suivi de stock de type srie ou lot -3583, Les champs LS_Peremption ou LS_Fabrication ne peuvent pas tre modifis pour les documents de type vente -3585, Le champ DL_TYPEPL nest pas modifiable -3586, Le numro de srie ne peut pas tre modifi en sortie de stock -3587, Le lot de sortie n'existe pas -3588, Le lot d'entre n'existe pas -3589, Les champs DL_MontantTTC, DL_MontantHT, DL_Escompte, DL_FactPoids ne sont pas modifiables -3590, En modification les articles suivis en SERIE ou en LOT doivent tre de type mouvement d'entre, mouvement sortie, bon de commande ou de reprise -3592, Le champ cheance doit tre obligatoire -3593, Le champ DL_Frais est saisissable et modifiable que pour DO_Domaine = achat et DL_MvtStock = entre quantit -3594, Si le type de rglement est de type acompte, seul JO_Num est modifiable -3595, Si le type de rglement n'est pas de type acompte, seuls RG_Date(Cont), RG_Reference, RG_Libelle, RG_Montant, N_Reglement,RG_Impaye ,CG_Num(cont) ou JO_Num sont modifiables -3596, Un rglement est pass un document de vente, certains champs ne sont pas modifiables -3597, Les champs suivants AL_MontantHT, AL_MontantTTC, AL_FactPoids et AL_Escompte doivent tre zro
97

Sage

Annexe 4 Les codes erreurs Sage -3598, Les champs suivants DL_MontantHT, DL_MontantTTC, DL_FactPoids et DL_Escompte doivent tre zro -3599, Le champ DO_Provenance ne peut avoir la valeur 3 -3600, Le champ DO_Replication n'est pas modifiable -3601, Le champ DO_Replication doit tre 0 -3602, Le champ CP_Type n'est pas modifiable -3603, Le champ CP_champ n'est pas modifiable -3604, Le champ ACP_TypeFacture n'est pas modifiable -3605, Le champ FCP_Champ n'est pas modifiable -3606, Le champ FCP_TypeFacture n'est pas modifiable -3607, Le champ EF_No n'est pas modifiable -3608, La date n'est pas dans la liste des exercices de la base -3609, EF_No doit tre 0 -3610, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail -3611, Le compte gnral est utilis dans le fichier EFINANCIER (donc non supprimable) -3612, Le compte bancaire est utilis dans le fichier FINANCIER (donc non supprimable) -3613, Le code journal n'est pas modifiable -3614, Le compte tiers est utilis dans le fichier EFINANCIER (donc non supprimable) -3615, Le compte analytique est utilis dans le fichier EFINANCIERA (donc non supprimable) -3616, La taxe est utilise dans le fichier EFINANCIER (donc non supprimable) -3617, Suppression impossible, l'article possde des cumuls de stock -3618, Le fichier n'existe pas -3619, Suppression impossible. Des fichiers multimdia sont rattachs l'immobilisation supprimer -3620, Suppression impossible car il existe au moins un fichier multimdia pour ce tiers -3621, Le fichier multimdia n'existe pas -3622, Le fichier multi-mdia n'existe pas -3623, Suppression impossible, l'article est associ un fichier multi-mdia -3624, Suppression impossible car le lot comporte encore des chances. -3625, Nombre de lignes du lot incorrect. -3626, Incohrence du montant entre les lots et les chances du lot. -3627, Le prix numr de gamme doit tre unique -3628, Le payeur origine n'est pas de type alphanumrique et majuscule ou est de longueur > 17 caractres -3629, Le code barres numr doit tre unique -3630, La rfrence numr doit tre unique -3631, Le client ou le fournisseur n'est pas en majuscule (avec longueur <= 17 car ), ou la catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou les 2 derniers caractres non numriques (et compris entre 1 et 32) -3632, La rfrence client doit tre unique -3633, La rfrence client ne peut pas tre renseigne pour les catgories tarifaires

Sage

98

Annexe 4 Les codes erreurs Sage


Sage

-3634, La rfrence client doit tre de type C39 avec une de longueur <= 18 ou vide -3635, Le code barres fournisseur doit tre unique -3636, Le code barres doit tre unique -3637, Le code barres n'est pas de type C39 ou est de longueur > 18 -3638, Le numro de lieu n'est pas modifiable -3639, Le contact existe dj -3640, Suppression impossible, le lieu possde des contacts -3641, Les cumuls et la date de mise jour comptable ne sont pas modifiables -3642, Les cumuls et la date de mise jour comptable de l'immobilisation doivent tre nuls -3643, ER_PIECE non modifiable -3644, JA_NUM non modifiable -3645, ER_NO non modifiable -3646, CG_NUM non modifiable -3647, CA_NUM non modifiable -3648, N_ANALYTIQUE non modifiable -3649, ER_DATE non modifiable -3650, Le code journal analytique n'existe pas -3651, Le nombre de dcimales de ER_QUANTITEA est incorrect (quantit) -3652, Le nombre de dcimales de ER_MONTANTA est incorrect (montant) -3653, Le tiers du document est diffrent de celui du rglement -3654, La borne suprieure ne peut pas tre modifie -3655, Le compte gnral ne peut pas tre modifi -3656, Le reprsentant ne peut pas tre modifi -3657, Le reprsentant n'est pas de type vendeur -3658, ECH_No est non modifiable -3659, Le code taxe n'existe pas -3660, Le compte gnral n'existe pas -3661, L'chance est dj lie des critures comptables -3662, Le registre Taxe existe dj -3663, L'chance n'existe pas en ajout d'un registre Taxe -3664, Le motif conomique existe dj -3665, Suppression impossible car il existe des registres taxes -3666, La banque intermdiaire n'existe pas -3667, Le compte de frais n'existe pas -3668, Le Pays n'existe pas -3669, Le motif conomique n'existe pas -3670, Il existe dj un registre taxe -3671, L'immobilisation rattache n'est pas de type Biens -3672, Suppression impossible. Des virements poste poste existent -3673, Suppression impossible. Des historiques existent
99

Annexe 4 Les codes erreurs Sage -3674, Champs non valide pour une famille ou une immobilisation non soumise taxe vhicule de tourisme -3675, Le champ Article non livr ne peut pas tre modifi -3676, Le document est cltur -3677, Les lments de caisse (CA_No,CO_NoCaissier,DO_Cloture) ne sont pas modifiables -3679, Suppression impossible, l'numr de gamme est rattach une ligne de ticket d'archive -3680, Suppression impossible, l'article est rattach une ligne de commande en attente -3681, Suppression impossible, l'article est rattach une ligne de ticket d'archive -3682, Suppression impossible, l'article est rattach un raccourci clavier -3683, Le code taxe n'est pas modifiable -3684, Le taux de taxe n'est pas modifiable -3685, Le taux de remise n'est pas modifiable -3686, L'unit de vente n'est pas modifiable -3687, L'numr de gamme 2 n'est pas modifiable -3688, L'numr de gamme 1 n'est pas modifiable -3689, La rfrence article n'est pas modifiable -3690, La rfrence article n'existe pas -3691, L'numr de gamme 2 n'existe pas -3692, L'numr de gamme 1 n'existe pas -3693, Le numro de pice n'est pas modifiable -3694, CL_No n'est pas modifiable -3695, CL_No doit tre unique -3696, La commande en attente n'existe pas -3697, La commande en attente possde des lignes -3698, Le numro de pice n'est pas modifiable -3699, Le numro de pice existe dj -3700, Le numro de dpt n'est pas modifiable -3701, Le contact existe dj -3702, Le dpt n'existe pas -3703, Suppression impossible, le reprsentant est rattach un agenda -3704, Suppression impossible, le reprsentant est rattach une ligne de ticket d'archive -3705, Suppression impossible, le reprsentant est rattach un ticket d'archive -3706, Suppression impossible, le reprsentant est rattach un rglement -3707, Suppression impossible, le reprsentant est rattach une ligne d'abonnement -3708, Suppression impossible, le reprsentant est rattach un entte d'abonnement -3709, Suppression impossible, le reprsentant est rattach une ligne de document -3710, Suppression impossible, le reprsentant est rattach un document -3711, Suppression impossible, le reprsentant est rattach une caisse
100

Sage

Annexe 4 Les codes erreurs Sage


Sage

-3712, Suppression impossible, le reprsentant est dj utilis dans une caisse -3713, Suppression impossible, le dpt possde des contacts -3714, Le code interbancaire existe dj en ajout -3715, Le Contact Dossier existe dj -3716, Le numro de registre Taxe existe dj -3717, Le code Taxe n'existe pas en ajout d'un registre taxe -3718, Le code Taxe n'existe pas -3719, Suppression impossible car il existe des contacts -3720, Le contact existe dj dans la banque -3721, L'abrg du RIB existe dj -3722, Suppression impossible, la taxe est utilise dans une criture -3723, Suppression impossible, la taxe est utilise dans le compte gnral -3724, TA_CODE estb non modifiable -3725, Le contact existe dj -3726, Suppression impossible car il existe dj des contacts -3727, Le code Taxe n'existe pas -3728, Le rglement doit tre unique -3729, EG_CHAMP de F_FAMTARIF ne fait pas rfrence un champ de P_GAMME de type quantit ou montant -3730, EG_CHAMP de F_FAMFOURNISS ne fait pas rfrence un champ de P_GAMME de type quantit ou montant -3731, EG_CHAMP de F_ARTFOURNISS ne fait pas rfrence un champ de P_GAMME de type quantit ou montant -3732, AS_QteComCM n'est pas modifiable -3733, AS_QteResCM n'est pas modifiable -3734, AS_Principal n'est pas modifiable -3735, AS_QteCom n'est pas modifiable -3736, AS_QteRes n'est pas modifiable -3737, AS_QteSto n'est pas modifiable -3738, AS_MontSto n'est pas modifiable -3739, DE_No n'est pas modifiable -3740, EG_Ligne n'est pas modifiable -3741, EG_LIGNE doit tre 0 en ajout -3742, La gamme 2 ne peut pas tre modifie -3743, La gamme 1 ne peut pas tre modifie -3744, Le prix unitaire TTC doit tre gal 0 -3745, La catgorie comptable ne peut pas tre modifie, car des lignes sont associes ce document -3746, AL_VALORISE n'est pas modifiable -3747, Le type d'abonnement n'est pas modifiable, car c'est un modle -3748, Le modle d'abonnement doit tre unique -3749, FT_CATEGORIE n'est pas modifiable
101

Annexe 4 Les codes erreurs Sage -3750, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans F_FAMTARIFQTE -3751, CT_NUM n'est pas modifiable -3752, EG_CHAMP n'est pas modifiable, car il existe des enregistrements dans F_FAMTARIFQTE -3753, Le type de gamme n'est pas de type quantit ou montant -3754, La catgorie tarifaire n'existe pas dans F_FAMCLIENT -3755, Le Tiers n'existe pas dans F_FAMFOURNISS -3756, Suppression impossible du fournisseur principal -3757, Le type de gamme n'est pas de type quantit ou montant -3758, EC_CHAMP n'est pas modifiable -3759, EG_CHAMP n'est pas modifiable -3760, Le journal de rglement de vente n'est pas renseign -3761, Le journal de rglement d'achat n'est pas renseign -3762, Suppression impossible, car l'imputation n'est pas de type rglement -3763, Suppression impossible, car le rglement n'est pas de type rglement -3764, Modification du type vendeur impossible, car il existe des commissions -3765, Suppression impossible ou modification du type vendeur impossible -3766, Le reprsentant n'existe pas -3767, Le code dpt doit tre unique -3768, L'numr statistique article existe dj -3769, L'intitul de l'vnement n'existe pas dans F_AGENDADET -3771, Saisie du compte tiers obligatoire pour ce compte gnral. -3772, La famille n'est pas de type dtail -3773, L'enregistrement de ARTCOMPTA est vide -3774, L'enregistrement de FAMCOMPTA est vide -3775, FA_TYPE et FA_CODEFAMILLE sont non modifiables -3776, Le code barre doit tre unique -3782, Suppression impossible, car ce dpt est utilis dans un agenda -3783, Suppression impossible, car ce dpt est utilis dans une ligne d'abonnement -3784, Suppression impossible, car ce dpt est utilis dans un entte d'abonnement -3785, Suppression impossible, car ce dpt est utilis dans un dpt article -3786, Suppression impossible, car ce dpt est utilis dans un entte de document -3787, Suppression impossible, car ce dpt est utilis dans une ligne de document -3788, Le type de barme ne peut pas tre modifi -3789, Le reprsentant n'existe pas -3790, CO_NO doit tre gal 0 -3791, Le barme n'existe pas -3792, TF_NO doit tre gal 0 -3793, La quantit du lien ne peut pas tre augmente -3794, Le numro de la ligne d'achat ne peut pas tre modifi
102

Sage

Annexe 4 Les codes erreurs Sage


Sage

-3795, Le numro de la ligne de vente ne peut pas tre modifi -3796, Le total des liens est suprieur la quantit de la ligne d'achat -3797, Le total des liens est suprieur la quantit de la ligne de sortie -3798, Ajout, modification et suppression impossible, car il existe un enregistrement dans le fichier des liens entre les rglements et les chances -3799, Le statut du document d'achat n'est pas valide -3800, Le statut du document de vente n'est pas valide -3801, L'article des lignes n'est pas contremarque -3802, La rfrence article des lignes est vide -3803, Les deux lignes n'ont pas la mme rfrence article -3804, Le type de la ligne d'achat est incorrect -3805, Le type de la ligne de vente est incorrect -3806, La ligne d'achat n'existe pas -3807, La ligne de vente n'existe pas -3808, Le numro de srie ne peut pas tre modifi -3809, La quantit doit tre ngative -3810, La quantit doit tre ngative pour les factures d'avoir ou de retour -3811, Le N de lot est utilis en commande client -3812, Le numro de srie/lot est inexistant -3813, Le numro de srie/lot existe dj -3814, L'tat du stock ne permet pas de modifier la ligne -3815, L'tat du stock ne permet pas la suppression -3816, Suppression impossible, car ce modle est utilis -3817, Le numro du dpt de stockage ne peut pas tre modifi -3818, Suppression impossible, L'entte d'abonnement doit d'abord tre supprime -3819, Le numro du reprsentant ne peut pas tre modifi -3820, Le reprsentant existe dj -3821, Suppression impossible, car des commissions/reprsentant sont associes -3822, Suppression impossible, car des tarifs/quantits sont associs -3823, Suppression impossible, car des tarifs/quantits sont associs -3824, Suppression impossible, car des tarifs sont associs -3825, Suppression impossible, car des familles/comptabilit sont associes -3826, Suppression impossible, car des modles sont associs -3827, Suppression impossible, car des fournisseurs sont associs -3828, Suppression impossible, car des clients sont associs -3829, Le numro tarif de tarif reprsentant ne peut pas tre modifi -3830, Le numro reprsentant de tarif reprsentant ne peut pas tre modifi -3831, Le tarif reprsentant existe dj -3832, Suppression impossible, car des remises de tarif sont associes -3833, Suppression impossible, car des applications de tarif sont associes -3834, Le numro de remise de tarif/barme ne peut pas tre modifi
103

Annexe 4 Les codes erreurs Sage


Sage

-3835, La remise de tarif/barme existe dj -3836, L'application de tarif/barme existe dj -3837, Le numro d'application de tarif/barme ne peut pas tre modifi -3838, Le numro de tarif/barme ne peut pas tre modifi -3839, Le tiers ne peut pas tre modifi -3840, Le code famille ne peut pas tre modifi -3841, Le champ d'agenda ne peut pas tre modifi -3843, La date d'opration doit tre < la date du nouveau solde -3844, On ne peut ajouter de lignes d'extraits que dans le dernier extrait et extrait manuel -3845, On ne peut supprimer des lignes d'extraits rapproches -3846, On ne peut supprimer un extrait car il existe des lignes d'extrait -3847, PIECE n'est pas modifiable -3848, MONTANTCPTA n'est pas modifiable -3849, EE_MONTANT n'est pas modifiable -3850, N_REJET n'est pas modifiable -3851, CODEINTERBANCAIRE n'est pas modifiable -3852, CODEINTERNE n'est pas modifiable -3853, EE_DATEVAL n'est pas modifiable -3854, EE_DATEOP n'est pas modifiable -3855, EE_ETAT et EE_LETTRE non modifiables -3856, Une ligne d'extrait existe dj avec un EE_LIGNE identique -3857, On ne peut supprimer que le dernier extrait -3858, Suppression impossible car rapproch -3859, NOUVDATE n'est pas modifiable -3860, EX_ANCSOLD n'est pas modifiable -3861, EB_NO n'est pas modifiable -3862, EX_NO n'est pas modifiable -3863, EX_ANCDATE n'est pas modifiable -3864, Le champ EX_AncSolde doit prendre la valeur du solde de l'extrait prcdent -3865, Le champ EX_AncDate doit prendre la valeur de la date de l'extrait prcdent -3866, L'ajout d'un nouvel extrait se fait obligatoirement la fin -3867, Il existe dj un extrait -3868, EE_LETTRE doit tre vide -3869, Nb de dcimales de MONTANTCPTA incorrect -3870, EE_MONTANT est invalide -3871, Date de valeur obligatoire -3872, Date opration obligatoire -3873, On ne peut ajouter des lignes d'extrait dans un tat rapproch -3874, EE_LIGNE invalide -3875, Nb de dcimales de EX_ANCSOLD incorrect
104

Annexe 4 Les codes erreurs Sage -3876, EX_ETAT doit tre 0 -3877, EX_REF obligatoire -3878, EB_NO inexistant -3879, EX_TYPE doit tre 0 -3880, EX_NO invalide -3881, Le pays existe dj -3882, Nb de dcimales de PA_TRANSPORT incorrect -3883, Nb de dcimales de PA_ASSURANCE incorrect -3884, Intitul du pays obligatoire -3885, N_Analytique et EA_Rupture non modifiables -3886, L'numr analytique existe dj -3887, L'intitul de l'numr analytique est obligatoire -3888, EC_DATE non modifiable -3889, L'enregistrement COMPTEGA existe dj -3890, CG_AVREPART doit tre 0 -3891, Nb de dcimales de CG_AVREPART incorrect -3892, Suppression impossible, car des priodes sont associes -3893, L'intervalle de priode d'abonnement existe dj -3894, Suppression impossible, car des rglements sont associs -3895, L'entte d'abonnement n'existe pas -3896, L'entte d'abonnement doit tre unique -3897, L'abonnement est obligatoire en saisie d'abonnement -3898, Suppression impossible, car des lignes sont associes cet abonnement -3899, La catgorie comptable ne peut pas tre modifie -3900, Le tiers ne peut pas tre null -3901, Le Numro d'abonnement ne peut pas tre modifi -3902, La catgorie tarifaire ne peut pas tre modifie, car des lignes sont associes cet abonnement -3903, Le compte analytique ne peut pas tre modifi, car des lignes sont associes cet abonnement -3904, La devise ne peut pas tre modifie, car des rglements sont associs cet abonnement -3905, La devise ne peut pas tre modifie, car des lignes sont associes cet abonnement -3906, Le taux de conversion en devise ne peut pas tre modifi, car des rglements sont associs cet abonnement -3907, Le taux d'escompte ne peut pas tre modifi, car des rglements sont associs cet abonnement -3908, Le compte gnral n'existe pas -3909, Le modle d'abonnement ne peut tre modifi -3910, Le client de l'abonnement ne peut tre modifi -3911, Le numro d'abonnement ne peut tre modifi

Sage

105

Annexe 4 Les codes erreurs Sage -3912, Le modle n'existe pas -3913, L'article comptabilit doit tre unique -3914, La famille comptabilit doit tre unique -3915, Un dpt principal est obligatoire -3916, L'intitul de dpt doit tre unique -3920, La quantit minimale de commande doit tre suprieure au colisage du fournisseur -3921, La famille centralisatrice est utilise dans une famille -3922, La famille est utilise dans un barme -3923, La famille est utilise dans un article -3924, La famille centrale n'existe pas -3925, La famille existe dj -3926, L'numr de conditionnement existe dj -3927, L'numr de gamme existe dj -3928, Le champ de l'numr statistique article n'est pas modifiable -3929, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation. -3930, Le champ ne peut tre modifi -3931, La cl RIB est incorrecte -3932, Suppression impossible. L'chance possde des critures associes -3933, Suppression impossible. L'chance a fait l'objet d'une transmission -3934, L'criture comptable n'existe pas -3935, Le compte effet n'existe pas -3936, La banque n'existe pas -3937, Le compte de TVA n'existe pas -3938, Le compte de tiers n'existe pas -3939, Le compte gnral n'existe pas -3940, L'intitul du tarif doit tre unique -3941, Certains champs ne peuvent pas tre modifis dans les lignes de commentaire -3943, L'chance ne peut tre modifie car elle est associe un entte. -3944, L'criture est une criture de centralisation -3945, L'criture est lettre -3946, La modification du numro d'chance est impossible -3947, Cette criture est dj associe cette chance -3948, L'chance n'existe pas -3949, L'criture comptable n'existe pas -3950, Ce raccourci existe dj -3951, AR_RefCompose n'est pas modifiable -3952, DO_Ventile n'est pas modifiable -3953, DO_FinPeriod n'est pas modifiable -3954, DO_DebutPeriod n'est pas modifiable
106

Sage

Annexe 4 Les codes erreurs Sage -3955, DO_FinAbo n'est pas modifiable -3956, DO_DebutAbo n'est pas modifiable -3957, AB_No n'est pas modifiable -3958, L'abonnement n'existe pas -3959, La date n'est pas une date valide -3960, DO_Reliquat n'est pas modifiable -3961, La souche est invalide -3962, DO_souche n'est pas modifiable -3963, EC_ANTYPE est non modifiable -3964, Impossible de modifier la devise quand il y a des extraits associs -3965, Le compte payeur n'est du type du compte tiers -3966, Le nombre de dcimales des quantits est incorrect -3966, Ce statut est invalide -3967, EB_NO est non modifiable -3968, EB_NO doit tre 0 en ajout -3969, La section analytique du compte de tiers n'existe pas -3970, La section analytique est dj utilise dans un compte de tiers -3971, La section analytique est dj utilise dans des rpartitions analytiques -3972, Il existe dj des rpartitions analytiques -3973, Ce statut est invalide -3974, Si on modifie le statut du document, alors il faut que l'ancien statut soit valide et que le nouveau le soit aussi -3975, Le statut du document est invalide -3976, L'article est incompatible avec les articles lis -3977, L'article est incompatible avec les nomenclatures commerciales -3978, Dans F_ARTCLIENT, si on est sur Hors Remise, alors on ne peut pas affecter de gamme de remise -3979, Dans F_ARTFOURNISS, si on est sur Hors Remise, alors on ne peut pas affecter de gamme de remise -3980, AR_NOMENCL ne peut tre modifi. L'article fait partie d'un article commercial compos, composant ou li -3981, Le compte gnral n'existe pas -3982, Le compte gnral n'existe pas -3983, Dans F_NOMENCLAT, la somme des % de rpartitions ne doit tre > 100% -3984, Dans F_ARTCLIENT, on ne peut pas passer en Hors remise, s'il existe une gamme de remise pour cet article -3985, Dans F_ARTCLIENT, si on est sur Hors Remise, alors on ne peut pas affecter de remise -3986, Dans F_ARTFOURNISS, on ne peut pas passer en Hors remise, s'il existe une gamme de remise pour cet article -3987, Dans F_ARTFOURNISS, si on est sur Hors Remise, alors on ne peut pas affecter de remise -3988, L'article n'est pas une nomenclature

Sage

107

Annexe 4 Les codes erreurs Sage


Sage

-3989, Suppression impossible car l'article existe dans F_MODELE -3990, Le suivi de stock est incompatible avec les nomenclatures commerciales -3991, Champs non valides pour une famille ou une immobilisation non soumise la taxe foncire. -3992, La date de fin doit tre suprieure au dernier loyer cltur ! -3993, Les champs du contrat ne sont pas modifiables, il existe des loyers clturs ! -3994, Champs non modifiables pour une immobilisation de type Bien ! -3995, Date de contrat invalide ! -3996, L'immobilisation ne possde pas de date de dbut et fin de contrat alors que des champs relatifs aux contrats sont renseigns ! -3997, Le cot ne doit pas tre renseign en mode ajout ! -3998, L'immobilisation est de type Biens alors que des champs relatifs aux contrats sont renseigns ! -3999, Le type d'origine de l'immobilisation ne doit tre renseign que si une date de rachat existe ! -4000, La gamme 1 ne peut pas tre vide car l'article possde une gamme 1 -4001, La gamme 2 doit tre vide, car l'article ne possde pas de gamme 2 -4002, La gamme 1 doit tre vide, car l'article ne possde pas de gamme 1 -4003, Le dpt mouvement n'existe pas -4004, Le reprsentant n'existe pas -4005, Le numro de dpt doit tre diffrent de 0 pour un article suivi en stock -4006, Le numro de dpt doit tre gal 0 pour un article qui n'est pas suivi en stock -4007, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail -4008, Ce fournisseur ne fait pas parti de la liste des fournisseurs de cet article -4009, Le glossaire n'existe pas dans F_DOCLIGNETEXT -4010, L'entte de document n'existe pas -4011, Le type du prix (TTC ou HT) doit tre en HT pour une ligne faisant rfrence aucun article -4012, Le reprsentant doit tre gal 0 -4013, Le type du prix (TTC ou HT) doit tre en HT pour un document de type achat -4014, L'article est vide ou n'est pas de type C39 ou est de longueur > 18 -4015, Une remise de pied ne peut pas tre combine avec une remise exceptionnelle -4016, L'numr rfrence article est unique -4017, Le numro de l'numr de gamme 2 n'est pas modifiable -4018, Le numro de l'numr de gamme 1 n'est pas modifiable -4019, L'numr article est unique -4020, La gamme 2 n'existe pas -4021, La gamme 1 n'existe pas -4022, L'numr article n'est pas de type C39 ou est de longueur > 18 -4023, La gamme 1 doit tre renseigne : valeur non nulle -4024, Le compte de contrepartie n'existe pas
108

Annexe 4 Les codes erreurs Sage -4025, L'tat du stock ne permet pas de crer la ligne -4026, Le type de taxe 3 ne peut pas tre modifi -4027, Le type de taux de taxe 3 ne peut pas tre modifi -4028, Le taux de taxe 3 ne peut pas tre modifi -4029, La rfrence numr conditionnement existe dj -4030, La rfrence numr conditionnement n'est pas de type C39 -4031, S'il y a une devise ou un prix de vente, PV/PR doit tre nul -4032, Changement d'article gamme, modification impossible car existe dans F_ARTENUMREF ou suppression impossible -4033, Dans l'article la gamme 1 ou la gamme 2 n'est pas de type produit -4034, On n'a pas le droit de supprimer un glossaire dans un document -4035, EG_CHAMP de F_ARTCLIENT ne fait pas rfrence un champ de P_GAMME de type quantit ou montant -4036, Ce glossaire n'existe pas ou GL_DOMAINE n'est pas de type article -4037, AGL_NUM doit tre 0 -4038, Le numro interne doit tre <> 0 -4039, L'article est vide ou n'est pas de type C39 ou est de longueur > 18 -4040, Le numro de pice ne peut pas tre modifi -4041, Le type de document ne peut pas tre modifi -4042, Le domaine ne peut pas tre modifi -4043, Le numro interne de l'chance ne peut pas tre modifi -4044, Le numro interne de rglement ne peut pas tre modifi -4045, Ce numro de pice n'existe pas pour ce type de document -4046, Le numro interne de l'chance n'existe pas -4047, Le numro interne du rglement n'existe pas -4048, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 8 caractres -4049, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine de document -4050, Le domaine doit tre compris entre 0 et 1 -4051, Le montant imput sur l'chance ne peut pas tre gal 0 -4052, Le numro interne de l'chance ne peut pas tre gal 0 -4053, Le numro interne du rglement ne peut pas tre gal 0 -4054, Le champ rglement imput ne peut pas tre modifi -4055, Le champ rglement comptabilis ne peut pas tre modifi -4056, Le type (client ou fournisseur) ne peut pas tre modifi -4057, Le tiers payeur ne peut pas tre modifi -4058, Le numro interne ne peut pas tre modifi -4059, Modification et suppression impossible, car il existe un enregistrement dans le fichier des liens entre les rglements et les chances ayant le mme numro interne -4060, Le champ rglement comptabilis doit tre 0 -4061, Le champ rglement imput doit tre 0
109

Sage

Annexe 4 Les codes erreurs Sage -4062, Le numro interne doit tre 0 -4063, L'criture comptable associe n'existe pas -4064, Le journal n'est pas du type trsorerie -4065, Le journal n'existe pas -4066, Le code journal est vide ou est de longueur > 6 caractres -4067, Le montant du rglement en devise doit tre 0 -4068, Le cours de la devise doit tre 0 -4069, Le montant du rglement doit tre diffrent de 0 -4070, La date du rglement est obligatoire ou la date n'est pas valide -4071, Le Tiers payeur est vide ou n'est pas en Alphanum. Maj. ou est de longueur > 17 caractres pour les documents d'achat ou de vente, ou n'est pas vide pour les documents de type stock -4072, Suppression impossible d'un rglement d'quilibre -4073, Suppression impossible d'un rglement d'quilibre -4074, Le champ chance rgle ne peut pas tre modifi -4075, Le champ ligne d'quilibrage ne peut pas tre modifi -4076, Le type de rglement ne peut pas tre modifi -4077, Le numro de pice du document ne peut pas tre modifi -4078, Le type du document ne peut pas tre modifi -4079, Le domaine du document ne peut pas tre modifi -4080, Le numro interne des acomptes et des chances de document ne peut pas tre modifi -4081, Ajout, modification et suppression impossible, car il existe un enregistrement dans le fichier des liens entre les rglement et les chances ayant le mme domaine, le mme type et le mme numro de pice -4082, le champ chance rgle doit tre 0 -4083, La ligne d'quilibrage doit tre gale 0 -4084, Le montant en devise du rglement doit tre gal 0 -4085, Le numro interne du rglement doit tre gal 0 -4086, Le numro de l'criture n'existe pas -4087, Le numro interne de l'criture ne peut pas tre gal 0 -4088, Le pourcentage, le montant du rglement et la ligne d'quilibrage ne peuvent pas tre, tous les trois, gaux 0 -4089, Dans le cas d'une ligne d'quilibrage, le pourcentage du rglement doit tre gal 0 -4090, Dans le cas d'une ligne d'quilibrage, le montant en devise du rglement doit tre gal 0 -4091, Dans le cas d'une ligne d'quilibrage, le montant du rglement doit tre gal 0 -4092, Le pourcentage et le montant en devise du rglement ne peuvent pas tre, tous les deux, > 0 -4093, Le pourcentage et le montant du rglement ne peuvent pas tre, tous les deux, >0 -4094, Pour une chance, le libell doit tre vide -4095, Pour un acompte, le champ chance rgle doit tre non
110

Sage

Annexe 4 Les codes erreurs Sage -4096, Pour un acompte, le montant du rglement ne peut pas tre gal 0 -4097, Pour un acompte, le pourcentage du rglement doit tre gal 0 -4098, Pour un acompte, le champ ligne d'quilibrage doit tre 0 -4099, Pour un acompte, le mode de rglement d'une chance doit tre gal 0 -4100, Le libell du rglement est de longueur > 35 caractres -4101, Le type de rglement doit tre compris entre 0 et 2 -4102, La date du rglement est obligatoire ou la date n'est pas valide -4103, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 8 caractres -4104, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine de document -4105, Le domaine doit tre du type achat ou vente -4106, Suppression impossible pour ce type de document -4107, Ajout, modification et suppression impossible, car il existe un enregistrement dans le fichier des liens entre les rglements et les chances ayant le mme domaine, le mme type et le mme numro de pice -4108, Le numro de dpt mouvement ne peut pas tre modifi -4109, Le numro interne DL_NOREF ne peut pas tre modifi -4110, Le type de prix (HT ou TTC) ne peut pas tre modifi -4111, Le conditionnement ne peut pas tre modifi -4112, La rfrence fournisseur ne peut pas tre modifie -4113, La gamme 2 ne peut pas tre modifie -4114, La gamme 1 ne peut pas tre modifie -4115, Le champ ligne de type numr de gamme ne peut pas tre modifi -4116, Le type de taxe 2 ne peut pas tre modifi -4117, Le type de taux de taxe 2 ne peut pas tre modifi -4118, Le taux de taxe 2 ne peut pas tre modifi -4119, Le type de taxe 1 ne peut pas tre modifi -4120, Le type de taux de taxe 1 ne peut pas tre modifi -4121, Le taux de taxe 1 ne peut pas tre modifi -4122, La rfrence de l'article ne peut pas tre modifie -4123, La remise exceptionnelle ne peut pas tre modifie -4124, La remise de pied ne peut pas tre modifie -4125, Le numro de ligne ne peut pas tre modifi -4126, La date du bon de livraison ne peut pas tre modifie -4127, La date du bon de commande ne peut pas tre modifie -4128, Le numro de pice du bon de livraison ne peut pas tre modifi -4129, Le numro de pice du bon de commande ne peut pas tre modifi -4130, Le Tiers ne peut pas tre modifi -4131, La date du document ne peut pas tre modifie -4132, Le numro de pice interne ne peut pas tre modifi -4133, Le type de la ligne de document ne peut pas tre modifi
111


Sage

Annexe 4 Les codes erreurs Sage -4134, Le domaine de la ligne de document ne peut pas tre modifi -4135, Le numro interne de la ligne de document ne peut pas tre modifi -4136, Diffrence entre Qt et QtRestante. -4137, Une ligne de document, avec le mme numro de ligne existe dj pour ce document -4138, Pour un document en devise, le type de prix (HT ou TTC) doit tre en HT -4139, Le prix unitaire en devise doit tre gal 0 -4140, La gamme 2 n'existe pas -4141, La gamme 1 n'existe pas -4142, La gamme 1 doit tre vide pour une ligne qui n'est pas du type numr de gamme -4143, Pour une ligne de type numr de gamme, gamme 1 et gamme 2 ne peuvent pas tre vides tous les deux -4144, La gamme 2 ne peut pas tre vide car l'article possde une gamme 2 -4145, La gamme 1 ne peut pas tre vide car l'article possde une gamme 1 -4146, La gamme 2 doit tre vide, car l'article ne possde pas de gamme 2 -4147, La gamme 1 doit tre vide, car l'article ne possde pas de gamme 1 -4148, Le dpt mouvement n'existe pas -4149, Le reprsentant n'existe pas ou n'est pas de type vendeur -4150, Le numro de dpt doit tre diffrent de 0 pour un article suivi en stock -4151, Le numro de dpt doit tre gal 0 pour un article qui n'est pas suivi en stock -4152, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail -4153, DL_NO doit tre gal 0 -4154, La date du document n'est pas identique celle renseigne dans l'entte du document -4155, Le Tiers n'est pas identique celui renseign dans l'entte de document -4156, Ce fournisseur ne fait pas parti de la liste des fournisseurs de cet article -4157, Le glossaire n'existe pas ou n'est pas associ un document -4158, L'entte de document n'existe pas -4159, L'article doit tre non suivi en stock (F_ARTICLE.AR_SUIVISTOCK = 0) ou suivi au CMUP F_ARTICLE.AR_SUIVISTOCK = 2) -4160, Le champ DL_PUTTC ne peut pas tre modifi pour les documents HT ou ayant une devise -4161, Le type du prix (TTC ou HT) doit tre en HT pour une ligne faisant rfrence aucun article -4162, Le reprsentant doit tre gal 0 -4163, Le type du prix (TTC ou HT) doit tre en HT pour un document de type achat -4165, Le poids brut et le poids net doivent tre 0 pour une ligne avec une remise de pieds ou une remise exceptionnelle -4167, La quantit livre doit tre gale 0 pour un document de type devis ou commande -4169, La quantit colise doit tre > 0

Sage

112

Annexe 4 Les codes erreurs Sage -4170, La quantit doit tre > 0 -4171, La dsignation est de longueur > 69 caractres -4172, L'article est vide ou n'est pas de type C39 ou est de longueur > 18 -4173, Une remise de pied ne peut pas tre combine avec une remise exceptionnelle -4174, Ligne de type nomenclature doit tre gale 0 -4175, Les champs DL_DateBL et DO_Date doivent tre gaux pour les documents ne provenant pas d'une transformation -4176, Les champs DL_DateBC et DO_Date doivent tre gaux pour les documents ne provenant pas d'une transformation -4177, Le numro de pice et la date du bon de livraison doivent tre vide -4178, Le numro de pice et la date du bon de commande doivent tre vide -4179, La date du document est obligatoire ou la date n'est pas valide -4180, Le numro du Tiers est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 17 caractres -4181, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 8 caractres -4182, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine de document -4183, Le domaine de la ligne de document doit tre compris entre 0 et 2 -4184, La pice est utilise dans le fichier EFINANCIEREC (donc non supprimable) -4185, Le taux d'escompte ne peut pas tre modifi, car des rglements sont associs ce document -4186, Suppression impossible de ce type de document -4187, Suppression impossible, car des rglements sont associs ce document -4188, Suppression impossible, car des lignes sont associes ce document -4189, Le Tiers payeur ne peut pas tre modifi, car des rglements sont associs ce document -4190, Le taux de conversion en devise ne peut pas tre modifi, car des rglements sont associs ce document -4191, La devise ne peut pas tre modifie, car des rglements sont associs ce document -4192, La devise ne peut pas tre modifie, car des lignes sont associes ce document -4193, Le dpt de stockage ne peut pas tre modifi, car des lignes sont associes ce document -4194, AR_RefCompose doit tre vide si l'article n'est pas nomenclature commerciale composant ou compos pour les documents de vente -4195, La catgorie tarifaire ne peut pas tre modifie, car des lignes sont associes ce document -4196, DL_Valorise n'est pas modifiable -4197, Le tiers ne peut pas tre modifi -4198, La date du document ne peut pas tre modifie -4199, Le numro de pice ne peut pas tre modifi -4200, Le type de document ne peut pas tre modifi -4201, Le domaine du document ne peut pas tre modifi
113

Sage

Annexe 4 Les codes erreurs Sage -4202, Le compte analytique n'existe pas dans le plan affaire, ou n'est pas du type dtail -4203, Le dpt de livraison n'existe pas ou n'appartient pas ce tiers -4204, Le dpt de stockage n'existe pas -4205, Ce reprsentant n'existe pas -4206, Ce numro de pice existe dj dans un autre document -4207, Le type de mouvement d'une ligne de document n'est pas modifiable -4208, Le dpt de livraison doit tre gal 0 -4209, Le reprsentant doit tre gal 0 -4210, Le dpt de stockage doit tre diffrent de 0 -4211, Un bon de livraison par facture doit tre compris entre 0 et 1 -4212, Un bon de livraison par facture doit tre gal 0 -4213, Le Tiers payeur est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 17 caractres pour les documents d'achat ou de vente, ou n'est pas vide pour les documents de type stock -4214, Le taux de conversion doit tre gal 0 -4215, Le numro du tiers est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 17 caractres -4216, La date du document est obligatoire ou la date n'est pas valide -4217, Le numro de pice est vide ou n'est pas en alphanumrique et majuscule ou est de longueur > 8 caractres -4218, Le type de document n'existe pas, n'est pas valide, ou n'est pas en accord avec le domaine de document -4220, Suppression impossible car existe dans F_ARTGLOSS -4221, Un glossaire associ une ligne de document est non modifiable -4222, Le domaine du glossaire n'est pas modifiable -4223, Le numro interne n'est pas modifiable -4224, Le raccourci du glossaire doit tre unique -4225, L'intitul du glossaire doit tre unique -4226, En ajout le numro interne doit tre 0 -4227, Si c'est un glossaire rattach une ligne de document alors la priode de fin doit tre vide -4228, Si c'est un glossaire rattach une ligne de document alors la priode de dbut doit tre vide -4229, La priode de dbut de doit pas tre suprieure la date de fin -4230, Si c'est un glossaire rattach une ligne alors le raccourci doit tre vide -4231, Si c'est un glossaire rattach une ligne alors l'intitul n'est pas renseign -4232, Si ce n'est pas un glossaire rattach une ligne alors l'intitul est obligatoire -4233, Si c'est un glossaire rattach une ligne de document alors GL_DOMAINE doit tre gal 2 -4234, La date de dbut ou de fin doit tre renseigne -4235, L'intress est non modifiable -4236, Le domaine est non modifiable

Sage

114

Annexe 4 Les codes erreurs Sage -4237, La date de dbut doit tre infrieure la date de fin -4238, AG_DOMAINE de F_AGENDA doit correspondre l'intress de P_AGENDAS -4239, Il existe dj un reprsentant -4240, Ce dpt existe dj -4241, L'intitul de l'vnement n'existe pas dans F_AGENDADET -4242, L'intitul de l'vnement ne peut tre vide -4243, Pour le domaine client ou fournisseur, la rfrence de l'intress est vide ou n'est pas en alphanumrique majuscule ou est de longueur > 17 caractres. Pour le domaine article, l'intress est vide ou n'est pas de type C39. Pour le domaine dpt ou article, l'intress est vide ou n'est pas une chane de caractres numrique -4244, Le domaine de l'agenda doit tre compris entre 0 et 4 -4245, Le numro interne de conditionnement n'est pas modifiable -4246, Le numro client ou la catgorie de clients n'est pas modifiable -4247, La rfrence article n'est pas modifiable -4248, Le tarif de conditionnement est unique -4249, La catgorie tarifaire n'existe pas dans F_ARTCLIENT -4250, Le client n'existe pas dans F_ARTCLIENT -4251, L'article de F_TARIFCOND n'est pas le mme que celui F_CONDITION, ou le conditionnement n'existe pas pour l'article -4252, Le client n'est pas en majuscule (avec longueur <= 17 car ), ou, la catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou 2 derniers caractres non numriques (et compris entre 1 et 32) -4253, Le prix de l'lment de conditionnement ne doit pas tre nul. -4254, Le numro interne de l'lment de conditionnement ne doit pas tre nul -4255, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4256, Suppression impossible car existe dans F_TARIFCOND -4257, La rfrence article n'est pas modifiable -4258, Le numro interne n'est pas modifiable -4259, La quantit de conditionnement existe dj -4260, L'article est gamme, donc on ne peut avoir de conditionnement -4261, L'article ne possde pas de conditionnement -4262, Le numro interne de l'lment de conditionnement doit tre 0 en ajout -4263, La quantit de l'numr de conditionnement doit tre > 0 -4264, L'numr de conditionnement est vide ou est de longueur > 21 caractres -4265, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4266, L'article ne peut pas appartenir sa nomenclature -4267, La rfrence article n'est pas modifiable -4268, La composante existe dj -4269, L'numr de gamme 2 n'existe pas dans F_ARTGAMME -4270, L'numr de gamme 1 n'existe pas dans F_ARTGAMME

Sage

115

Annexe 4 Les codes erreurs Sage -4271, L'numr de gamme 2 est non nul alors que la composante n'est pas double gamme -4272, La composante est double gamme alors que l'numr de gamme 2 est nul -4273, L'numr de gamme 1 est non nul alors que la composante n'est pas gamme -4274, La composante est gamme alors l'numr de gamme 1 est nul -4276, La profondeur pour une nomenclature ne peut tre >= 10 -4277, Une nomenclature ne peut contenir un article contenant lui mme l'article principal -4278, S'il y a un numr de gamme 2, l'numr de gamme 1 doit tre prsent -4279, La quantit d'articles de dtail dans l'article principal doit tre non nul -4280, La rfrence de l'article de dtail n'est pas de type C39 ou est de longueur > 18 caractres -4281, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4282, Le fournisseur, le client ou la catgorie tarifaire n'est pas modifiable -4283, La rfrence article n'est pas modifiable -4284, Cette tranche de tarification existe dj -4285, La catgorie tarifaire n'existe pas dans F_ARTCLIENT -4286, Le Tiers n'existe pas dans F_ARTFOURNISS ou F_ARTCLIENT -4287, Le Tiers n'existe pas dans la base comptable -4288, Le type de la remise doit tre compris entre 0 et 2 -4289, Le Tiers n'est pas en majuscule (avec longueur <= 17 car ), ou, la catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou 2 derniers caractres non numriques (et compris entre 1 et 32) -4290, La borne suprieure de la remise doit tre <> 0 -4291, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4292, La rfrence article, le fournisseur ou la catgorie tarifaire, les numros des numrs de gamme 1 et 2 existent dj -4293, Le numro de l'numr de gamme 2 n'est pas modifiable -4294, Le numro de l'numr de gamme 1 n'est pas modifiable -4295, Le tiers ou la catgorie tarifaire n'est pas modifiable -4296, La rfrence article n'est pas modifiable -4297, La catgorie tarifaire n'existe pas dans F_ARTCLIENT -4298, Le client ou le fournisseur n'existe pas dans F_ARTCLIENT ou F_ARTFOURNISS -4299, La gamme 2 n'existe pas -4300, La gamme 1 n'existe pas -4301, L'article est double gamme, le numro interne de gamme 2 doit donc tre non nul -4302, L'article ne possde pas de gamme 2, alors que le numro interne de gamme2 est non nul -4303, L'article n'est pas gamme -4304, Le tiers n'existe pas dans la base comptable

Sage

116

Annexe 4 Les codes erreurs Sage -4305, Le client ou le fournisseur n'est pas en majuscule (avec longueur <= 17 car ), ou la catgorie tarifaire n'est pas de longueur = 3 car ou la premire lettre <> 'a' ou les 2 derniers caractres non numriques (et compris entre 1 et 32) -4307, La gamme 1 doit tre renseigne : valeur non nulle -4308, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4309, Suppression impossible car l'article existe dans F_TARIFCOND -4310, Suppression impossible car l'article existe dans F_TARIFQTE -4311, Suppression impossible car l'article existe dans F_TARIFGAM -4312, Modification impossible de la gamme car un client ou une catgorie tarifaire existe dj dans F_TARIFQTE -4313, La catgorie tarifaire n'est pas modifiable -4314, Le client n'est pas modifiable -4315, La rfrence article n'est pas modifiable -4316, La catgorie tarifaire doit tre unique -4317, Le client doit tre unique -4318, S'il y a une devise, le coefficient doit tre nul -4319, S'il y a une devise, il ne doit y avoir aucun mode d'arrondi -4320, S'il y a une devise, le prix doit tre HT -4321, Si aucune devise, le prix de vente en devise doit tre nul -4322, Si on a une devise, le prix de vente doit tre nul -4323, On ne peut avoir la fois une catgorie tarifaire et un client -4324, Impossible d'avoir une gamme montant ou quantit sans avoir de remise gamme -4325, Impossible d'avoir une remise gamme sans avoir de gamme de type quantit ou montant -4326, On ne peut avoir une remise gnrale et une tarification quantit ou montant -4327, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4328, Modification impossible de EG_CHAMP car existe dans F_TARIFQTE -4329, Suppression impossible car existe dans F_TARIFQTE -4330, Suppression impossible car existe dans F_TARIFGAM -4331, Suppression impossible du fournisseur principal -4332, Modification impossible du fournisseur principal -4333, Modification impossible du fournisseur -4334, Modification impossible de la rfrence article -4335, La rfrence fournisseur doit tre unique -4336, Le fournisseur doit tre unique -4337, Impossible d'avoir un prix d'achat en devise non nul sans avoir devise -4338, Impossible d'avoir une devise avec un prix d'achat non nul -4339, Impossible d'avoir une gamme montant ou quantit sans avoir de remise gamme -4340, Impossible d'avoir une remise gamme sans avoir de gamme

Sage

117

Annexe 4 Les codes erreurs Sage -4341, On ne peut avoir une remise gnrale et une remise gamme -4342, La quantit minimale de commande doit tre > colisage fournisseur -4343, La rfrence fournisseur n'est pas de type C39 est de longueur > 18 caractres -4344, Le fournisseur est vide, est de longueur > 17 caractres ou n'est pas en majuscule -4345, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4346, Changement du type de gamme alors que l'article n'est pas double gamme -4347, L'article n'est pas gamme -4348, L'numr existe dj -4349, Modification impossible du type de gamme ou suppression impossible, car l'numr est utilis dans F_TARIFGAM -4350, Modification impossible du type de gamme ou suppression impossible, car l'numr est utilis dans F_GAMSTOCK -4351, Modification impossible du type de gamme ou suppression impossible, car l'numr est utilis dans F_DOCLIGNE -4352, Modification impossible du type de gamme ou suppression impossible, car l'numr est utilis dans F_NOMENCLAT -4353, La rfrence article est non modifiable -4354, Numro interne non modifiable -4355, On ne peut avoir 2 numrs de gamme avec le mme nom -4356, Le numro interne doit tre gal 0 en ajout -4357, La rfrence article est vide ou n'est pas de type C39 ou est de longueur > 18 caractres -4358, Suppression impossible car l'article existe dans P_PREFERENCE (article/escompte) -4359, Suppression impossible car l'article existe dans F_AGENDA -4360, Suppression impossible car l'article existe dans F_TARIFSELECT -4361, Suppression impossible car l'article existe dans F_TARIF -4362, Suppression impossible car l'article existe dans F_ARTCOMPTA -4363, Suppression impossible car l'article existe dans F_ARTGLOS -4364, Suppression impossible car l'article existe dans F_GAMSTOCK -4365, Suppression impossible car l'article existe dans F_TARIFQTE -4366, Suppression impossible car l'article existe dans F_ARTCLIENT -4367, Suppression impossible car l'article existe dans F_ARTFOURNISS -4368, Modification impossible de la rfrence article -4369, Changement du suivi de stock = Aucun -> modification ou suppression impossible car l'article existe dans F_ARTSTOCK -4370, Changement de conditionnement, modification impossible de l'article car il existe dans F_TARIFCOND ou suppression impossible -4371, Changement de conditionnement, modification impossible de l'article car il existe dans F_CONDITION ou suppression impossible -4372, Modification ou Suppression impossible car l'article existe dans F_NOMENCLAT

Sage

118

Annexe 4 Les codes erreurs Sage -4373, Changement de gamme ou de suivi de stock. La modification est impossible car l'article existe dans F_DOCLIGNE, ou suppression impossible car il existe dans F_DOCLIGNE -4374, Changement de gamme, modification ou suppression impossible de l'article car il existe dans F_TARIFGAMME -4375, Changement de gamme, modification ou suppression impossible de l'article car il existe dans F_ARTGAMME -4376, L'numr n'existe pas -4377, Si l'article possde un raccourci, celui ci doit tre unique -4378, Si l'article possde un article de substitution, il ne doit pas tre gamme -4379, L'article est unique -4380, Le suivi en stock de l'article, srialis ou par lot est incompatible avec un article gamme ou conditionnement ou gr en vente au dbit -4381, L'article ne peut possder un conditionnement et tre gr en vente au dbit -4382, L'article ne peut avoir une gamme et tre gr en vente au dbit -4384, L'article ne peut tre gamme et possder un conditionnement -4385, Si l'article est double gamme, alors la gamme 1 et la gamme 2 doivent tre renseignes. Si l'article ne possde qu'une seule gamme (gamme 1) alors seule la gamme 1 doit tre renseigne -4386, L'article ne peut tre son propre article de substitution -4387, Le code famille est vide ou n'est pas en Alpha Numrique Majuscule ou est de longueur > 10 caractres -4388, La dsignation article est obligatoire -4389, L'article est vide ou n'est pas de type C39 ou est de longueur > 18 -4390, Le code famille n'est pas modifiable -4391, Le tarif est unique -4392, La remise gnrale ne doit pas tre 0 -4393, Le tiers est vide ou n'est pas de type alphanumrique et majuscule ou est de longueur > 17 caractres -4394, La famille est vide ou n'est pas de type alphanumrique et majuscule ou est de longueur > 10 caractres -4395, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation. -4396, L'article n'existe pas -4397, Le fournisseur n'existe pas -4398, Le client n'existe pas -4399, La famille n'existe pas -4400, Diffrence entre Qt et QtRestante. -4401, En ajout IM_DotEco,IM_DotFiscal,IM_TotCession doivent tre nulle. -4402, En ajout l'immobilisation ne peut pas faire rfrence une criture. -4403, En ajout MajCpta doit tre 0. -4404, En ajout TypeCession doit tre sur CessionNulle. -4405, En ajout IM_Etat incorrect. -4406, L'immobilisation existe dj.

Sage

119

Annexe 4 Les codes erreurs Sage -4407, L'immobilisation n'existe pas. -4408, Il existe un bloc-notes pour cette immobilisation donc non supprimable. -4409, Le bloc note existe dj. -4410, L'numr statistique n'existe pas. -4411, L'numr statistique existe. -4412, Le fichier des lieux de biens doit contenir un lieu principal. -4413, Le fichier des lieux de biens doit contenir un lieu principal. -4414, Le lieu n'existe pas. -4415, Le lieu existe dj. -4416, En ajout LI_No doit tre 0. -4417, Le compte analytique est dj rattach cette ventilation analytique. -4418, Suppression impossible, il existe des enregistremetns dans FamAnal ou dans ImmoAnal. -4419, Champs non valide pour une famille ou une immobilisation non suivie. -4420, Taux modifiable qu'en exceptionnel. -4421, Seul le taux peut tre modifi. -4422, Champs non valide pour une famille de type total. -4423, La nature de bien n'est plus modifiable s'il existe des immobilisations ou des FAMAMORT pour la famille. -4424, FA_CodeFamille et FA_Type ne sont jamais modifiables. -4425, Pour une famille de type TOTAL seul l'intitul est modifiable. -4426, La famille n'existe pas. -4427, La famille existe dj. -4428, Coeff. nul en mode dgressif. -4429, Coeff. non nul en mode autre que dgressif. -4430, Si la famille n'est pas suivie en amortissement les 2 dures doivent tre nulles. -4431, CO_NO fait rfrence un collaborateur inexistant, ou doit tre gal 0 pour une utilisation sans la gestion commerciale -4432, DE_NO fait rfrence un dpt inexistant, ou doit tre gal 0 pour une utilisation sans la gestion commerciale -4433, L'criture gnrale ne peut tre supprime car elle est rapproche -4434, Ce compte analytique ne peut tre utilis par une criture analytique car le compte a l'option 'Mise en sommeil' de coch -4435, Le compte tiers de contrepartie n'existe pas -4436, Le nombre de dcimales des dotations Quantit du poste budgtaire est suprieure celui paramtr dans la base (A Propos de) -4437, Le compte tiers de contrepartie n'existe pas -4438, Le compte tiers de contrepartie est de longueur > 13 caractres -4439, Cet lment de banque est utilis dans un extrait bancaire, il ne peut donc pas tre supprim -4440, Ce RIB existe dj -4441, Champs non valides pour une famille ou une immobilisation soumise la taxe professionnelle.

Sage

120

Annexe 4 Les codes erreurs Sage -4442, Le journal est utilis dans un modle analytique, il ne peut donc pas tre supprim. -4443, Le code de taxe doit tre unique -4444, On ne peut modifier la date de cration du compte de tiers -4445, La suppression d'un compte analytique utilis dans les critures reporting est impossible -4446, Le nombre de dcimales des dotations Quantit pour les rpartitions du compte analytique est suprieure celui paramtr dans la base (A Propos de) -4447, La rpartition Quantit de type Equilibre ou % doit tre gale 0 -4448, On ne peut modifier la date de cration du compte analytique -4449, Le nombre de dcimales des dotations Quantit du compte analytique est suprieure celui paramtr dans la base (A Propos de) -4450, La rpartition Quantit de type Equilibre ou % doit tre gale 0 -4451, Le nombre de dcimales des dotations Quantit pour les rpartitions du compte est suprieure celui paramtr dans la base (A Propos de) -4452, Le nombre de dcimales des dotations Quantit du compte est suprieure celui paramtr dans la base (A Propos de) -4453, La suppression d'un compte gnral utilis dans les critures reporting est impossible -4454, On ne peut modifier la date de cration du compte gnral -4455, Affectation d'un budget de type autre que dtail -4456, Le champ N_ANALYTIQUE doit tre 0 pour un modle de grille de type gnral, ou doit tre compris entre 1 et 10 pour un modle de type analytique -4457, Pour modifier le compte gnral principal d'un tiers, ce compte gnral doit d'abord tre associ ce tiers dans la table F_COMPTETG -4458, Suppression impossible car il existe des enregistrements concernant ce tiers dans la table F_COMPTETG -4459, L'criture doit tre non clture -4460, Cet numr statistique existe dj -4461, L'intitul est vide ou de longueur > 21 -4462, Ce registre taxe existe dj -4463, Le code journal analytique est utilis dans les critures d'OD et reports analytiques -4464, Le compte de Taxe (1 5) fait rfrence un compte de taxe incorrect -4465, Le numro de compte tiers fait rfrence un tiers incorrect -4466, Le numro interne n'est pas modifiable -4467, Ce registre rvision existe dj -4469, Le code journal analytique n'est pas modifiable -4470, Pour TA_TTAUX[i]=0, le nombre de dcimales de RT_MONTANT[i] est incorrect (montant), pour TA_TTAUX[i]=1, le nombre de dcimales de RT_MONTANT[i] ne peut pas tre > 4, pour TA_TTAUX[i]=2, le nombre de dcimales de RT_MONTANT[i] est incorrect (montant) -4471, Pour TA_TTAUX[i]=0, le nombre de dcimales de RT_BASE[i] est incorrect (montant), pour TA_TTAUX[i]=1, RT_BASE[i] doit tre 0, pour TA_TTAUX[i]=2, le nombre de dcimales de RT_BASE[i] est incorrect. -4472, Le nombre de dcimales de TA_TAUX[i=1 5] ne peut pas tre > 4 (double)

Sage

121

Annexe 4 Les codes erreurs Sage


Sage

-4473, La date de dbut est suprieure la date de fin -4474, EC_NO utilis dans REGTAXE (donc non supprimable) -4475, EC_NO utilis dans REGREVISION (donc non supprimable) -4476, EC_NO utilis dans ECRITUREA (donc non supprimable) -4477, On ne peut ajouter une criture de type centralisatrice (EC_Ctype=1) avec EcritureCAddinJournal, car cela est gre automatiquement -4478, Le champ EC_CLOTURE n'est pas modifiable -4479, Le champ EC_CTYPE n'est pas modifiable -4480, Le numro de ligne doit tre gal 1 -4481, Le numro de ligne ne doit pas dpasser 999 -4482, Le numro de ligne doit suivre le numro de ligne de la prcdente criture analytique -4483, Le jour, la pice, le compte, le sens ou le montant de l'criture a t modifi. L'criture doit donc tre enregistre comme non imprime (EC_Impression=0) -4484, Le numro de ligne n'est pas modifiable -4485, Le numro analytique n'est pas modifiable -4486, Rfrence un compte analytique inexistant -4487, L'criture analytique existe dj -4488, Rfrence une criture inexistante ou qui n'est pas de type NORMAL -4489, La priode saisie pour le registre de taxe n'est pas identique la priode de l'criture gnrale associe -4490, La suppression des critures a t dsactive pour ce dossier -4491, L'criture est rapproche, donc non supprimable -4492, L'criture est lettre, donc non supprimable -4493, L'criture est pointe, donc non supprimable -4494, L'criture est de type centralisatrice (EC_Ctype=1), donc non supprimable -4495, L'criture est clture, donc non supprimable -4496, EC_NOLINK ne peut tre remis 0 -4497, Le champ JO_NUM n'est pas modifiable -4498, Le champ JM_DATE n'est pas modifiable -4499, Le champ EC_NO n'est pas modifiable -4500, Le nombre de dcimales de EC_MONTANT est incorrect (montant) -4501, Pour N_DEVISE=0, le nombre de dcimales de EC_QUANTITE est incorrect (quantit), Pour N_DEVISE<>0, le nombre de dcimales de EC_QUANTITE est incorrect. -4502, Le nombre de dcimales de EC_PARITE ne peut pas tre > 6 (double) -4503, Le dlai d'chance est dpass -4504, Ce compte gnral ne peut tre utilis -4505, CT_NUM fait rfrence un tiers incorrect -4506, Le numro de compte gnral de contrepartie fait rfrence un compte gnral (de type dtail, CG_TYPE=0) incorrect -4507, Le numro de compte gnral fait rfrence un compte gnral (de type dtail, CG_TYPE=0) incorrect -4508, Ce champ n'est pas modifiable
122

Annexe 4 Les codes erreurs Sage


Sage

-4509, Les critures centralisatrices (EC_CTYPE=1) ne peuvent pas tre ajouter, modifier ou supprimer -4510, Le champ EC_IMPRESSION n'est pas modifiable -4511, Impossible d'ajouter une criture dans un journal cltur (option : 'A propos de' non coche) -4512, Le journal associ l'criture n'est pas de JO_TYPE=2 -4513, La date de l'criture fait parti d'un exercice archiv -4514, JM_DATE+EC_JOUR ne constitue pas une date comprise dans les exercices de la base -4515, Rfrence un journal inexistant -4516, Rfrence un JMOUV inexistant -4517, Le nombre de dcimales de EA_QUANTITE est incorrect (quantit) -4518, Le nombre de dcimales de EA_MONTANT est incorrect (montant) -4519, Le numro de compte analytique est vide ou n'est pas de type alphanumrique et majuscule ou de longueur > 13 -4520, Le numro analytique n'est pas dans [1..10] -4521, Si EC_NOLINK est non nul, il doit correspondre un numro d'criture existante -4522, EC_NO doit tre 0 -4523, Pour EC_POINT=0, EC_POINTAGE doit tre vide, pour EC_POINT=1, EC_POINTAGE ne doit pas tre vide -4524, Pour EC_LETTRE=0, EC_LETTRAGE doit tre en minuscule ou vide, pour EC_LETTRE=1, EC_LETTRAGE doit tre en majuscule et non vide -4525, Le montant doit tre diffrent de 0 -4526, Le numro de compte gnral est vide ou n'est pas de type compte -4527, La date de saisie n'est pas une date valide -4528, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1 -4529, Le code journal est vide ou de longueur > 6 -4530, La priode n'est pas dans la liste des exercices de la base -4531, Le JMOUV est utilis dans le fichier des critures (donc non supprimable) -4532, Dans J_MOUV, JM_CLOTURE doit tre 0 (non cltur) -4533, Dans J_MOUV, JM_IMPRESSION doit tre 0 (non imprim) -4534, Ce JMOUV existe dj -4535, Rfrence un journal inexistant -4536, La priode n'est pas une date valide ou le jour de JM_DATE est diffrent de 1 -4537, Le code journal est vide ou de longueur > 6 -4538, Le budget est dj utilis dans EBUDGET (donc non supprimable) -4539, Le nombre de dcimales de BD_DOTATION est incorrect (montant) -4540, Le numro de compte gnral de l'lment de budget n'est pas modifiable -4541, Il existe dj un lment de budget de mme type et de mme BD_VREPART associ un autre budget -4542, Cet lment de budget fait rfrence un budget inexistant -4543, Le numro de compte gnral de l'lment de budget n'existe pas -4544, Cet lment de budget existe dj
123

Annexe 4 Les codes erreurs Sage -4545, Le numro interne fait rfrence un budget inexistant -4546, Le budget est utilis par un autre budget (donc non supprimable) -4547, Le champ BD_VREPART n'est pas modifiable -4548, Le type de rpartition n'est pas modifiable -4549, Le numro de budget n'est pas modifiable -4550, Le type n'est pas modifiable -4551, Le numro interne n'est pas modifiable -4552, Pour BD_TREPART>=11, BD_VREPART ne correspond pas un numr statistique existant -4553, Pour BD_TREPART>=1 et BD_TREPART<=10, BD_VREPART ne correspond pas un compte analytique existant -4554, Le numro de budget centralisateur ne correspond pas un budget existant de type=2 -4555, Ce budget existe dj -4556, Le numro de compte gnral est vide ou n'est pas de type compte -4557, Le numro interne doit tre nul -4558, Pour BD_TREPART=0, BD_VREPART doit tre nul -4559, L'intitul est vide ou de longueur > 35 -4560, Le numro de budget est vide ou n'est pas de type alphanumrique et majuscule ou de longueur > 13 -4561, L'intitul du libell existe dj -4562, Le raccourci n'est pas du type alphanumrique et majuscule ou de longueur > 6 -4563, L'intitul est vide ou de longueur > 35 -4564, Ce modle existe dj dans EMODELEA (donc non supprimable) -4565, Le nombre de dcimales de EA_MONTANT est incorrect (montant) -4566, Cette date d'abonnement existe dj -4567, Rfrence un modle d'abonnement inexistant -4568, Le numro interne n'est pas modifiable -4569, L'intitul du modle d'abonnement existe dj -4570, Le type de journal n'est pas le mme que celui de la pice -4571, Rfrence une pice inexistante -4572, Rfrence un code journal inexistant -4573, Le numro interne doit tre 0 -4574, Champs non valides pour une famille ou une immobilisation non soumise la taxe professionnelle. -4575, Il existe des loyers clturs pour cette immobilisation donc non supprimable. -4576, La date de dbut est suprieure la date de Fin -4577, Le code journal est vide ou de longueur > 6 -4578, L'intitul est vide ou de longueur > 35 -4579, Ce modle existe dj dans EMODELER (donc non supprimable) -4580, Pour ER_TREPART=1, ER_VREPART ne peut pas tre diffrent de 0

Sage

124

Annexe 4 Les codes erreurs Sage -4581, Pour ER_TREPART=0, le nombre de dcimales de ER_VREPART ne peut pas tre > 4 (double), pour ER_TREPART=2, le nombre de dcimales de ER_VREPART est incorrect (montant) -4582, Cet lment de modle de rglement existe dj -4583, Ce modle de rglement existe dj -4584, Le numro interne n'est pas modifiable -4585, L'intitul du modle de rglement existe dj -4586, Les jours de tombe (1 6) ne sont pas tris par jour croissant -4587, L'intitul est vide ou de longueur > 35 -4588, Le numro interne doit tre 0 -4589, Modle utilis dans EMODELEG (donc non supprimable) -4590, Pour EG_QTRepart=1, EG_QVREPART ne peut pas tre diffrent de 0 -4591, Pour EG_TREPART=1, EG_VREPART ne peut pas tre diffrent de 0 -4592, Pour EG_QTREPART=0, le nombre de dcimales de EG_QVREPART ne peut pas tre > 4, (double), pour EG_QTREPART=2, le nombre de dcimales de EG_QVREPART est incorrect (montant) -4593, Pour EG_TREPART=0, le nombre de dcimales de EG_VREPART ne peut pas tre > 4, (double), pour EG_TREPART=2, le nombre de dcimales de EG_VREPART est incorrect (montant) -4594, Le numro analytique n'est pas modifiable -4595, Rfrence un modle de grille inexistant -4596, Rfrence un compte analytique inexistant -4597, Rfrence un compte gnral inexistant -4598, Cet lment de modle de grille existe dj -4599, Le type n'est pas modifiable -4600, Le numro interne n'est pas modifiable -4601, L'intitul du modle de grille existe dj -4602, Le numro de compte gnral ou analytique est vide ou n'est pas de type alphanumrique et majuscule ou de longueur > 13 -4603, Le numro interne doit tre 0 -4604, L'intitul est vide ou est de longueur > 35 caractres -4605, La pice est utilise dans le fichier des pices analytiques (donc non supprimable) -4606, La pice est utilise dans le fichier des pices gnrales (donc non supprimable) -4607, Pour PA_TQUANTITE=2, PA_VQUANTITE ne peut pas tre diffrent de 0 -4608, Pour PA_TMONTANT=2, PA_VMONTANT ne peut pas tre diffrent de 0 -4609, Le numro de ligne analytique doit tre gal 1 -4610, Le numro de ligne analytique ne doit pas dpasser 999 -4611, Le numro de ligne analytique doit tre conjoint (+1) au numro de ligne analytique de la prcdente pice analytique -4612, Le numro de ligne analytique n'est pas modifiable -4613, Le numro de ligne doit tre gal 1 -4614, Le numro de ligne ne doit pas dpasser 999

Sage

125

Annexe 4 Les codes erreurs Sage -4615, PG_LIGNE doit tre conjoint (+1) au PG_LIGNE de la prcdente pice gnrale -4616, Pour PA_TQUANTITE=3 ou 4, le nombre de dcimales de PA_VQUANTITE ne peut pas tre > 4, (double), pour PA_TQUANTITE=0 ou 1, le nombre de dcimales de PA_VQUANTITE est incorrect (montant) -4617, Pour PA_TMONTANT=3 ou 4, le nombre de dcimales de PA_VMONTANT ne peut pas tre > 4, (double), pour PA_TMONTANT=0 ou 1, le nombre de dcimales de PA_VMONTANT est incorrect (montant) -4618, La pice est utilise dans le fichier des modles analytiques (donc non supprimable) -4619, Le numro analytique n'est pas modifiable -4620, Cette pice analytique existe dj -4621, Rfrence une pice gnrale inexistante -4622, Le numro de compte analytique est inexistant -4623, Le Champ PG_LIGNE n'est pas modifiable -4624, Cette pice gnrale existe dj -4625, Ce numro interne ne correspond pas celui d'une pice existante -4626, Ce numro de compte tiers n'existe pas -4627, Le compte gnral de contrepartie n'existe pas -4628, Le numro de compte gnral n'existe pas -4629, Le type de journal n'est pas modifiable -4630, Le numro de pice n'est pas modifiable -4631, Cet intitul de pice existe dj -4632, L'numr statistique Taxe Professionnelle n'existe pas. -4633, Incohrence entre le type de rpartition et sa valeur. -4634, Erreur sur le champ CA_NUM -4635, Le montant est de longueur > 17 caractres -4636, La quantit est de longueur > 17 caractres -4637, La parit est de longueur > 17 caractres -4638, L'chance est de longueur > 6 caractres -4639, L'intitul est de longueur > 35 caractres -4640, Le numro de compte tiers est de longueur > 17 caractres -4641, Le compte gnral de contrepartie est de longueur > 13 caractres -4642, Le numro de compte gnral est vide ou n'est pas de type compte -4643, La rfrence pice est de longueur > 17 caractres -4644, La pice est de longueur > 13 caractres -4645, Le jour est de longueur > 2 caractres -4646, Le numro interne doit tre 0 -4647, L'intitul est vide est de longueur > 35 caractres -4648, BQ_NO utilis dans les lments de banque (donc non supprimable) -4649, Mauvais RIB (EB_AGENCE, EB_GUICHET, EB_COMPTE ou EB_CLE incorrect) -4650, Ce code journal d'lment de banque ne correspond pas un journal de type Trsorerie

Sage

126

Annexe 4 Les codes erreurs Sage -4651, Rfrence un code journal inexistant -4652, L'immobilisation n'est pas de type Biens ou n'est pas soumise Taxe professionnelle: Champ non modifiable ! -4653, Rfrence une banque inexistante -4654, Le compte est vide ou n'est pas de type alphanumrique et en majuscule ou est de longueur > 11 caractres -4655, Le guichet est vide ou est de longueur > 5 caractres -4656, L'agence est vide ou est de longueur > 5 caractres -4657, Le numro interne n'est pas modifiable -4658, Cet abrg de banque existe dj -4659, Le numro interne doit tre 0 -4660, L'abrg est vide ou est de longueur > 17 caractres -4661, L'intitul est vide ou est de longueur > 35 caractres -4662, Le code journal est utilis dans le fichier des lments de banque (donc non supprimable) -4663, Le code journal est utilis dans le fichier JMOUV (donc non supprimable) -4664, Le numro de compte gnral n'est pas modifiable -4665, Le type de journal n'est pas modifiable -4666, Le code journal n'est pas modifiable -4667, Ce code journal existe dj -4668, Rfrence un compte gnral inexistant -4669, L'option contrepartie/ligne n'est pas gale 0 pour un type de journal <> 2 -4670, Pour JO_TYPE=0 ou JO_TYPE=1, le numro de compte gnral doit tre vide -4671, Si le type de code journal=2, le numro de compte gnral ne peut tre vide -4672, L'intitul du code journal est vide ou est de longueur > 35 caractres -4673, Le code journal est vide ou de longueur > 6 caractres -4674, Non supprimable car existe dans les lments de taxe -4675, Pour TA_TTAUX=0 ou 2, le nombre de dcimales de TA_TAUX ne peut pas tre > 4 (double), pour TA_TTAUX=1, le nombre de dcimales de TA_TAUX est incorrect (montant) -4676, Le numro de compte gnral n'est pas modifiable -4677, Cet lment de taxe existe dj -4678, Le champ TA_NO n'est pas modifiable -4679, Ce code journal analytique existe dj -4680, Rfrence un compte gnral inexistant -4681, Le numro interne n'est pas modifiable -4682, Le compte gnral est vide ou n'est pas de type compte -4683, L'intitul de la taxe est vide ou est de longueur > 35 caractres -4684, Le compte tiers est utilis dans le fichier des lieux de livraison client (donc non supprimable) -4685, Le compte tiers est utilis dans le fichier des rglements tiers (donc non supprimable)

Sage

127

Annexe 4 Les codes erreurs Sage -4686, Le compte tiers est utilis dans le fichier des banques tiers (donc non supprimable) -4687, Pour RT_TREPART=1, RT_VREPART ne peut pas tre diffrent de 0 -4688, L'intitul de livraison existe dj -4689, Pour type de rpartition=0, le nombre de dcimales de la valeur de rpartition ne peut tre > 4, pour type de rpartition=2, le nombre de dcimales de la valeur de rpartition est incorrect (montant) -4690, Le nombre de dcimales ne peut tre > 4 pour CT_TAUX[i] (double) -4691, Nombre de dcimales incorrect pour le plafond d'assurance crdit (montant) -4692, Nombre de dcimales incorrect pour l'encours (montant) -4693, Ce tiers est tiers principal d'un compte gnral (donc non supprimable) -4694, Le numro de compte gnral n'est pas modifiable -4695, Le CompteTG existe dj -4696, Le numro de compte gnral principal est vide ou n'est pas de type compte -4697, Le lieu de livraison principal d'un tiers n'est pas supprimable -4698, Le numro interne du lieu de livraison n'est pas modifiable -4699, Ce lieu de livraison doit tre principal pour ce tiers -4700, Le numro interne de lieu de livraison doit tre 0 -4701, Le rglement tiers existe dj -4702, Cette banque est la banque principale d'un tiers (donc non supprimable) -4703, Le numro de banque tiers n'est pas modifiable -4704, Rfrence un compte tiers inexistant -4705, Le numro de compte tiers est utilis dans le fichier des registres de taxe (donc non supprimable) -4706, Le numro de compte tiers est utilis dans le fichier des tiers (donc non supprimable) -4707, Le compte tiers est utilis dans le fichier des critures (donc non supprimable) -4708, Le type de tiers n'est pas modifiable -4709, Le numro de compte tiers n'est pas modifiable -4710, Le compte tiers existe dj -4711, Rfrence un numr statistique inexistant -4712, Le numro de compte tiers payeur fait rfrence un tiers inexistant -4713, Rfrence une banque tiers inexistante -4714, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail -4715, L'intitul du lieu de livraison est vide ou de longueur > 35 caractres -4716, RT_JOURTB n'est pas tri par jour croissant -4717, Les jours de tombe (1 6) ne sont pas dans [0..31] -4718, La valeur de rpartition ne doit pas tre 0 -4719, Le numro de banque tiers doit tre 0 -4720, Mauvais RIB (BT_AGENCE, BT_GUICHET, BT_COMPTE ou BT_CLE incorrect) -4721, L'intitul de la banque tiers est vide ou est de longueur > 35 caractres -4722, Le numro de compte gnral principal est vide ou n'est pas de type compte

Sage

128

Annexe 4 Les codes erreurs Sage -4723, L'intitul du compte tiers est vide ou de longueur > 35 caractres -4724, Le numro de compte tiers est vide ou n'est pas de type alphanumrique et en majuscule ou de longueur > 17 caractres -4725, Le compte reporting est utilis dans le fichier des comptes gnraux (donc non supprimable) -4726, Le champ type n'est pas modifiable -4727, Le numro de compte reporting n'est pas modifiable -4728, Le compte reporting existe dj -4729, L'intitul du compte reporting est vide ou de longueur > 35 caractres -4730, Le numro de compte reporting est vide ou n'est pas de type alphanumrique et en majuscule ou de longueur > 13 -4731, Le compte analytique est utilis dans le fichier COMPTEABUDGETG (donc non supprimable) -4732, Le compte analytique est utilis dans le fichier COMPTEABUDGET (donc non supprimable) -4733, Nombre de dcimales incorrect pour CA_BGVREPART[i] (montant) -4734, Nombre de dcimales incorrect pour CA_BDOTATION[i] (montant) -4735, Le Champ numro de compte gnral n'est pas modifiable -4736, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail -4737, CompteABudgetG existe dj -4738, Champs non modifiables pour une famille ou une immobilisation non suivie. -4739, Le numro de compte gnral est vide ou n'est pas de type compte -4740, Rfrence un compte analytique inexistant ou qui n'est pas de type dtail -4741, Le CompteABudget existe dj -4742, L'intitul du code journal analytique est vide ou est de longueur > 35 caractres -4743, Le compte analytique est utilis dans le fichier des Budgets Analytiques des comptes gnraux (donc non supprimable) -4744, Le compte analytique est utilis dans le fichier des Budgets (donc non supprimable) -4745, Le compte analytique est utilis dans le fichier des lments de modles de grille (donc non supprimable) -4746, Le compte analytique est utilis dans le fichier des critures analytiques (donc non supprimable) -4747, Le type du compte analytique n'est pas modifiable -4748, Le numro du compte analytique n'est pas modifiable -4749, Le numro analytique n'est pas modifiable -4750, Le compte analytique existe dj -4751, Le numro d'analyse doit tre 1, le report 0 , le raccourci du compte analytique vide pour un compte analytique totalisateur -4752, Le raccourci du compte analytique n'est pas du type alphanumrique et en majuscule ou de longueur > 6 -4753, L'intitul du compte analytique est vide ou de longueur > 35 -4754, Le numro de compte analytique est vide ou n'est pas de type alphanumrique et en majuscule ou de longueur > 13

Sage

129

Annexe 4 Les codes erreurs Sage -4755, Le compte gnral est utilis dans le fichier des Budgets analytiques des comptes gnraux (donc non supprimable) -4756, Le compte gnral est utilis dans le fichier des Budgets des comptes gnraux (donc non supprimable) -4757, Le compte gnral est utilis dans le fichier des Blocs Notes (donc non supprimable) -4758, CompteGMvts ncessite au moins 1 compte gnral ou 1 tiers en paramtre -4759, Nombre de dcimales incorrect pour une valeur de rpartition (montant) -4760, Nombre de dcimales incorrect pour une valeur de dotation (montant) -4761, Le numro analytique n'est pas modifiable -4762, Le numro du compte analytique n'est pas modifiable -4763, Rfrence un compte analytique inexistant ou qui n'est pas de type dtail -4764, Le compteGBudgetA existe dj -4765, Le type de rpartition n'est pas dans [0..2] -4766, Le numro du compte analytique est vide ou n'est pas de type alphanumrique et majuscule ou de longueur > 13 -4767, Le CompteGBudget existe dj -4768, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail -4769, Le bloc notes des comptes existe dj -4770, Le bloc notes est vide ou de longueur > 255 caractres -4771, Le code journal analytique est vide ou de longueur > 6 caractres -4772, Le compte gnral est utilis dans le fichier des comptes gnraux des budgets des comptes analytiques (donc non supprimable) -4773, Le compte gnral est utilis dans le fichier des lments de budget (donc non supprimable) -4774, Le compte gnral est utilis dans le fichier des lments de modles de grille (donc non supprimable) -4775, Le compte gnral est utilis dans le fichier des tiers (donc non supprimable) -4776, Le compte gnral est utilis dans le fichier des journaux (donc non supprimable) -4777, Le compte gnral est utilis dans le fichier des critures comptables (donc non supprimable) -4778, Le compte gnral est utilis dans le fichier des lments de taxe (donc non supprimable) -4779, Le compte gnral est utilis dans le fichier des taxes (donc non supprimable) -4780, Le type du compte gnral n'est pas modifiable -4781, Le compte gnral n'est pas modifiable -4782, Le compte gnral existe dj -4783, Le compte reporting n'existe pas ou n'est pas de type dtail -4784, La nature, le report, le compte reporting, le raccourci, les options doivent tre 0 pour un compte gnral totalisateur -4785, Le raccourci du compte gnral n'est pas du type alphanumrique et en majuscule > 6 -4786, Le numro du compte reporting n'est pas du type alphanumrique et en majuscule ou de longueur > 13
130

Sage

Annexe 4 Les codes erreurs Sage


Sage

-4787, L'intitul du compte gnral est vide ou de longueur > 35 -4788, Le numro de compte gnral est vide ou n'est pas de type compte -4789, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation. -4790, Ce raccourci existe dj dans le fichier des libells -4791, Ce raccourci existe dj dans le fichier des modles de grille -4792, Ce raccourci existe dj dans le fichier des tiers -4793, Ce raccourci existe dj dans le fichier des comptes analytiques -4794, Ce raccourci existe dj dans le fichier des comptes gnraux -4795, Ce raccourci existe dj dans le fichier des pices gnrales -4796, Erreur de longueur de compte reporting -4797, Erreur de longueur de compte EDI -4798, Erreur de longueur de compte gnral -4799, Erreur de longueur de compte analytique -4800, L'intitul de la gamme est vide (doit exister dans P_GAMME) -4801, Le code journal est utilis dans le fichier EFINANCIEREC (donc non supprimable) -4802, DL_QTEBL n'est pas modifiable si DL_PIECEBL est non vide (document provient du transformation) -4803, DL_QTEBC n'est pas modifiable si DL_PIECEBC est non vide (document provient du transformation) -4804, La quantit n'est pas modifiable dans les Bons de fabrication -4805, Dans les documents de stock, l'article doit tre suivi en stock pour les documents <> (Bon de fabrication ou Prparation de fabrication) -4806, Une ligne existe dj avec ce numro dans ce document -4807, AL_PRIXRU n'est pas modifiable dans les lignes d'abonnement -4808, AL_CMUP n'est pas modifiable dans les lignes d'abonnement -4809, DL_PRIXRU n'est pas modifiable -4810, Le CMUP n'est pas modifiable dans la ligne -4811, DL_PIECEBL n'est pas en alphanumrique majuscule ou est de longueur > 8 caractres -4812, DL_PIECEBC n'est pas en alphanumrique majuscule ou est de longueur > 8 caractres -4813, Le domaine du document doit tre compris entre 0 et 2 -4814, Le poids brut et le poids net doivent tre 0 avec une remise de pieds ou une remise exceptionnelle -4815, La quantit colise doit tre > 0 -4816, La quantit doit tre > 0 -4817, La dsignation est de longueur > 69 caractres -4818, Le numro de dpt mouvement ne peut pas tre modifi -4819, Le type de prix (HT ou TTC) ne peut pas tre modifi -4820, Le conditionnement ne peut pas tre modifi -4821, La rfrence fournisseur ne peut pas tre modifie -4822, Le type de taxe 3 ne peut pas tre modifi
131

Annexe 4 Les codes erreurs Sage -4823, Le type de taux de taxe 3 ne peut pas tre modifi -4824, Le taux de taxe 3 ne peut pas tre modifi -4825, Le type de taxe 2 ne peut pas tre modifi -4826, Le type de taux de taxe 2 ne peut pas tre modifi -4827, Le taux de taxe 2 ne peut pas tre modifi -4828, Le type de taxe 1 ne peut pas tre modifi -4829, Le type de taux de taxe 1 ne peut pas tre modifi -4830, Le taux de taxe 1 ne peut pas tre modifi -4831, La rfrence de l'article ne peut pas tre modifie -4832, La remise exceptionnelle ne peut pas tre modifie -4833, La remise de pied ne peut pas tre modifie -4834, Le numro de ligne ne peut pas tre modifi -4835, Pour un document en devise, le type de prix (HT ou TTC) doit tre en HT -4836, Le prix unitaire en devise doit tre gal 0 -4837, La gamme 2 n'existe pas -4838, La gamme 1 n'existe pas -4839, La gamme 2 ne peut pas tre vide car l'article possde une gamme 2 -4840, L'intitul du conditionnement est vide (doit exister dans P_CONDITIONNEMENT) -4841, DL_TNOMENCL n'est pas modifiable -4842, Suppression impossible, il existe des immobilisations (F_FAMILLE et F_LIEU). -4843, Champ non modifiable (Dans FamAnal,ImmoAnal,ImmoNote,Lieu,EnumStatImm). -4844, Rfrence un compte tiers inexistant. -4845, Rfrence un compte analytique inexistant. -4846, Rfrence un compte gnral inexistant ou qui n'est pas de type dtail. -4847, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation. -4848, L'numr n'existe pas ou n'est pas saisissable -4849, Le taux n'est pas saisissable pour les vnements agenda -4850, La base n'est pas saisissable pour les vnements agenda -4851, La rubrique n'est pas de type dtail -4852, La rubrique n'existe pas : Evnements agenda de type variable -4853, On ne peut affecter BS_NUM qu'une valeur diffrente de 0 -4854, Domaine de validit du champ incorrect, veuillez vous rfrer la documentation. -4855, Le salari n'existe pas -4856, La rubrique n'existe pas -4857, La base paramtre non ouverte -4858, Modification du statut de l'vnement impossible -4859, L'tablissement n'existe pas -4860, L'agenda Dtails n'existe pas

Sage

132

Annexe 4 Les codes erreurs Sage -4861, L'agenda groupes n'existe pas -4862, Le contrat n'existe pas -4863, Le salari n'existe pas -4864, Le numro de la rubrique agenda ne peut tre modifi -4865, Le numro interne d'tablissement ne peut tre modifi -4866, Le numro de salari ne peut tre modifi -4867, Le type de l'vnement ne peut tre modifi -4868, Si AG_STATUS = 0 alors AG_DEBUT = datedebut et AG_FIN= vide ; si AG_STATUS = 1 alors AG_DEBUT = vide et AG_FIN =datefin ; si AG_STATUS = 2 alors AG_DEBUT = datedebut et AG_FIN = vide ; si AG_STATUS = 3 alors AG_DEBUT =datedebut et AG_FIN =datefin ; ou la de dbut est infrieure la date de fin -4869, Le numro de contrat doit tre non nul -4870, L'intitul de la rubrique agenda dtail doit tre <= 21 caractres et obligatoire -4871, Le numro de salari est obligatoire et doit tre en majuscule -4872, Le type d'vnement doit tre compris entre 0 et 4 -4873, Modification du salari impossible -4874, numro de salari inexistant -4875, L'intitul est obligatoire et doit tre <= 35 caractres -4876, Le numro de salari est obligatoire et doit tre en majuscule -4877, Il existe dj ce couple (paiement, mode de rglement) pour ce salari -4878, La valeur quilibre existe dj pour le paiement -4879, La banque n'existe pas -4880, Le numro de salari ne peut tre modifi -4881, Le numro de salari n'existe pas -4882, La valeur du rglement doit tre compris entre 1 et 10 -4883, numro de salari obligatoire et doit tre en majuscule -4884, Le numro de banque est non modifiable -4885, La banque principale ne peut tre supprime que si elle est unique -4886, Suppression impossible car cette banque est utilise dans les modes de rglement -4887, Modification impossible du salari -4888, La cl de RIB est incorrecte -4889, Le numro de salari n'existe pas -4890, L'intitul est obligatoire et doit tre <= 35 caractres -4891, Le numro de banque est > 0 -4892, Le salari est obligatoire, doit exister et tre en majuscule -4893, Le numro de salari n'est pas modifiable -4894, Le salari n'existe pas -4895, Le prnom est obligatoire et doit tre <= 35 caractres -4896, Le nom de la personne est obligatoire et doit tre <= 35 caractres -4897, Le salari est obligatoire et doit tre en majuscule -4898, La rubrique n'existe pas
133


Sage

Annexe 4 Les codes erreurs Sage -4899, La banque salari n'existe pas -4900, Suppression impossible du salari car il existe des bulletins de paie rattachs ce salari -4901, Suppression impossible du salari car il existe des variables rattaches ce salari -4902, Suppression impossible du salari car il existe des agendas rattachs ce salari -4903, Suppression impossible du salari car il existe des adresses rattaches ce salari -4904, Suppression impossible du salari car il existe des banques rattaches ce salari -4905, Suppression impossible du salari car il existe des modes de rglements rattachs ce salari -4906, Suppression impossible du salari car il existe des personnes charges rattaches ce salari -4907, L'numr statistique n'existe pas -4908, La cl de scurit sociale est incorrecte -4909, Le numro salari n'est pas modifiable -4910, Le compte tiers n'existe pas dans votre fichier comptable -4911, Le compte gnral n'existe pas dans votre fichier comptable -4912, La section analytique n'existe pas dans votre fichier comptable -4913, Ce numro salari est dj utilis -4914, L'tablissement n'existe pas -4915, La date de dbut doit tre <= date de Fin -4916, Si la date de dbut existe, alors la date de fin doit exister -4917, Si la date de fin existe, alors la date de dbut doit exister -4918, Pour un salari franais, SA_NATIONALITE = 'F' et SA_ETRANGER = 1 ; pour un salari tranger, SA_NATIONALITE <> 'F' et SA_ETRANGER = 0 -4919, La cl de scurit sociale doit tre <= 2 caractres -4920, Si la qualit est monsieur et que le sexe est fminin ou l'inverse -4921, Si la qualit=0 (Monsieur) alors Nom de jeune fille=0 -4922, Le prnom est obligatoire et doit tre <= 35 caractres -4923, Le nom est obligatoire et doit tre <= 35 caractres -4924, Saisie du numro de salari obligatoire ou le salari n'est pas en majuscule -4925, La variable existe dj pour ce salari -4926, Suppression impossible, la rubrique est utilise en acompte -4927, Suppression impossible, la rubrique est utilise en pointage pour le salari -4928, Le numro de rubrique n'est pas modifiable -4929, Le numro de salari n'est pas modifiable -4930, Le salari n'existe pas dans la base salari -4931, La rubrique n'est pas de type dtail -4932, La rubrique n'existe pas -4933, Le profil n'existe pas dans la liste des profils salaris

Sage

134

Annexe 4 Les codes erreurs Sage -4934, Saisie rubrique obligatoire ou la rubrique n'est pas en majuscule -4935, Saisie du numro de salari obligatoire ou le salari n'est pas en majuscule -4936, La modification du champ analytique est impossible -4937, Le numro de rubrique n'est pas modifiable -4938, Le numro de salari n'est pas modifiable -4939, La section analytique n'existe pas dans le fichier comptable -4940, La rubrique n'est pas utilise comme cl de rpartition -4941, La rubrique n'est pas de type variable -4942, La rubrique n'existe pas -4943, Le salari n'existe pas dans la base salari -4944, La section analytique est obligatoire ou la section analytique n'est pas en majuscule ou la longueur de la section < 3 -4945, Champ analytique non coch (non utilis en pointage) -4946, La saisie du montant est obligatoire -4947, Saisie de la rubrique obligatoire ou la rubrique n'est pas en majuscule -4948, Saisie de la date de pointage obligatoire -4949, Saisie du numro salari obligatoire ou le salari n'est pas en majuscule -4950, Suppression impossible. Des immobilisations sont rattaches celle supprimer. -4951, Les champs suivants ne sont jamais modifiables dans l'immobilisation. -4952, Opration impossible, il existe des dotations ou cessions. -4953, Les codes rattachs sont limits 10 niveaux. -4954, L'immobilisation ne peut tre rattache celle spcifie. -4955, La quantit du code rattach n'est pas gale 1. -4956, Le code rattach n'existe pas.

Sage

135

Annexe 5 Les erreurs les plus frquentes

Annexe 5 Les erreurs les plus frquentes


Avant propos _________________________________________137 Mauvaise version de fichier .................................................. 137 Erreur Sage 5002 obtenue au moment de lexcution dune requte dcriture. ...................................................................... 137 Refus d'autorisation erreur Sage 1807 obtenue au moment de lexcution dune requte dcriture. .................................................... 137 Domaine de validit du champ incorrect, veuillez vous rfrer la documentation ................................................................. 137

Sage

136

Annexe 5 Les erreurs les plus frquentes

Avant propos
Gnralement, les erreurs ODBC sont obtenues au moment de la connexion ou lors des oprations dcriture. Il est extrmement rare dobtenir une erreur ODBC en lecture, mis part un problme li une faute de syntaxe SQL. Vous trouverez ci-dessous les principaux codes erreurs Sage rencontrs lors des oprations de connexion et dcriture.

Mauvaise version de fichier


Erreur Sage 4965 obtenue au moment de la connexion une source de donnes Cette erreur indique que la version de Sage 100 Kit ODBC que vous utilisez nest pas compatible avec la base Sage que vous essayez douvrir.

Erreur Sage 5002 obtenue au moment de lexcution dune requte dcriture.


Ce message derreur indique que lcriture est impossible car lenregistrement est ouvert en criture par une autre application. Par exemple, vous essayez de modifier lintitul du client CARAT alors quun de vos collgues a ouvert sa fiche en modification. Lcriture ne sera possible que lorsque lenregistrement sera libr par lautre application.

Refus d'autorisation erreur Sage 1807 obtenue au moment de lexcution dune requte dcriture.
Ce message indique que la table o vous essayez dcrire est une table en lecture seule (ex : tables paramtres commence par P_). Ces tables ne sont pas modifiables par Sage 100 Kit ODBC.

Domaine de validit du champ incorrect, veuillez vous rfrer la documentation


Erreur Sage (4789 en CPTA, 4395 en CIAL et 4847 en IMMO) obtenue au moment de lexcution dune requte dcriture. Ce message peut avoir de multiples causes : Le domaine de validit du champ nest pas correct, comme par exemple un champ numrique dont les valeurs sont comprises entre 1 et 10 et que lon essaye de lui affecter la valeur 11, Champ renseign avec une valeur nulle alors quil est renseign obligatoirement dans les applications Sage 100, Problme de cohrence entre la valeur dun champ et un autre,

Les informations ncessaires lcriture dans chaque table vous sont fournies dans le premier manuel sur la structure des tables des bases de donnes Sage 100. Veuillez vous rfrer ce manuel pour connatre les diffrents champs obligatoires en insertion et les valeurs renseigner pour ne pas avoir ce message derreur.

Sage

137

Annexe 6 Utilisation dODBC avec Visual Basic

Annexe 6 Utilisation dODBC avec Visual Basic


Introduction __________________________________________139 Les ADO.......................................................................... 139 Connexion Dconnexion...................................................... 139 Recherche denregistrements................................................ 140 Ecriture dans les bases........................................................ 141 Rcupration des erreurs ..................................................... 142 Les DAO.......................................................................... 143 Connexion Dconnexion...................................................... 143 Recherche denregistrements................................................ 144 Ecriture dans les bases........................................................ 145 Rcupration des erreurs ..................................................... 145

Sage

138

Annexe 6 Utilisation dODBC avec Visual Basic

Introduction
Il existe diffrentes mthodes daccs aux donnes sous Visual Basic : ADO (ActiveX Data Objects), gnralise laccs aux donnes via ODBC (OLE DB). DAO (Data Access Object), utilise principalement par Access (Moteur jet),

Les objets daccs aux donnes ADO sont les plus rcents. Ils utilisent la technologie ActiveX, ce qui permet leur utilisation dans de nombreuses applications. Si vous le pouvez, il est prfrable dutiliser les ADO pour accder aux bases ODBC, et en particulier avec les bases de donnes Sage 100. Les objets daccs aux donnes DAO sont livrs en standard avec Access, Excel et Visual Basic. Ces objets ne sont pas optimiss pour laccs aux donnes ODBC. Vous trouverez ci-dessous des exemples dutilisation de VB avec ces diffrents objets daccs aux donnes.

Les ADO
Pour utiliser les objets daccs aux donnes des ADO, votre application doit utiliser la librairie Microsoft OLE DB ActiveX Data Objects 1.0 Library, ou une autre librairie plus rcente des ADO (Microsoft OLE DB ActiveX Data Objects x.xx Library). ActiveX Data Objects (ADO) est une collection dobjets qui permettent laccs aux donnes de tout type. Ces objets sont gnralement utiliss pour laccs aux bases de donnes en Internet ou Intranet (utilisation dActive Server Pages avec IIS). Lintrt dun objet ActiveX est quil peut tre employ partir de nimporte quelle application capable dutiliser les objets OLE (Delphi ou C entre autre).

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de lobjet Connection. Ce dernier prend en paramtre une chane de connexion ODBC, le nom de lutilisateur et son mot de passe. La chane de connexion permet didentifier le nom de la source de donnes utiliser (DSN=), et elle peut aussi identifier le nom et le mot de passe utiliser, si ces derniers ne sont pas renseigns dans les deuxime et troisime paramtres. La dconnexion est ralise laide de la mthode Close. Remarques : Mme si le nom et le mot de passe ne sont pas renseigns, aucune bote de dialogue de connexion Sage napparatra. Contrairement aux DAO, la connexion ODBC est rellement rompue aprs lemploi de la mthode Close sur lobjet Connection.

Exemple Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou Dim cnxCPTA As ADODB.Connection Identifiant de la connexion ODBC Dim strConnect as String Chane de connexion ODBC Dim strUID as String Nom utilis pour la connexion la base Dim strPWD as String Mot de passe associ Construction de la chane de connexion. Les diffrents paramtres de la chane de connexion sont spars par un point virgule ( ;) DSN identifie le nom de la source de donnes Il est possible de renseigner le nom et le mot de passe utiliser laide des commandes UID et PWD

Sage

139

Annexe 6 Utilisation dODBC avec Visual Basic strConnect = "DSN=ComptaC_Bijou; " Cration de lobjet ActiveX Set cnxCPTA = New ADODB.Connection cnxCPTA.ConnectionTimeout = 15 Dfinition du TimeOut de connexion cnxCPTA.CommandTimeout = 30 Dfinition du TimeOut dexcution de requtes Connexion la source de donnes ODBC Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont facultatifs si les bases Sage ne sont pas protges. cnxCPTA.Open strConnect, "ADMIN", "123" Code Visual Basic Fermeture de la connexion cnxCPTA.Close Destruction de lobjet Set cnxCPTA = Nothing

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune requte est ralise en deux phases : Dfinition de la requte (syntaxe SQL et paramtres) : utilisation de lobjet Command Excution de la requte et rcupration des enregistrements : utilisation de lobjet Recordset La requte est directement envoye au driver ODBC.

Remarque : Exemple Exemple dexcution de requte de slection et de parcours des enregistrements Recherche de tous les clients dont le code commence par C Lobjet Connection cnxCPTA a t ouvert Dim cmdSQL As ADODB.CommandObjet contenant la dfinition de la requte Dim rsClient As ADODB. RecordsetObjet contenant le rsultat de la requte Dim strSQL as String Variable contenant la requte SQL Syntaxe SQL Construction de la requte SQL de slection Critres : CT_Type = 0 > slection des clients CT_Num like C% > Slection des codes clients commenant par C strSQL = "Select CT_Num, CT_Intitule From F_CompteT " & _ "Where CT_Type = 0 And CT_Num Like C% " Cration de lobjet ActiveX Command Set cmdSQL = New ADODB.Command Cration de lobjet ActiveX Recordset Set rsClient = New ADODB.Recordset Cration de la requte SQL objet Command Requte SQL excuter cmdSQL.CommandText = Me.tSQL.Text Type de commande (adCmdText > requte SQL) cmdSQL.CommandType = adCmdText

Sage

140

Annexe 6 Utilisation dODBC avec Visual Basic Connexion ODBC utiliser Set cmdSQL.ActiveConnection = cnxCPTA Excution de la requte de slection rsClient.Open cmdADO Parcours des enregistrements While Not rsClient.EOF Affichage du code et de lintitul du client dans la fentre dExcution Debug.Print rsClient.Fields ("CT_Num"), rsClient.Fields ("CT_Intitule") Passe lenregistrement suivant rsClient.MoveNext Wend Fermeture de lobjet Recordset rsClient.Close Destruction de lobjet set rsClient = Nothing Destruction de lobjet Command set cmdSQL = Nothing

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Etant donn que ces requtes ne retournent pas denregistrements, il est inutile de rapatrier un quelconque rsultat dans un objet de type Recordset.
La requte est directement envoye au driver ODBC.

Exemple Exemple dexcution dune requte de modification. Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi par CO_No = 3) qui se charge de ce secteur. Lobjet Connection cnxCPTA a t ouvert Dim strSQL as String Variable contenant la dfinition de la requte Syntaxe SQL Construction de la requte SQL de modification Critres : CT_Type = 0 > slection des clients CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence par 57 Valeur modifier CO_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table F_Collaborateur) strSQL = "Update F_CompteT " & _ " Set CO_No = 3 " & _ " Where CT_Type = 0 And CT_CodePostal like 57% " Excution de la requte cnxCPTA.Execute strSQL

Sage

141

Annexe 6 Utilisation dODBC avec Visual Basic

Rcupration des erreurs


Tout accs ODBC via les ADO peut provoquer une erreur ODBC. Chaque erreur gnre un ou plusieurs objets Error qui sont placs dans la collection Errors. Pour connatre lerreur rencontre, il suffit de parcourir lensemble de la collection Errors laide de lobjet Error. Lensemble des objets Error de la collection Errors ne dcrit quune seule erreur : la dernire erreur obtenue. Chaque objet Connection a sa propre collection derreurs. Lobjet Error permet de connatre, entre autre : Le numro de lerreur, laide de la proprit NativeError ( partir des ADO version 2.6), Une description de lerreur (message en franais dans le cas dune erreur Sage), laide de la proprit Description, La provenance de lerreur, laide de la proprit Source.

Exemple Exemple de rcupration des erreurs ODBC En entte de procdure, on trouve linstruction ON ERROR GOTO MonLable. Cela veut dire que ds quune erreur est dtecte (ODBC ou autre), le programme fait un saut au label indiqu (ici MonLabel). Si aucune erreur nest dtecte, il ne faudra pas effectuer ce traitement derreur > do lemploi de linstruction EXIT SUB afin de sortir de la procdure avant la partie concernant le traitement de lerreur. Dim strErreur As String Variable contenant le message derreur afficher Dim ErrorADO As ADODB.Error Objet contenant les erreurs RDO Dim i As Integer Compteur utilis pour le parcours des erreurs 'Vide les erreurs ventuelles stockes dans l'objet err Err.Clear 'Met jour la collection Errors de la connexion cnxCPTA (supprime les erreurs rsiduelles) Cette instruction ne peut tre utilise quaprs avoir ralis la connexion ODBC. cnxCPTA.Errors.Clear En cas derreur, le programme ira directement au label Label_Erreur On Error GoTo Label_Erreur code Access Basic Si aucune erreur nest rencontre, il nest pas ncessaire deffectuer le traitement derreur > sortie du programme (EXIT SUB pour une procdure, EXIT FUNCTION pour une fonction) Exit Sub Label_Erreur: 'Traitement des erreurs 'Parcours de l'ensemble des erreurs rencontres en vue de les afficher. For i = 1 To cnxADO.Errors.Count Cration de lobjet Error Set ErrorADO = cnxADO.Errors.Item (i 1) 'Numro de l'erreur. strErreur = "Erreur n" & CStr (ErrorADO.NativeError) 'Description de l'erreur (Message en franais)

Sage

142

Annexe 6 Utilisation dODBC avec Visual Basic strErreur = strErreur & " : " & ErrorADO.Description 'Source de l'erreur (Driver ODBC, Objet DAO...) strErreur = strErreur & " (" & ErrorADO.Source & ") . " Affichage du message derreur dans la fentre dExcution Debug.Print strErreur Destruction de lobjet Error Set ErrorADO = Nothing Next i

Les DAO
Pour utiliser les objets daccs aux donnes des DAO, votre application doit utiliser la librairie Microsoft DAO 2.5/.35 compatibility Library , ou une autre librairie plus rcente des DAO (Microsoft DAO x.xx Compatibility Library).

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de la mthode OpenDatabase (). Cette dernire prend en paramtre une chane de connexion ODBC. Cette chane permet didentifier la source de donnes exploiter, ainsi que le nom et le mot de passe utiliser. La dconnexion est ralise laide de la mthode Close. Remarques : Pour ne pas voir apparatre la bote de connexion Sage, il est impratif de renseigner le nom et le mot de passe dans la chane de connexion (paramtres UID et PWD). Microsoft Jet ne rompt pas rellement la connexion ODBC lors de lemploi de la mthode Close. La connexion reste toujours active, ce qui peut tre gnant lors dune utilisation avec les versions de Sage 100 Kit ODBC infrieure la version 8.0 (dans le cas dune consolidation de socit par exemple). En effet, ces versions de Sage 100 Kit ODBC ne permettent pas louverture simultane de plusieurs bases de mme type simultanment (ex : 2 bases comptables). Etant donn que Jet ne rompt pas la connexion, il sera donc impossible de rcuprer, au sein dun mme programme, des donnes provenant de plusieurs fichiers de mme type (ex : 2 fichiers comptables). Par dfaut, le moteur Jet rompt les connexions ODBC au bout de 10 mn (600 secondes) si aucune requte nest excute. Ce paramtre peut tre chang dans la base de registre. Jet 3.0 (VB 4.0, Office 95) Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\ODBC Entre : ConnectionTimeout Type : DWord Valeur par dfaut : 600. Jet 3.5 (VB 5.0, Office 97) Cl : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\ODBC Entre : ConnectionTimeout Type : DWord Valeur par dfaut : 600.

Exemple Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou Dim dbCPTA As DAO.Database Identifiant de la base de donnes Dim strConnect as String Chane de connexion Construction de la chane de connexion Une chane de connexion ODBC commence toujours par le mot cl ODBC. Les diffrents paramtres sont spars par un point virgule ( ;)
Sage

143

Annexe 6 Utilisation dODBC avec Visual Basic DSN identifie le nom de la source de donnes Les paramtres UID et PWD sont facultatifs UID reprsente le nom de connexion utilis et PWD le mot de passe associ strConnect = "ODBC;DSNComptaC_Bijou;UID=ADMIN;PWD=123;" Connexion la source de donnes ComptaC_Bijou Set dbDAO = DAO.OpenDatabase ("", False, False, strConnect) Code Visual Basic... Fermeture de la connexion dbCPTA.Close Destruction de lobjet Set dbCPTA = Nothing

Recherche denregistrements
Pour optimiser les temps de traitement, il est prfrable dexcuter une requte de slection. En effet, les mthodes FindFirst et FindNext ne permettent pas dutiliser les index des bases. La recherche dun enregistrement revient, dans ce cas, parcourir tous les enregistrements et effectuer une comparaison sur les champs. Remarques : La Mthode Seek ne peut pas tre utilise sur une table ODBC. En effet, cette mthode est utilisable uniquement sur un Recordset de type TABLE (une table ODBC est du type DYNASET ou SNAPSHOT) Normalement, une requte DAO passe par le moteur Jet avant dtre envoye au driver ODBC. La requte envoye Jet par VB nest pas une vraie requte SQL, cest une requte Access (syntaxe particulire). Si vous dsirez utiliser la syntaxe SQL, vous devez utiliser le paramtre dbSQLPassThrough. Ce paramtre permet denvoyer une requte SQL directement au driver ODBC, sans passer par le moteur Jet.

Exemple Exemple dexcution de requte de slection et de parcours des enregistrements Recherche de tous les clients dont le code commence par C Lobjet Database dbCPTA a t ouvert Dim rsClient as DAO.Recordset Objet contenant le rsultat de la requte Dim strSQL as String Variable contenant la dfinition de la requte Syntaxe SQL Construction de la requte SQL de slection Critres : CT_Type = 0 > slection des clients CT_Num like C% > Slection des codes clients commenant par C strSQL = "Select CT_Num, CT_Intitule From F_CompteT " & _ "Where CT_Type = 0 And CT_Num Like C% " Excution de la requte > Utilisation du paramtre dbSQLPassThrough pour lenvoyer directement ODBC Set rsClient = dbCPTA.OpenRecordset (strSQL, dbSQLPassThrough) Parcours des enregistrements While Not rsClient.EOF Affichage du code et de lintitul du client dans la fentre dExcution Debug.Print rsClient ("CT_Num"), rsClient ("CT_Intitule") Passe lenregistrement suivant rsClient.MoveNext Wend

Sage

144

Annexe 6 Utilisation dODBC avec Visual Basic Fermeture de lobjet RecordSet rsClient.Close Destruction de lobjet set rsClient = Nothing

Ecriture dans les bases


Il nest pas recommand dutiliser les mthodes classiques dcriture des DAO (mthodes Edit, AddNew et Update). Lcriture avec ces mthodes est plus longue que lenvoi dune requte SQL dcriture directement au driver ODBC (sans passer par Jet). En effet, lors de lemploi des mthodes Edit ou AddNew, Jet transforme les instructions en requte SQL lors de lexcution de la mthode Update. Le fait denvoyer directement la requte SQL au driver ODBC vite cette phase de transformation (et le temps dexcution du code relatif lcriture). De plus, ces mthodes dcriture ne peuvent pas tre utilises si Jet ne reconnat pas de cl primaire la table ODBC (Jet ne sait crire que si la table ODBC a une cl primaire). Pour envoyer une requte directement au driver ODBC, utiliser le paramtre dbSQLPassThrough. Ce paramtre indique que le processeur de requte du moteur de base de donnes Microsoft Jet est ignor. La requte spcifie dans l'argument OpenRecordset (ou Execute) source est passe, pour traitement, un serveur d'arrireplan ODBC. Donc, la requte sera interprte, directement, par le driver ODBC. Exemple Exemple dexcution dune requte de modification. Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi par CO_No = 3) qui se charge de ce secteur. Lobjet Database dbCPTA a t ouvert. Dim strSQL as String Variable contenant la dfinition de la requte Syntaxe SQL Construction de la requte SQL de modification Critres : CT_Type = 0 > slection des clients CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence par 57 Valeur modifier CO_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table F_Collaborateur) strSQL = "Update F_CompteT " & _ " Set CO_No = 3 " & _ " Where CT_Type = 0 And CT_CodePostal like 57% " Excution de la requte dbCPTA.Execute strSQL, dbSQLPassThrough

Rcupration des erreurs


La rcupration des messages derreurs ODBC se fait par lintermdiaire de la collection Errors de DBEngine. En effet, toutes les oprations concernant les objets daccs aux donnes (DAO) peuvent gnrer une ou plusieurs erreurs. Chaque fois quune erreur se produit, un ou plusieurs objets Error sont placs dans la collection Errors de lobjet DBEngine. Lensemble des objets Error de la collection Errors ne dcrit quune seule erreur : la dernire erreur obtenue. Le premier objet Error contient lerreur ODBC du niveau infrieur; les suivants contiennent les erreurs ODBC retournes par les diffrentes couches
145

Sage

Annexe 6 Utilisation dODBC avec Visual Basic dODBC (entre autre le driver ODBC Sage). Le dernier objet Error retourn est lerreur provenant de lobjet DAO (la mme erreur que retourne les objets Err, pour le code erreur, et Error, pour le message derreur en clair). La provenance de lerreur (driver ODBC ou objet DAO) est renseigne dans lobjet Error. Remarques : Il ne faut pas confondre lobjet Error avec lobjet Err : Lobjet daccs aux donnes Error ne contient que les informations relatives aux erreurs daccs aux donnes, donc au driver ODBC. Lobjet Err ne contient que les erreurs Visual Basic survenues dans le programme (Err ne retournera, tout comme Error ,que la dernire erreur de lobjet Error, celle qui est retourne par Jet). Lutilisation du paramtre dbSQLPassThrough (permet dignorer le moteur Jet et de passer directement la requte SQL au driver ODBC) ninterfre en rien sur la mthode de rcupration des erreurs. Cette mthode de rcupration des messages derreur fonctionne avec lutilisation : des mthodes AddNew, Edit, Update et Delete, lexcution de requtes SQL laide de la mthode Execute, ou OpenRecordSet. Les messages derreur ne sont pas rcuprs si la requte est excute laide de la mthode Docmd.RunSql (syntaxe dexcution de requte dAccess).

Le code de traitement des erreurs doit examiner la collection Errors chaque fois que vous prvoyez une erreur daccs aux donnes. Voici les proprits permettant de rcuprer ces erreurs : le code erreur : utilisation de la mthode Number, la description de lerreur (message en clair) : utilisation de la mthode Description, la source de lerreur (driver ODBC, Objet DAO...) : utilisation de la mthode Source.

Exemple Exemple de rcupration des erreurs ODBC En entte de procdure, on trouve linstruction ON ERROR GOTO MonLable. Cela veut dire que ds quune erreur est dtecte (ODBC ou autre), le programme fait un saut au label indiqu (ici MonLabel). Si aucune erreur nest dtecte, il ne faudra pas effectuer ce traitement derreur > do lemploi de linstruction EXIT SUB afin de sortir de la procdure avant la partie concernant le traitement de lerreur. Dim strErreur As String Variable contenant le message derreur afficher Dim errDAO As DAO.Error Objet contenant les erreurs daccs aux donnes 'Vide les erreurs ventuelles stockes dans l'objet err Err.Clear 'Met jour la collection Errors (supprime les erreurs rsiduelles) DAO.Errors.Refresh En cas derreur, le programme ira directement au label Label_Erreur On Error GoTo Label_Erreur code Access Basic Si aucune erreur nest rencontre, il nest pas ncessaire deffectuer le traitement derreur > sortie du programme (EXIT SUB pour une procdure, EXIT FUNCTION pour une fonction) Exit Sub

Sage

146

Annexe 6 Utilisation dODBC avec Visual Basic Label_Erreur: 'Traitement des erreurs 'Parcours de l'ensemble des erreurs rencontres en vue de les afficher. For Each errDAO In DAO.DBEngine.Errors 'Numro de l'erreur. strErreur = "Erreur n" & CStr (errDAO.Number) 'Description de l'erreur (Message en franais) strErreur = strErreur & " : " & errDAO.Description 'Source de l'erreur (Driver ODBC, Objet DAO...) strErreur = strErreur & " (" & errDAO.Source & ") . " Affichage du message derreur dans la fentre dExcution Debug.Print strErreur Next Passe lerreur suivante Destruction de lobjet Error Set errDAO = Nothing

Sage

147

Annexe 7 Utilisation dODBC avec Windev

Annexe 7 Utilisation dODBC avec Windev


Introduction __________________________________________149 Connexion Dconnexion...................................................... 149 Recherche denregistrements ____________________________151 Ecriture dans les bases__________________________________153 Rcupration des erreurs ..................................................... 154

Sage

148

Annexe 7 Utilisation dODBC avec Windev

Introduction
Laccs aux donnes via ODBC, sous Windev se fait exclusivement par lexcution de requtes SQL. Il existe des fonctions de connexion, de dconnexion, dexcution de requtes et de parcours des enregistrements. La version 4.0 de Windev ne permet pas laccs plusieurs sources de donnes simultanment, ce qui rend son utilisation trs difficile avec les produits Sage 100 (en particulier avec la gestion commerciale et les immobilisations), car les bases sont troitement lies les unes aux autres. Pour une utilisation avec les bases Sage 100, il est prfrable dutiliser une version de Windev suprieure la version 4.0

Connexion Dconnexion
La connexion une base de donnes, via ODBC, est ralise laide de la fonction SQLConnect (). Cette dernire prend en paramtre le nom de la source de donnes, le nom de lutilisateur et son mot de passe. La dconnexion est ralise laide de la procdure SQLDisconnect (). Cette procdure dconnecte la connexion courante. Pour changer de connexion, utiliser la procdure SQLChangeConnection () qui prend en paramtre lidentificateur de la connexion. Remarques : Mme si le nom et le mot de passe ne sont pas renseigns, aucune bote de dialogue de connexion Sage napparatra. La connexion ODBC est rellement rompue aprs lemploi de la procdure SQLDisconnect ().

Exemple //Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou strSource est une chane //Nom de la source de donnes IdCPTA est un entier long //Identifiant de la connexion Source = "ComptaC_Bijou" //Connexion la source de donnes ODBC ComptaC_Bijou //Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont facultatifs. Si ces //derniers ne sont pas renseigns, la bote de connexion Sage napparatra pas. IdCPTA = SQLConnect (Source,"ADMIN","123") //Si la valeur de retour est gale 0, alors il y a eu un problme lors de la connexion SI IdCPTA <> 0 alors //Pas de problme de connexion //Code Windev //Dconnexion de la base idCPTA //Avant dappeler la procdure SQLDisconnect (), il faut sassurer que la connexion courante //est bien idCPTA > Utilisation de la procdure SQLChangeConnexion SQLChangeConnection (idCPTA) //Dconnexion de la source de donnes SQLDisconnect () SINON //Problme lors de la connexion //Traitement de lerreur

Sage

149

Annexe 7 Utilisation dODBC avec Windev FIN

Sage

150

Annexe 7 Utilisation dODBC avec Windev

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune requte est ralise laide de la fonction SQLExec (). Cette fonction prend en paramtre le code SQL de la requte, ainsi que son nom. Cette fonction retourne un boolen indiquant si son excution sest correctement droule. Une fois la requte excute, le parcours de ses enregistrements se fait laide des fonctions SQLPremier, SQLDernier, SQLSuivant et SQLPrecedent. La rcupration des donnes est ralise par la fonction SQLCol. La recherche dun enregistrement prcis revient excuter une requte de slection prenant en compte tous les critres spcifiques de cet enregistrement. Remarques : La requte est directement envoye au driver ODBC. La requte est excute sur la connexion courante. Pour changer de connexion, utilisez la procdure SQLChangeConnexion () Il nest pas ncessaire dutiliser SQLChangeConnexion () si vous nouvrez quune seule source de donnes. Par contre, si vous en ouvrez plusieurs, il sera ncessaire de lemployer, afin didentifier la connexion active.

Exemple //Exemple dexcution de requte de slection et de parcours des enregistrements //Recherche de tous les clients dont le code commence par C //La connexion ODBC est active et identifie par la variable idCPTA SELECT_QUERY est une chane //Nom de la requte SQL strSQL est une chane //Variable contenant la requte SQL //Slectionne la connexion idCPTA comme tant la connexion courante SQLChangeConnexion (idCPTA) //Affecte le nom de la requte SELECT_QUERY = "SelectQuery" //Syntaxe SQL //Construction de la requte SQL de slection //Critres : // CT_Type = 0 > slection des clients // CT_Num like C% > Slection des codes clients commenant par C strSQL = "Select CT_Num, CT_Intitule From F_CompteT " strSQL = strSQL "Where CT_Type = 0 And CT_Num Like C% " //Excution de la requte SI SQLExec (strSQL, SELECT_QUERY) ALORS //La requte SQL na pas provoque derreur //Parcours des enregistrements TANTQUE pas SQL.Endehors //Affiche les informations lcran // SQLCol prend en paramtre le nom de la requte et lindice du champ Info (SQLCol (SELECT_QUERY,1) " " SQLCol (SELECT_QUERY,2)) //Passe lenregistrement suivant SQLSuivant (SELECT_QUERY) FIN SINON //Gestion de lerreur

Sage

151

Annexe 7 Utilisation dODBC avec Windev FIN //Ferme la requte SQL SQLFerme (SELECT_QUERY)

Sage

152

Annexe 7 Utilisation dODBC avec Windev

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Lexcution dune requte est ralise laide de la fonction SQLExec (). Cette fonction prend en paramtre le code SQL de la requte, ainsi que son nom. Cette fonction retourne un boolen indiquant si son excution sest correctement droule. Remarques : La requte est directement envoye au driver ODBC. La requte est excute sur la connexion courante. Pour changer de connexion, utilisez la procdure SQLChangeConnexion (). Il nest pas ncessaire dutiliser SQLChangeConnexion () si vous nouvrez quune seule source de donnes. Par contre, si vous en ouvrez plusieurs, il sera ncessaire de lemployer, afin didentifier la connexion active.

Exemple //Exemple dexcution dune requte de modification. //Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi par CO_No = 3) //qui se charge de ce secteur. //La connexion ODBC est active et identifie par la variable idCPTA UPDATE_QUERY est une chane //Nom de la requte SQL strSQL est une chane //Variable contenant la dfinition de la requte //Slectionne la connexion idCPTA comme tant la connexion courante SQLChangeConnexion (idCPTA) //Affecte le nom de la requte UPDATE_QUERY = "UpdateQuery" //Syntaxe SQL //Construction de la requte SQL de modification //Critres : // CT_Type = 0 > slection des clients // CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence par 57 //Valeur modifier // CO_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table F_Collaborateur) strSQL = "Update F_CompteT Set CO_No = 3 " strSQL = strSQL " Where CT_Type = 0 And CT_CodePostal like 57% " Excution de la requte SI SQLExec (strSQL, UPDATE_QUERY) ALORS //La requte sest correctement droule SINON //Gestion de lerreur FIN SQLFerme (UPDATE_QUERY)

Sage

153

Annexe 7 Utilisation dODBC avec Windev

Rcupration des erreurs


La rcupration des erreurs, sous WinDev, se fait par lintermdiaire de la procdure SQLInfoGene (). Lappel de cette procdure met jour les variables donnant les informations sur l'excution de la requte (variable de SQL). Toutes les fonctions daccs aux donnes (connexion, excution de requte) retournent un boolen, indiquant si lexcution de la fonction sest correctement droule. Si une erreur est dtecte, il faut mettre en place la procdure de rcupration du code erreur. Syntaxe de la procdure SQLInfoGene En franais : SQLInfoGene ([<Nom_Requte>])

En anglais : SQLInfo ([<Nom_Requte>])

SQLInfoGene avec comme paramtre <Nom_Requte> doit tre appele aprs l'excution de la requte par SQLExec. SQLInfoGene sans paramtre doit tre appele aprs la connexion par SQLConnecte. Remarque : SQL.Erreur ne retourne pas lerreur renvoye par le driver, mais lerreur interne ce dernier. Ce code erreur est inexploitable, car il ne correspond pas au message reu dans SQL.MESERREUR..

Fonctions disponibles Si <Nom_Requte> est prcise, SQLInfoGene met jour les variables donnant les informations sur l'excution de la requte <Nom_Requte>. SQL.Erreur est une chane de caractres et est gale "00000" si aucune erreur, sinon contient le code de l'erreur (erreur interne au driver, donc non exploitable) SQL.MesErreur est une chane de caractres et contient le libell de l'erreur SQL.NbLig est un entier contenant le nombre de lignes du rsultat SQL.EnCours est un entier et contient le numro de la ligne en cours SQL.NbCol est un entier contenant le nombre de colonnes du rsultat SQL.TitreCol[n] est une chane de caractres et contient le titre par dfaut de la mme colonne SQL.Connexion est un entier qui contient le numro de la connexion en cours (demande par SQLConnecte) SQL.Requete est un entier qui contient le numro de la requte en cours Si <Nom_Requte> n'est pas prcise, SQLInfoGene retourne le rsultat de la connexion par SQLConnecte : SQL.Erreur est une chane de caractres et est gale "00000" si aucune erreur, sinon contient le code de l'erreur SQL.MesErreur est une chane de caractres et contient le libell de l'erreur SQL.Connexion est un entier qui contient le numro de la connexion en cours (demande par SQLConnecte)

Exemple //Exemple de rcupration des erreurs ODBC //Interception dune erreur de connexion et dune erreur dexcution de requte //Nous ne nous attarderons pas sur la mthode de connexion et dexcution de requte strMessageErreur est une chane //Chane contenant le message derreur afficher Source = "ComptaC_Bijou"

Sage

154

Annexe 7 Utilisation dODBC avec Windev //Connexion la source de donnes ODBC ComptaC_Bijou IdCPTA = SQLConnect (Source,"","") //Si la valeur de retour est gale 0, alors il y a eu un problme lors de la connexion SI IdCPTA <> 0 alors //Pas de problme de connexion //Code Windev //Excution dune requte SQL SI SQLExec (strSQL, SELECT_QUERY) ALORS //La requte sest correctement droule //Suite du traitement SINON //Gestion de lerreur dexcution dune requte SQL //Gnre les erreurs de la requte SELECT_QUERY SQLInfoGene (SELECT_QUERY) strMessageErreur = "Erreur lors de lexcution de la requte" //Code erreur strMessageErreur = strMessageErreur Caract (13) "Code Erreur: " SQL.Erreur //Message derreur strMessageErreur = strMessageErreur Caract (13) "Message: " SQL.MesErreur) //Affiche lerreur Erreur (strMessageErreur) FIN //Ferme la requte SQL SQLFerme (UPDATE_QUERY) SINON //Problme lors de la connexion //Traitement de lerreur de connexion //Gnre les erreurs SQLInfoGene () strMessageErreur = "Erreur lors de la connexion" //Code erreur strMessageErreur = strMessageErreur Caract (13) "Code Erreur: " SQL.Erreur //Message derreur strMessageErreur = strMessageErreur Caract (13) "Message: " SQL.MesErreur) //Affiche lerreur Erreur (strMessageErreur) FIN

Sage

155

Annexe 8 Utilisation dODBC avec Visual FoxPro

Annexe 8 Utilisation dODBC avec Visual FoxPro


Introduction __________________________________________157 Les vues distantes ............................................................. 157 Programmation en Visual FoxPro ............................................ 157 Recherche denregistrements................................................ 158 Ecriture dans les bases........................................................ 159 Rcupration des erreurs ..................................................... 160

Sage

156

Annexe 8 Utilisation dODBC avec Visual FoxPro

Introduction
Laccs aux donnes, avec Visual FroxPro, peut se faire de deux manires : Utilisation des Remotes views (vues distantes en franais) pour excuter des requtes de slection, Utilisation du code pour se connecter, se dconnecter, excuter des requtes, parcourir des enregistrements etc...

Ce document traitera essentiellement des accs ODBC via le code FoxPro. Seule la premire partie de ce chapitre sera consacre lutilisation des Remotes Views.

Les vues distantes


Sous Visual FoxPro, il est possible de crer des vues distantes. Une vue distante est le rsultat dune requte SQL via ODBC. Cette requte peut tre une requte de slection ou dcriture. Une vue distante peut tre base sur une source de donnes ou sur une connexion. Il est prfrable de baser une vue sur une connexion afin dviter la bote de connexion Sage. En effet, une connexion permet non seulement didentifier la source de donnes utiliser, mais elle permet aussi de renseigner le nom de lutilisateur ainsi que le mot de passe associ (permet dviter davoir la bote de connexion Sage). Dans un premier temps, vous devez crer une Connexion (arbre Donnes/Base de donnes). Dans cette connexion, renseigner le nom de la source de donnes utiliser, ainsi que le nom et le mot de passe de lutilisateur. Vous pouvez ensuite crer des vues distantes (arbre Donnes/Base de donnes). Une vue distante est le rsultat dune requte. Cette requte est excute sur une seule connexion ; il nest pas possible dexcuter des requtes interbases. Pour parcourir le rsultat dune vue distante, vous pouvez utiliser linstruction SCAN. Exemple &&Exemple de parcours de la vue distante ListeArticles. &&ListeArticles est le rsultat de la requte suivante : &&SELECT AR_REF, AR_DESIGN FROM F_ARTICLE &&Utilise la vue distante ListeArticles USE ListeArticles SCAN &&Parcours la liste &&Affiche les informations ? AR_REF, AR_DESIGN ENDSCAN

Programmation en Visual FoxPro


Connexion Dconnexion La connexion une base de donnes, via ODBC, est ralise laide de la fonction SQLCONNECT (). Cette dernire prend en paramtre le nom de la source de donnes et, ventuellement, le nom de lutilisateur et son mot de passe. Le rsultat de la fonction est lidentificateur de la connexion. Si le rsultat est infrieur ou gal zro, alors un problme a t rencontr. La dconnexion est ralise laide de la fonction SQLDISCONNECT (). Cette dernire prend en paramtre lidentificateur de connexion.

Sage

157

Annexe 8 Utilisation dODBC avec Visual FoxPro Remarques : Pour ne pas voir apparatre la bote de connexion Sage, il est impratif de renseigner le nom et le mot de passe (deuxime et troisime paramtre de SQLCONNECT).

&&Exemple de connexion et de Dconnexion. Source de donnes utilise > ComptaC_Bijou PUBLIC INTEGER IdCPTA &&Identifiant de la connexion > dclar en public pour tre utilis par la suite &&Connexion la source de donnes ODBC ComptaC_Bijou &&Le nom de connexion utilis est ADMIN, et le mot de passe associ est 123. Ces paramtres sont facultatifs. &&Si ces derniers ne sont pas renseigns, la bote de connexion Sage apparatra. IdCPTA = SQLCONNECT ("ComptaC_Bijou","ADMIN","123") &&Si la valeur de retour est gale 0, alors il y a eu un problme de connexion IF IdCPTA > 0 &&Pas de problme de connexion &&Code Visual FoxPro &&Dconnexion de la source de donnes intRes = SQLDISCONNECT (idCPTA) &&Si le rsultat de la fonction SQLDISCONNECT est <= 0, alors il y a eu un problme lors de la &&dconnexion IF intRes <= 0 &&Problme rencontr lors de la dconnexion ENDIF ELSE &&Problme lors de la conexion &&Traitement de lerreur ENDIF

Recherche denregistrements
La recherche denregistrements revient excuter une requte SQL de slection. Lexcution dune requte est ralise laide de la fonction SQLEXEC (). Cette fonction prend en paramtre lidentifiant de la connexion (valeur retourne par la fonction SQLCONNECT), le code SQL de la requte et le nom de lobjet Cursor. Cet objet va contenir le rsultat de la requte de slection. SQLEXEC ( ) renvoie le nombre de rsultats s'il y en a plus d'un. La fonction SQLEXEC ( ) renvoie 0 si elle est en cours d'excution et 1 si elle est termine. SQLEXEC ( ) renvoie 1 en cas derreur au niveau de la connexion. Remarques : La mthode Seek ne fonctionne pas avec les accs ODBC. Il faudra donc utiliser dautres instruments de recherche tel que Scan. La recherche dun enregistrement prcis revient excuter une requte de slection prenant en compte tous les critres spcifiques cet enregistrement.

Exemple &&Exemple dexcution de requte de slection et de parcours des enregistrements


158

Sage

Annexe 8 Utilisation dODBC avec Visual FoxPro &&Recherche de tous les clients dont le code commence par C &&La connexion ODBC est active et identifie par la variable idCPTA &&Syntaxe SQL &&Construction de la requte SQL de slection &&Critres : && CT_Type = 0 > slection des clients && CT_Num like C% > Slection des codes clients commenant par C strSQL = "Select CT_Num, CT_Intitule From F_CompteT " strSQL = strSQL "Where CT_Type = 0 And CT_Num Like C% " &&Excution de la requte sur la source de donnes identifie par idCPTA &&Le rsultat de la requte sera identifi par lobjet MyCursor inrRep = SQLEXEC (idCPTA, strSQL, 'MyCursor') IF intRep >=0 &&La requte a fonctionn &&Sil existe des enregistrements dans lobjet MyCursor, le programme va parcourir &&tous les enregistrements IF USED ('MyCursor') SCAN &&Affichage des informations ? MyCursor.CT_NUM, MyCursor.CT_INTITULE ENDSCAN ENDIF ELSE La requte a chou &&traitement de lerreur END IF

Ecriture dans les bases


Lcriture se fait par lintermdiaire de requtes SQL. Lexcution dune requte est ralise laide de la fonction SQLEXEC (). Etant donn que la requte ne retourne pas denregistrements, il ne sera pas ncessaire de donner un nom de cursor. Cette fonction prend en paramtre lidentifiant de la connexion (valeur retourne par la fonction SQLCONNECT) et le code SQL de la requte dcriture. Si le rsultat de la fonction SQLEXEC () est infrieur zro, alors la requte a chou. Exemple &&Exemple dexcution dune requte de modification. &&Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi par &&CO_No = 3) qui se charge de ce secteur. &&La connexion ODBC est active et identifie par la variable idCPTA &&Syntaxe SQL &&Construction de la requte SQL de modification &&Critres : && CT_Type = 0 > slection des clients && CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence par 57 &&Valeur modifier && CO_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table F_Collaborateur) strSQL = "Update F_CompteT Set CO_No = 3 "

Sage

159

Annexe 8 Utilisation dODBC avec Visual FoxPro strSQL = strSQL " Where CT_Type = 0 And CT_CodePostal like 57% " Excution de la requte intRep = SQLEXEC (idCPTA, strSQL) IF intRep >=0 &&La requte dcriture a fonctionn &&Suite de code Visual FoxFro ELSE La requte a chou &&traitement de lerreur END IF

Rcupration des erreurs


La rcupration des erreurs, sous Visual FoxPro, se fait par lintermdiaire de la fonction AERROR (). Toutes les fonctions daccs aux donnes retournent une valeur <=0 si une erreur sest produite durant lopration. AERROR () contient la dernire erreur rencontre, et prend en paramtre une variable de type tableau contenant 7 lments. Le premier lment est le n de lerreur FoxPro. Si celle ci est gale 1526, alors cest une erreur ODBC (soit retourne par le driver, soit retourne par FoxPro lors dun problme de connexion par exemple). Voici la liste des indices du tableau, avec la signification des erreurs ODBC. Indice du tableau 1 2 3 4 5 6 7 Remarques : Chaque fois que vous excuterez une fonction daccs ODBC (connexion, excution dune requte...), il faudra tester si la valeur retourne est ngative (ou gal 0 pour les fonctions de connexion). Si oui, il faudra utiliser la fonction AERROR () afin de connatre lorigine du problme. La commande ON ERROR Do MonProgramme ; ne peut pas tre utilise pour une erreur ODBC. Il faut obligatoirement tester la valeur retourne par les fonctions. Type Numrique Caractres Caractres Caractres Numrique Numrique Contenu Vontient 1526 si cest une erreur ODBC ou daccs ODBC Message derreur retourn par FoxPro Message derreur retourn par le driver ODBC Code erreur interne au driver N de lerreur retourn par le driver ODBC Handle de connexion de la source de donnes ou sest produit lerreur Toujours nul

Exemple &&Exemple de rcupration des erreurs ODBC &&Interception dune erreur de connexion et dune erreur dexcution de requte &&Nous ne nous attarderons pas sur la mthode de connexion et dexcution de requte &&Connexion la source de donnes ODBC ComptaC_Bijou IdCPTA = SQLCONNECT (ComptaC_Bijou) &&Si la valeur de retour est <= 0, alors il y a eu un problme lors de la connexion IF IdCPTA > 0 &&Pas de problme de connexion &&Code Visual FoxPro
160

Sage

Annexe 8 Utilisation dODBC avec Visual FoxPro &&Excution dune requte SQL intRes = SQLEXEC (idCPTA, strSQL,MyCursor) &&Si le rsultat de SQLExec est < 0, alors il y a eu un problme lors de lexcution de la requte IF intRes >= 0 &&La requte a fonctionn &&suite du code Visual FoxPro ELSE &&Gestion de lerreur dexcution dune requte SQL &&Gnre les erreurs dans le tableau aErrorArray = AERROR (aErrorArray) strMessageErreur = "Erreur lors de lexcution de la requte" &&Code erreur strMessageErreur = strMessageErreur CHR (13) "Code Erreur: " aErrorArray (5) &&Message derreur strMessageErreur = strMessageErreur CHR (13) "Message: " aErrorArray (3) &&Affiche lerreur ? strMessageErreur ENDIF &&Ferme la connexion ODBC intRes = SQLDISCONNECT (idCPTA) ELSE &&Problme lors de la connexion &&Traitement de lerreur de connexion &&Gnre les erreurs dans le tableau aErrorArray = AERROR (aErrorArray) strMessageErreur = "Erreur lors de la connexion" &&Code erreur strMessageErreur = strMessageErreur CHR (13) "Code Erreur: " aErrorArray (5) &&Message derreur strMessageErreur = strMessageErreur CHR (13) "Message: " aErrorArray (3) &&Affiche lerreur ? strMessageErreur END IF

Sage

161

Annexe 9 Utilisation dODBC avec Delphi

Annexe 9 Utilisation dODBC avec Delphi


Introduction __________________________________________163 Connexion Dconnexion ________________________________164 Recherche denregistrements ____________________________165 Utilisation de lobjet TQuery ................................................ 165 Utilisation de lobjet TTable ................................................. 166 Ecriture dans les bases__________________________________168 Utilisation de lobjet TQuery ................................................ 168 Utilisation de lobjet TTable ................................................. 169 Rcupration des erreurs________________________________171

Sage

162

Annexe 9 Utilisation dODBC avec Delphi

Introduction
Afin de standardiser la gestion des bases de donnes, Delphi utilise des alias, faisant rfrence des sources de donnes ou des bases de donnes. Il est donc ncessaire de crer ces alias avant de pouvoir programmer. Pour se faire, il faut utiliser lutilitaire de Configuration BDE. Il faut donc, dans un premier temps, crer un nouveau pilote ODBC, laide de cet utilitaire : Dans le feuillet pilotes , cliquez sur Nouveau pilote ODBC . Renseignez le nom de ce pilote, son type (Sage Gestion commerciale 100, Sage comptabilit 100...), ainsi que le nom de la source de donnes associ ce pilote, car un pilote ne fait rfrence qu une seule source de donnes.

Une fois ce Pilote cr, il ne reste plus qu lui associer un alias. Pour se faire, allez dans le feuillet Alias et faites Nouvel Alias . Renseignez le nom de votre alias, ainsi que le nom du pilote utiliser (type de lalias), avant de cliquer sur OK . Remarques : Le nom des pilotes ODBC commencent tous par ODBC_ . A partir de la version 3.0 de Delphi, il nest plus ncessaire de crer des Alias ; delphi est capable dattaquer en direct une source de donnes. Quelque soit la base de donnes utilise (ODBC ou autre), Delphi ne fait pas de diffrence ; toutes les mthodes standard sont utilisables.

Sage

163

Annexe 9 Utilisation dODBC avec Delphi

Connexion Dconnexion
Que vous utilisiez un objet TTable ou Tquery, la connexion sera ralise au moment o vous utiliserez la mthode Open pour lobjet TTable, ou au moment de lemploi de la mthode ExecQuery (ou la proprit Active vrai) pour lobjet Tquery. Sous Delphi, il ny a pas dobjet permettant didentifier une connexion proprement dit, comme on pourrait le trouver dans les autres langages (ex : objet connexion comme sous VB, ou ID de connexion comme sous Windev ou Visual FoxPro). La dconnexion est ralise laide de la mthode Close. Cette mthode est utilisable par les deux objets.
Lors de la premire connexion une source de donnes Sage, Delphi va afficher une bote de connexion. A priori, il nest pas possible de renseigner le nom et le mot de passe utiliser afin de ne pas voir apparatre cette bote de connexion.

Exemple {Exemple douverture de la table F_CompteT de la comptabilit} {La source de donnes utilise est ComptaC_Bijou} {Le nom de lobjet TTable est TCompta} {Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj connect} { une source de donnes} If TCompta.Active then TCompta.Close ; {Renseigne le nom de la source de donnes} TCompta.DatabaseName := ComptaC_Bijou ; {Renseigne le nom de la table} TCompta.TableName := 'F_COMPTET' ; {Ouvre la table > connexion ODBC} TCompta.Open ; {Traitement Delphi} {Fermeture de la table} TCompta.Close; Lutilisation de lobjet Tquery est traite dans le chapitre cidessous.

Sage

164

Annexe 9 Utilisation dODBC avec Delphi

Recherche denregistrements
Il existe plusieurs mthodes de recherche denregistrements. La plus adapte est celle effectue laide de lobjet Query. En effet, il suffit de lui indiquer quel alias faire rfrence, ainsi que la requte excuter. Cette mthode est la mieux adapte car elle permet de lier des informations qui proviennent de plusieurs tables. De plus, cest le driver ODBC qui se charge de trouver lindex (ou les index) optimal pour lexcution de cette requte. Le rsultat de cette dernire pourra tre envoy un autre objet du type DBGrid par exemple, via lobjet DataSource. Lautre mthode de recherche (utilise essentiellement pour une recherche avant mise jour ou suppression) est base sur les mthodes Goto (GotoKey, GotoNearest etc...) ou Locate qui sappliquent aux objets de type TTable. Ces mthodes ncessitent lutilisation des index de recherche des tables Sage 100 (ces index sont rfrencs pour chaque table dans le manuel dcrivant la structure des bases Sage 100). Lindex utiliser sera renseign, ainsi que la valeur des champs qui composent cet index. Cette mthode vous permettra de vous placer sur lenregistrement modifier ou supprimer, par exemple. Vous trouverez cidessous un exemple de ces deux mthodes de recherche.

Utilisation de lobjet TQuery


Exemple {Exemple dexcution de requte de slection et de parcours des enregistrements} {Recherche de tous les clients dont le code commence par C} {La source de donnes utilise est ComptaC_Bijou} {Le nom de lobjet TQuery est QClient} Var strSQL : String ; {Varaible contenant la requte SQL de slection} strMessage : String ; {Message affich lcran utilis pour le parcours des enregistrements} Begin {Syntaxe SQL} {Construction de la requte SQL de slection} {Critres :} { CT_Type = 0 > slection des clients} { CT_Num like C% > Slection des codes clients commenant par C} strSQL = Select CT_Num, CT_Intitule From F_CompteT strSQL = strSQL Where CT_Type = 0 And CT_Num Like C% {Avant toute manipulation sur lobjet QClient, on sassure que ce dernier nest pas dj connect} { une source de donnes} If QClient.Active Then QClient.Close; {Renseigne le nom de la source de donnes > ComptaC_Bijou} QClient.DatabaseName := ComptaC_Bijou; {Supprimer la requte SQL prcedente} QClient.SQL.Clear; {Affecte la requte SQL lobjet TQuery} QClient.SQL.Add (strSQL); {Excute la requte SQL de slection} QClient.Active := True; {Se place au premier enregistrement si le rsultat de la requte nest pas vide} If not QClient.EOF then
Sage

165

Annexe 9 Utilisation dODBC avec Delphi QClient.First; {Parcours les enregistrements slectionns} While not QClient.EOF do Begin {Affiche les informations} strMessage = QClient[CT_NUM] : QClient['CT_INTITULE'] MessageDlg (strMessage, mtInformation,[mbOk], 0); {Passe lenregistrement suivant} QClient.Next; End; Qclient.Close ; End ;

Utilisation de lobjet TTable


Exemple {Exemple dexcution de requte de slection et de parcours des enregistrements} {Recherche de tous les clients} {La source de donnes utilise est ComptaC_Bijou} {Le nom de lobjet TTable est TCompta} Var strMessage : String ; {Message affich lcran utilis pour le parcours des enregistrements} Begin {Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj connect} { une source de donnes} If not TCompta.Active then TCompta.Close; {affecte le nom de la source de donnes utiliser} TCompta.DatabaseName := 'ComptaC_Bijou'; {Nom de la table ouvrir} TCompta.TableName := 'F_COMPTET'; {Index utiliser. Lindex ICT_TYPE se compose des champs CT_Type et CT_Num. Il sera donc} {ncessaire de les renseigner} TCompta.IndexName := 'ICT_TYPE'; {Ouvre la table TCompta} TCompta.Open; {Indique que les valeurs des champs des index vont tre renseignes} TCompta.SetKey; TCompta['CT_TYPE'] := 0; TCompta['CT_NUM'] := ''; {Recherche lenregistrement le plus proche} TCompta.GotoNearest; {Tant que lon est pas la fin de la table et que le type du Tiers est client (CT_Type = 0)} While not TCompta.EOF And TCompta['CT_TYPE'] = 0 Do Begin {Affiche le code du client} strMessage := TCompta['CT_NUM'];
166

Sage

Annexe 9 Utilisation dODBC avec Delphi MessageDlg (strMessage, mtInformation,[mbOk], 0); {Passe lenregistrement suivant} TCompta.Next; End; {Ferme la connexion de TCompta} TCompta.Close ; End ;

Sage

167

Annexe 9 Utilisation dODBC avec Delphi

Ecriture dans les bases


Toutes les mthodes dcriture applicables lobjet TTable, telle que InsertRecord, AppendRecord, Insert, Append, Edit, Delete (associs la mthode Post) sont utilisables. Il suffit de crer un Objet de type TTable, et de faire rfrence une table dun alias Sage 100. Il est aussi possible dexcuter une requte dcriture partir dun objet de type Tquery, laide la mthode ExecQuery. Vous trouverez cidessous un exemple de ces deux mthodes.

Utilisation de lobjet TQuery


Exemple {Exemple dexcution dune requte de modification.} {Les clients de la Moselle (dept. 57) changent de reprsentant. Dsormais, cest Gendron (identifi par CO_No = 3)} {qui se charge de ce secteur.} {La source de donnes utilise est ComptaC_Bijou} {Le nom de lobjet TQuery est QUpdateQuery} Var strSQL : String ; {Variable contenant la requte SQL de slection} Begin {Syntaxe SQL} {Construction de la requte SQL de modification} {Critres :} { CT_Type = 0 > slection des clients} { CT_CodePostal like 57% > Slection des codes clients dont le code dpartement commence par 57} {Valeur modifier} { CO_No = 3 > le reprsentant est Gendron (identifi par 3 pour plus dinfo, voir la table F_Collaborateur)} strSQL = Update F_CompteT Set CO_No = 3 strSQL = strSQL Where CT_Type = 0 And CT_CodePostal like 57% Excution de la requte {Avant toute manipulation sur lobjet QClient, on sassure que ce dernier nest pas dj connect} { une source de donnes} If QUpdateQuery.Active Then QUpdateQuery.Close; {Renseigne le nom de la source de donnes > ComptaC_Bijou} QUpdateQuery.DatabaseName := ComptaC_Bijou; {Supprimer la requte SQL prcedente} QUpdateQuery.SQL.Clear; {Affecte la requte SQL lobjet TQuery} QUpdateQuery.SQL.Add (strSQL); {Excute la requte SQL dcriture} QUpdateQuery.ExecQuery.; QUpdateQuery.Close ; End :

Sage

168

Annexe 9 Utilisation dODBC avec Delphi

Utilisation de lobjet TTable


Exemple {Exemple dexcution dune requte de modification.} {Les clients de la ville de Metz changent de reprsentant. Dsormais, cest Gendron (identifi par CO_No = 3)} {qui se charge de ce secteur.} {La source de donnes utilise est ComptaC_Bijou} {Le nom de lobjet TTable est TCompta} Var strSQL : String ; {Variable contenant la requte SQL de slection} Begin {Avant toute manipulation sur lobjet TCompta, on sassure que ce dernier nest pas dj connect} { une source de donnes} If not TCompta.Active then TCompta.Close; {affecte le nom de la source de donnes utiliser} TCompta.DatabaseName := 'ComptaC_Bijou'; {Nom de la table ouvrir} TCompta.TableName := 'F_COMPTET'; {Index utiliser. Lindex ICT=TYPE se compose des champ CT_Type et CT_Num. Il sera donc} {ncessaire de les renseigner} TCompta.IndexName := 'ICT_TYPE'; {Ouvre la table TCompta} TCompta.Open; {Indique que les valeurs des champs des index vont tre renseignes} TCompta.SetKey; TCompta['CT_TYPE'] := 0; TCompta['CT_NUM'] := ''; {Recherche lenregistrement le plus proche} TCompta.GotoNearest; {Tant que lon est pas la fin de la table et que le type du Tiers est client (CT_Type = 0)} While not TCompta.EOF And TCompta['CT_TYPE'] = 0 Do Begin If Tcompte[CT_Ville] = Metz Then {Si la ville du client est Metz, alors} {on effectue la modification} Begin {Modification du n de reprsentant} TCompta.Edit; {Change le n de reprsentant CO_No = 3} TCompta[CO_NO']:= 3; {Valide le changement laide de la mthode Post} TCompta.Post; End ; {Passe lenregistrement suivant} TCompta.Next; End; {Ferme la connexion de TCompta}

Sage

169

Annexe 9 Utilisation dODBC avec Delphi TCompta.Close ; End ;

Sage

170

Annexe 9 Utilisation dODBC avec Delphi

Rcupration des erreurs


La rcupration des erreurs, sous Delphi, se fait par lintermdiaire des Exceptions. Une exception est une condition derreur ou dvnement exceptionnel qui interrompt lexcution normale du programme. En Pascal Objet, la gestion des exceptions permet de sparer le programme avec la partie grant les erreurs ventuelles. Lunit sysUtils implmente la gnration et la gestion des exceptions. Lorsquune application utilise lunit SysUtils, toutes les erreurs dexcution sont automatiquement converties en exception. Syntaxe : Try (* Code Pascal *) except On Erreur1 : ErreurType do MessageDlg (Erreur1.message, mtInformation,[mbOk], 0); end ; Si une erreur se produit durant lexcution des instructions se trouvant entre les mots rservs Try et Except, alors lexcution du code sera automatiquement interrompue, et le gnrateur dexception soccupera deffectuer les oprations ncessaires (code se trouvant entre les mots rservs except et end), afin de traiter lerreur. Si aucune erreur ne sest produite, le code grant les exceptions (qui se trouve entre Except et End), ne sera pas excut. Plusieurs types derreurs peuvent se produire : Les erreurs de connexion, douverture de table, de champ spcifi non trouv... Ces erreurs se trouvent dans la classe EDatabaseError. Les erreurs concernant les tests de cohrence et dintgrit retourns par le driver ODBC. Ces erreurs se trouvent dans la classe EDBEngineError.

Il existe dautres types dexception, mais ils ne seront pas traits ici, car ils ne concernent pas les erreurs de connexion, o celles retournes par les drivers ODBC Sage. Les mthodes de rcupration des erreurs pour ces deux classes dObjet sont diffrentes. L'exception EDatabaseError est dclenche lorqu'une erreur de base de donnes est dtecte par un composant. Elle ne contient quune seule erreur et pour obtenir son message derreur en clair, il faut utiliser la mthode message. Une exception de type EDBEngineErreur, est dclenche lorsquune erreur BDE se produit. Lexception contient deux proprits public : Errors (TBDError) qui contient une liste de toute la pile des erreurs retournes par le moteur de base de donnes Borland, et ErrorCount qui contient le nombre total derreurs contenues dans la proprit Errors. Errors possde cinq proprits public permettant de dtailler les erreurs (ErrorCode, Cotegory, SubCode, NativeError et Message). Exemple Lexemple suivant vous montre comment grer les exceptions retournes par le driver ODBC Sage . var S :String; i,j :Longint; ErrSql:TDBError; begin try

Sage

171

Annexe 9 Utilisation dODBC avec Delphi

{Code Delphi} except (* La suite du code nest excut que si une exception sest produite *) On ErrEngine: EDBEngineError do (* Une erreur DBE sest produite *) begin (* Une exception du type EDBEngineError est compose de plusieurs erreurs. *) (* Il faut donc la parcourir afin de rcuprer lensemble des erreurs *) for i:=0 to ErrEngine.ErrorCount1 do begin ErrSql:=ErrEngine.Errors[i]; j:=ErrSql.NativeError; Str (j,s); (* Affiche le n de lerreur retourn par le driver ODBC *) MessageDlg ('Erreur n ' s, mtInformation,[mbOk], 0); (* Affiche le texte de lerreur retourn par le driver ODBC *) MessageDlg (ErrSql.message, mtInformation,[mbOk], 0); end; end; On ErrDatabase: EDatabaseError do (* Erreur de base de donnes dtecte *) MessageDlg (ErrDatabase.message, mtInformation,[mbOk], 0); else MessageDlg ('Autre erreur', mtInformation,[mbOk], 0); end; end;

Sage

172

Annexe 10 Utilisation des fonctions avances Sage

Annexe 10 Utilisation des fonctions avances Sage


Introduction__________________________________________ 174 API Sage ......................................................................... 174 DLL ActiveX ..................................................................... 174 Descriptif des fonctions utilises dans les exemples ..................... 175 Visual Basic __________________________________________ 177 API Sage ......................................................................... 177 DLL ActiveX ..................................................................... 179 Dclaration des fonctions avances Sage .................................. 181 WinDev _____________________________________________ 182 API Sage ......................................................................... 182 DLL ActiveX ..................................................................... 184 Visual FoxPro_________________________________________ 185 API Sage ......................................................................... 185 Dclaration des fonctions avances Sage .................................. 187 Delphi ______________________________________________ 188 API Sage ......................................................................... 188 DLL ActiveX ..................................................................... 190 Dclaration des fonctions avances Sage .................................. 193

Sage

173

Annexe 10 Utilisation des fonctions avances Sage

Introduction
Comme dcrit dans les chapitres prcdents. Remarques : Les fonctions avances Sage ont un accs natif aux bases de donnes ; elles ne passent pas par le driver ODBC. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. Ceci est normalement toujours le cas car une source de donnes de gestion commerciale utilise la base de comptabilit et la base de gestion commerciale. La premire consiste lappel de fonctions externes (API Sage). Ces fonctions se trouvent dans la DLL CBODBC32.DLL. Cette mthode est utilisable par tous les logiciels 32 bits capables dappeler des fonctions externes. La seconde consiste lemploi dune DLL ActiveX (ASD100.DLL). Cette mthode est utilisable par tous les logiciels 32 bits capables dutiliser la technologie ActiveX.

Il existe deux mthodes pour appeler ces fonctions :

API Sage
Pour utiliser ces fonctions, vous devez les dclarer, en faisant attention la syntaxe de la fonction (minuscule et majuscule). La librairie Sage se nomme CBODBC32.DLL. Les fonctions retournent un code erreur (entier). Si ce code erreur vaut 0, alors le rsultat de la fonction est correct, sinon le code retour identifie lerreur. Lerreur la plus frquente est 2013 : dossier non ouvert. Cette erreur indique quil ny a pas de connexion ODBC aux bases Sage. Les fonctions volues ont plusieurs paramtres. Linformation que vous recherchez est toujours retourne par le dernier paramtre. Le format date est une chane de caractre au format JJMMAA.

DLL ActiveX
Un composant ActiveX est une unit de code excutable qui suit la spcification ActiveX dans le but de fournir des objets. Ces objets sont utilisables par tous les logiciels de dveloppement capables dutiliser cette technologie (Visual Basic 6.0, Delphi 3.0 etc...). Lintrt dutiliser une DLL activeX pour les fonctions volues est multiple : Manipulation dun objet avec des proprits Plus besoin de dclarer lensemble des fonctions volues Facilit dutilisation Possibilit dutilisation dans Microsoft Visual Interdev pour dvelopper des applications Intranet ou Internet Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale.

Remarques

Sage

174

Annexe 10 Utilisation des fonctions avances Sage Principe dutilisation La DLL ActiveX est ASD100.DLL (Active Sage Data 100). Cette DLL est stocke dans Windows\System. A lintrieur de cette DLL sont stockes lensemble des fonctions volues. Cette DLL est compose de 4 objets : CPTA : fonctions volues de comptabilit 100 CIAL : fonctions volues de gestion commerciale 100 FSAL : fonctions volues de la paie Maestria PARAM : fonctions volues relatives aux pages paramtres et utilitaires

Chaque objet expose ses proprits, qui sont les fonctions volues du driver Sage ODBC. Contrairement aux fonctions volues qui retournent un code erreur, chaque proprit de lobjet retourne le rsultat. Le code erreur retourn par la fonction est rcuprable par la proprit Erreur. De plus, le format date nest plus une chane de caractres, mais bel et bien un format date de lapplication.

Descriptif des fonctions utilises dans les exemples


Vous trouverez ci-dessous des exemples de fonctions Sage retournant des numriques, des dates et des chanes de caractres : TotalMvtSolde () : Comptabilit Cette fonction permet de calculer le solde des mouvements connaissant le compte gnral CG_Num, le compte tiers CT_Num ou (et) le code journal JO_Num CIALDocNouvPiece () : Gestion commerciale Retourne la valeur du nouveau numro de pice disponible en fonction de la souche et du type de document. GetParamValeurDate : Retourne la valeur du champ date identifi par ces paramtres. Ce champ se trouve dans une table P_ (table paramtre).

TotalMvtSolde (CG_Num, CT_Num, JO_Num, Deb, Fin, [Rsultat] ) Cette fonction permet de calculer le solde des mouvements connaissant le compte gnral CG_Num, le compte tiers CT_Num, le code journal JO_Num, la priode dfinie par la date de dbut Deb et la date de fin Fin. On doit obligatoirement remplir tous les champs, mais certains peuvent ne pas tre renseigns, auquel cas, le critre de recherche stendrait toutes les valeurs de ces champs. Les champs Deb et Fin peuvent tre vide, par contre il faut que lun des trois champs suivants ait une valeur non nulle, savoir CG_NUM, CT_NUM ou JO_NUM. En Entre CG_Num (Chane de caractres de type Compte 13 caractres maximum) : Numro de compte gnral CT_Num (Chane Alphanumrique Maj. 17 caractres max.) : Numro de compte tiers JO_Num (Chane de caractres 6 caractres max.) : Code Journal Deb (Date) : Date de dbut Fin (Date) : Date de fin

En Sortie Rsultat de la fonction (Double) : Solde

Sage

175

Annexe 10 Utilisation des fonctions avances Sage CIALDocNouvPiece (DO_Type, DO_SOUCHE, [Rsultat] ) Retourne la valeur du nouveau numro de pice disponible en fonction de la souche. En Entre DO_Type (Entier) : Type de document DO_Souche (Entier) : Numro de souche du document En Sortie Rsultat de la fonction (Double) : Montant TTC en devise du document. GetParamValeurDate (TypeBase, NomTable, NomChamp, [Rsultat] ) Si la table NomTable est une page paramtre (table commenant par P_), alors GetParamValeurDate retourne la valeur en Date, du champ NomChamp, de la page paramtre NomTable, de la base de type TypeBase. Si la table NomTable est une table de type fichier (table commenant par F_), alors GetParamValeurDate retourne la valeur en Date, du champ NomChamp, de la table NomTable, de la base de type TypeBase, pour le dernier enregistrement crit par ODBC (ajout ou modification). Cest utile si on veut connatre les valeurs des champs de lenregistrement que lon vient de crer, principalement des champs calculs ou mis jour par le driver. En Entre TypeBase (Chane de caractres) : Type de la base : CPTA (Base comptable), CIAL (Base commerciale), FSAL (Base salari), FPAR (Base paramtre) NomTable (Chane de caractres) : Nom de la table de type paramtre (table commenant par P_) NomChamp (Chane de caractres) : Nom du champ de la page paramtre. En Sortie Rsultat de la fonction (Date) : Valeur du champ

Sage

176

Annexe 10 Utilisation des fonctions avances Sage

Visual Basic
Avant de pouvoir utiliser une fonction avance Sage, il faut que Visual basic soit connect aux bases Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. La connexion aux bases ODBC peut tre ralise a laide de nimporte quelle mthode disponible partir de Visual Basic. Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde () Dclaration La fonction API Sage retourne un code erreur (cest un entier). Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass par rfrence. Noubliez pas de respecter les majuscules/minuscules Declare Function TotalMvtSolde Lib "CBODBC32" (ByVal CG_Num As String, ByVal CT_Num As String, _ ByVal JO_Num As String, ByVal debut As String, ByVal fin As String, Resultat As Double) As Integer Utilisation Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction. Dim dblResult as Double Variable utilise pour recueillir le rsultat. Appel de la fonction Sage Compte gnral : 4010000 Compte de Tiers : non prcis Code journal : ACH journal des achats Date de dbut de priode : 010196 01/01/1996 Date de fin de priode : 311296 31/12/1996

intCodeerr = TotalMvtSolde ("4010000", "", "ACH", "010196", "311296", dblResult) If intCodeErr = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print dblResult Else Une erreur est dtecte Affiche le code erreur Debug.Print "Erreur n", intCodeErr End If

Sage

177

Annexe 10 Utilisation des fonctions avances Sage CIALDocNouvPiece () Dclaration La fonction API Sage retourne un code erreur (cest un entier). Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc pass par valeur. Noubliez pas de respecter les majuscules/minuscules Declare Function CIALDocNouvPiece Lib "CBODBC32" (ByVal DO_Type As Integer, _ ByVal DO_Souche As Integer, ByVal Resultat As String) As Integer Utilisation Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction. Dim strResult as String * 13 Variable utilise pour recueillir le rsultat. Initialisation de la variable strResult strResult = Trim$ (13) Appel de la fonction Sage Type de document : 1 BC de vente Souche : 0 N de pice pour Bijou SA

intCodeerr = CIALDocNouvPiece (1, 0, strResult) If intCodeErr = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print Trim (strResult) Else Une erreur est dtecte Affiche le code erreur Debug.Print "Erreur n", intCodeErr End If GetParamValeurDate () Dclaration La fonction API Sage retourne un code erreur (cest un entier). Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc pass par valeur. Noubliez pas de respecter les majuscules/minuscules Declare Function GetParamValeurDate Lib "CBODBC32" (ByVal TypeBase As String, _ ByVal NomTable As String, ByVal NomChamp As String, ByVal ValChamp As String) As Integer Utilisation Dim intCodeErr as Integer Variable utilise pour recueillir le code erreur de la fonction. Dim strResult as String * 7 Variable utilise pour recueillir le rsultat.
178

Sage

Annexe 10 Utilisation des fonctions avances Sage

Initialisation de la variable strResult strResult = Trim$ (7) Appel de la fonction Sage Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc", strResult) If intCodeErr = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print Trim (strResult) Else Une erreur est dtecte Affiche le code erreur Debug.Print "Erreur n", intCodeErr End If

DLL ActiveX
Pour utiliser la DLL ActiveX Sage sous Visual Basic, vous devez faire rfrence ASD100 Type librairie x.xx . TotalMvtSolde () TotalMvtSolde est une fonction de la comptabilit. Lobjet utiliser est donc ASD100Lib.Cpta La proprit utiliser est TotalMvtSolde Dim objCPTA As ASD100Lib.Cpta Dclaration de lobjet Cpta Dim dblResult as double Variable utilise pour recueillir le rsultat. Cration de lobjet Set objCPTA = New ASD100Lib.Cpta Appel la proprit TotalMvtSolde. Le rsultat est stock dans la variable dblResult. Compte gnral : 4010000 Compte de Tiers : non prcis Code journal : ACH journal des achats Date de dbut de priode : 01/01/1996 Date de fin de priode : 31/12/1996

dblResult = objCPTA.TotalMvtSolde ("4010000", "", "ACH", #1/1/96#, #12/31/96#) If objCPTA.Erreur = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print dblResult Else Une erreur est dtecte Affiche le code erreur

Sage

179

Annexe 10 Utilisation des fonctions avances Sage Debug.Print "Erreur n", objCPTA.Erreur End If CIALDocNouvPiece () CIALDocNouvPiece est une fonction de la gestion commerciale. Lobjet utiliser est donc ASD100Lib.Cial La proprit utiliser est DocNouvPiece Dim objCIAL As ASD100Lib.Cial Dclaration de lobjet Cial Dim strResult as string Variable utilise pour recueillir le rsultat. Cration de lobjet Set objCIAL = New ASD100Lib.Cial Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult. Type de document : 1 BC de vente Souche : 0 N de pice pour Bijou SA

strResult = objCIAL.DocNouvPiece (1, 0) If objCIAL.Erreur = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print strResult Else Une erreur est dtecte Affiche le code erreur Debug.Print "Erreur n", objCIAL.Erreur End If GetParamValeurDate () GetParamValeurDate est une fonction concernant les tables paramtres (P_). Lobjet utiliser est donc ASD100Lib.Param La proprit utiliser est GetParamValeurDate Dim objParam As ASD100Lib.Param Dclaration de lobjet Param Dim dResult as Date Variable utilise pour recueillir le rsultat. Cration de lobjet Set objParam = New ASD100Lib.Param Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult. Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

dResult = objParam.GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc") If objParam.Erreur = 0 Then Pas derreur Affiche le rsultat dans la fentre dexcution Debug.Print dResult
180

Sage

Annexe 10 Utilisation des fonctions avances Sage Else Une erreur est dtecte Affiche le code erreur Debug.Print "Erreur n", objParam.Erreur End If

Dclaration des fonctions avances Sage


Ces dclarations se trouvent dans le fichier fourni avec le Kit ODBC : FONCTION.TXT

Sage

181

Annexe 10 Utilisation des fonctions avances Sage

WinDev
Avant de pouvoir utiliser une fonction avance Sage, il faut que Windev soit connect aux bases Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. Remarques : Il est ncessaire de charger la librairie avant de pouvoir appeler les fonctions (Utilisation de la fonction ChargeDLL). La dfinition du passage de paramtre (par valeur ou par rfrence) se dfinit lors de lexcution de la fonction (utilisation du caractre &). La librairie Sage 100 est une librairie 32 bits. Il est donc impratif dutiliser la fonction AppelDll32 (Ne pas utiliser AppelDll ni AppelDllLong).

Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
Il nexiste pas de dclaration de fonction proprement dit sous Windev. En effet, ce dernier charge la DLL o se situent les fonctions (dans notre cas CBODBC32.DLL), avant dappeler les fonctions. Remarques : Il est important de respecter les majuscules/minuscules lors de lappel aux fonctions Sage Il ne faut pas oublier de dcharger la DLL aprs sont utilisation, sinon cette dernire restera en mmoire.

TotalMvtSolde () Utilisation dblResult est un rel double //Variable utilise pour recueillir le rsultat. IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond normalement au code // erreur de la fonction Sage. //Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le rsultat de lappel de // la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc plus difficile //dinterprter lerreur Sage. //Charge la librairie CBODBC32.DLL IdChargeDLL = ChargeDLL ("CBODBC32.DLL") //Appel de la fonction Sage TotalMvtSolde // // Compte gnral : 4010000 Compte de Tiers : non prcis

Sage

182

Annexe 10 Utilisation des fonctions avances Sage // // // Code journal : ACH journal des achats Date de dbut de priode : 010196 01/01/1996 Date de fin de priode : 311296 31/12/1996

IdAppelDLL =AppelDll32 ("CBODBC32", "TotalMvtSolde", "4010000", "", "ACH", "010196", "311296", &dblResult) SI intCodeErr = 0 ALORS //Pas derreur //Affiche le rsultat lcran Info ( VersChane ( dblResult ,"10.2fS") "F.") SINON //Une erreur est dtecte //Affiche le code erreur Info ( VersChane ( IdAppelDLL )) FIN //Dcharge la librairie DechargeDLL (IdChargeDLL) CIALDocNouvPiece () Utilisation strResult est une Chane ASCIIZ sur 14 //Variable utilise pour recueillir le rsultat. IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond normalement au code // erreur de la fonction Sage. //Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le rsultat de lappel de // la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc plus difficile //dinterprter lerreur Sage. //Charge la librairie CBODBC32.DLL IdChargeDLL = ChargeDLL ("CBODBC32.DLL") //Appel de la fonction Sage CIALDocNouvPiece // // Type de document : 1 BC de vente Souche : 0 N de pice pour Bijou SA

IdAppelDLL =AppelDll32 ("CBODBC32", "CIALDocNouvPiece", 1, 0, &strResult) SI intCodeErr = 0 ALORS //Pas derreur //Affiche le rsultat lcran Info ( strResult) SINON //Une erreur est dtecte //Affiche le code erreur Info ( VersChane ( IdAppelDLL )) FIN //Dcharge la librairie
183

Sage

Annexe 10 Utilisation des fonctions avances Sage DechargeDLL (IdChargeDLL) GetParamValeurDate () Utilisation strResult est une Chane ASCIIZ sur 7 //Variable utilise pour recueillir le rsultat. IdChargeDll est une entier long //Identifiant de la DLL Sage CBODBC32.DLL IdAppelDLL est entier sans signe //Utilis pour le retour de lappel la fonction Correspond normalement au code // erreur de la fonction Sage. //Remarque : AppelDLL32 retourne un entier long 4 octets . Ce rsultat est normalement le rsultat de lappel de // la fonction Sage. Or la fonction sage retourne un entier 2 octets (non un long). Il sera donc plus difficile //dinterprter lerreur Sage. //Charge la librairie CBODBC32.DLL IdChargeDLL = ChargeDLL ("CBODBC32.DLL") //Appel de la fonction Sage GetParamValeurDate Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

IdAppelDLL=AppelDll32 ("CBODBC32", "GetParamValeurDate", "CPTA", "P_DOSSIER", "D_DebutExo01", &strResult) SI intCodeErr = 0 ALORS //Pas derreur //Affiche le rsultat lcran Info ( strResult) SINON //Une erreur est dtecte //Affiche le code erreur Info ( VersChane ( IdAppelDLL )) FIN //Dcharge la librairie DechargeDLL (IdChargeDLL)

DLL ActiveX
La version 4.1 de Windev ne supporte pas la technologie ActiveX. Il est donc impossible dutiliser les objets Sage de la DLL ActiveX ASD100 avec Windev.

Sage

184

Annexe 10 Utilisation des fonctions avances Sage

Visual FoxPro
Avant de pouvoir utiliser une fonction avance Sage, il faut que Visual FoxPro soit connect aux bases Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde () Dclaration &&La fonction API Sage retourne un code erreur (cest un entier). &&Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass par rfrence &&> Utilisation du symbole @ pour indiquer que le paramtre peut varier. Ce caractre sera aussi utilis lors &&de lappel la fonction &&Noubliez pas de respecter les majuscules/minuscules DECLARE SHORT TotalMvtSolde IN CBODBC32 STRING CG_Num, STRING CT_Num, STRING JO_Num, STRING debut, STRING fin, DOUBLE @Total Utilisation &&Appel de la fonction Sage && && && && && Compte gnral : 4010000 Compte de Tiers : non prcis Code journal : ACH journal des achats Date de dbut de priode : 010196 01/01/1996 Date de fin de priode : 311296 31/12/1996

intCodeerr = TotalMvtSolde ("4010000", "", "ACH", "010196", "311296", @dblResult) IF intCodeErr = 0 &&Pas derreur &&Affiche le rsultat dans une bote de dialogue = MESSageBOX (STR (dblResult), 16, "") ELSE Une erreur est dtecte Affiche le code erreur = MESSageBOX (STR (intCodeErr), 16, "") ENDIF CIALDocNouvPiece () Dclaration &&La fonction API Sage retourne un code erreur (cest un entier).

Sage

185

Annexe 10 Utilisation des fonctions avances Sage &&Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc pass &&par valeur > le caractre @ ne sera pas utilis pour la dclaration. Par contre, il sera utilis lors de lappel de &&la fonction Sage &&Noubliez pas de respecter les majuscules/minuscules DECLARE SHORT CIALDocNouvPiece IN CBODBC32 INTEGER DO_Type, INTEGER DO_Souche, STRING Resultat Utilisation &&Initialisation de la variable strResult strResult = SPACE (13) &&Appel de la fonction Sage && && Type de document : 1 BC de vente Souche : 0 N de pice pour Bijou SA

intCodeerr = CIALDocNouvPiece (1, 0, @strResult) IF intCodeErr = 0 &&Pas derreur &&Affiche le rsultat dans une bote de dialogue = MESSageBOX (strResult, 16, "") ELSE Une erreur est dtecte Affiche le code erreur = MESSageBOX (STR (intCodeErr), 16, "") ENDIF GetParamValeurDate () Dclaration &&La fonction API Sage retourne un code erreur (cest un entier). &&Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (String). Il est donc pass &&par valeur > le caractre @ ne sera pas utilis pour la dclaration. Par contre, il sera utilis lors de lappel de &&la fonction Sage &&Noubliez pas de respecter les majuscules/minuscules DECLARE SHORT GetParamValeurDate IN CBODBC32 STRING TypeBase, STRING NomTable, STRING NomChamp, STRING ValChamp Utilisation &&Initialisation de la variable strResult strResult = SPACE (7) &&Appel de la fonction Sage && && && Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc", @strResult)

Sage

186

Annexe 10 Utilisation des fonctions avances Sage IF intCodeErr = 0 &&Pas derreur &&Affiche le rsultat dans une bote de dialogue = MESSageBOX (strResult, 16, "") ELSE Une erreur est dtecte Affiche le code erreur = MESSageBOX (STR (intCodeErr), 16, "") ENDIF DLL ActiveX Bien que Visual FoxPro 3.0 sache utiliser les contrles OLE (Treeview par exemple), ce dernier ne sait pas utiliser les DLL ActiveX. Cette fonctionnalit ne peut pas tre employe avec ce produit (do moins la version 3.0 de ce dernier).

Dclaration des fonctions avances Sage


Ces dclarations se trouvent dans le fichier Fonctions.txt livr avec ce Kit ODBC.

Sage

187

Annexe 10 Utilisation des fonctions avances Sage

Delphi
Avant de pouvoir utiliser une fonction avance Sage, il faut que Delphi soit connect aux bases Sage. Pour utiliser les fonctions de la comptabilit, votre application doit tre connecte, via ODBC, la base comptable. Pour utiliser les fonctions de la gestion commerciale, votre application doit tre connecte, via ODBC, la base comptable et la base commerciale. Pour les exemples suivants, on supposera que la connexion a dj t ralise.

API Sage
TotalMvtSolde () Dclaration {La fonction API Sage retourne un code erreur (cest un entier).} {Le dernier paramtre est un paramtre dE/S. Cest un numrique (double). Il est donc pass par rfrence} {> utilisation du paramtre Var} {Noubliez pas de respecter les majuscules/minuscules} Function TotalMvtSolde (CG_Num:Pchar; CT_Num:Pchar; JO_Num:Pchar; Debut:Pchar; Fin:Pchar; Var Total:Double): smallInt; stdcall; external 'cbodbc32.dll'; Utilisation intCodeErr : Integer ; {Variable utilise pour recueillir le code erreur de la fonction.} dblResult : Double ; {Variable utilise pour recueillir le rsultat.} strResult : String ; {Variable utilise pour laffichge du rsultat} {Appel de la fonction Sage} { { { { { Compte gnral : 4010000} Compte de Tiers : non prcis} Code journal : ACH journal des achats} Date de dbut de priode : 010196 01/01/1996} Date de fin de priode : 311296 31/12/1996}

intCodeerr := TotalMvtSolde (4010000, , ACH, 010196, 311296, dblResult) ; If intCodeErr = 0 Then {Pas derreur} begin {Conversion dune double en chane} Str (dblResult:12:2, strResult); {Affiche le rsultat dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; Else {Une erreur est dtecte} Begin

Sage

188

Annexe 10 Utilisation des fonctions avances Sage {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; CIALDocNouvPiece () Dclaration {La fonction API Sage retourne un code erreur (cest un entier).} {Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (PChar). Il est donc pass} {par valeur > pas dutilisation de linstruction Var.} {Noubliez pas de respecter les majuscules/minuscules} Function CIALDocNouvPiece (DO_Type: Integer; DO_Souche: Integer; Resultat: Pchar) :smallInt; stdcall; external 'cbodbc32.dll'; Utilisation intCodeErr : Integer ; Variable utilise pour recueillir le code erreur de la fonction. StrResult : Pchar ; Variable utilise pour recueillir le rsultat. Initialisation de la variable strResult strResult := {Appel de la fonction Sage} { { Type de document : 1 BC de vente} Souche : 0 N de pice pour Bijou SA}

intCodeerr ;= CIALDocNouvPiece (1, 0, strResult) ; If intCodeErr = 0 Then {Pas derreur} begin {Affiche le rsultat dans une bote de dialogue} MessageDlg (String (strResult), mtInformation,[mbOk], 0); End ; Else {Une erreur est dtecte} Begin {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; GetParamValeurDate () Dclaration La fonction API Sage retourne un code erreur (cest un entier).

Sage

189

Annexe 10 Utilisation des fonctions avances Sage {Le dernier paramtre est un paramtre dE/S. Cest une chane de caractres (PChar). Il est donc pass} {par valeur > pas dutilisation de linstruction Var.} Noubliez pas de respecter les majuscules/minuscules Function GetParamValeurDate (TypeBase: PChar; NomTable: PChar; NomChamp: PChar; ValChamp: PChar):smallInt;stdcall;external 'cbodbc32.dll'; Utilisation intCodeErr : Integer ; Variable utilise pour recueillir le code erreur de la fonction. StrResult : Pchar ; Variable utilise pour recueillir le rsultat. Initialisation de la variable strResult strResult := ; Appel de la fonction Sage Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

intCodeerr = GetParamValeurDate (CPTA, P_DOSSIER, D_RaisonSoc, strResult) ; If intCodeErr = 0 Then {Pas derreur} begin {Affiche le rsultat dans une bote de dialogue} MessageDlg (String (strResult), mtInformation,[mbOk], 0); End ; Else {Une erreur est dtecte} Begin {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ;

DLL ActiveX
Pour utiliser la DLL ActiveX sous Delphi, vous devez utiliser lunit OleAuto.dcu. Cette dernire besoin que les units suivantes soient prsentes : ole2.dcu et olectl.dcu. TotalMvtSolde () //TotalMvtSolde est une fonction de la comptabilit. Lobjet utiliser est donc ASD100Lib.Cpta //La proprit utiliser est TotalMvtSolde objCPTA : Variant ;//Dclaration de lobjet Cpta dblResult : Double ; //Variable utilise pour recueillir le rsultat. //Cration de lobjet

Sage

190

Annexe 10 Utilisation des fonctions avances Sage objCPTA :=CreateOleObject ('ASD100.Cpta'); //Appel la proprit TotalMvtSolde. Le rsultat est stock dans la variable dblResult. // // // // // Compte gnral : 4010000 Compte de Tiers : non prcis Code journal : ACH journal des achats Date de dbut de priode : 01/01/1996 Date de fin de priode : 31/12/1996

dblResult := objCPTA.TotalMvtSolde (4010000, , ACH, StrToDate (01/01/1996), StrToDate (31/12/1996)) ; If objCPTA.Erreur = 0 Then //Pas derreur begin {Conversion dune double en chane} Str (dblResult:12:2, strResult); {Affiche le rsultat dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; Else {Une erreur est dtecte} Begin {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; CIALDocNouvPiece () //CIALDocNouvPiece est une fonction de la gestion commerciale. Lobjet utiliser est donc ASD100Lib.Cial //La proprit utiliser est DocNouvPiece objCIAL : Variantl ; //Dclaration de lobjet Cial strResult : String ; //Variable utilise pour recueillir le rsultat. //Cration de lobjet objCIAL :=CreateOleObject ('ASD100.Cial'); Appel la proprit DocNouvPiece. Le rsultat est stock dans la variable strResult. Type de document : 1 BC de vente Souche : 0 N de pice pour Bijou SA

strResult := objCIAL.DocNouvPiece (1, 0) ; If objCIAL.Erreur = 0 Then //Pas derreur begin {Affiche le rsultat dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ;
191

Sage

Annexe 10 Utilisation des fonctions avances Sage Else {Une erreur est dtecte} Begin {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; GetParamValeurDate () //GetParamValeurDate est une fonction concernant les tables paramtres (P_). Lobjet utiliser est //donc ASD100Lib.Param //La proprit utiliser est GetParamValeurDate objParam : Variant ; //Dclaration de lobjet Param Dim dResult : TDateTime ;Variable utilise pour recueillir le rsultat. Cration de lobjet objParam :=CreateOleObject ('ASD100.Cial'); Appel la proprit GetParamValeurDate. Le rsultat est stock dans la variable dResult. Type de base : CPTA base comptable Nom de la table : P_DOSSIER Nom du champ : D_DebutExo01

dResult := objParam.GetParamValeurDate ("CPTA", "P_DOSSIER", "D_RaisonSoc") If objParam.Erreur = 0 Then //Pas derreur begin {Conversion dune date en chane} Str (dResult, strResult); {Affiche le rsultat dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ; Else {Une erreur est dtecte} Begin {Conversion du code erreur en chane} Str (intCodeErr, strResult); {Affiche le code erreur dans une bote de dialogue} MessageDlg (strResult, mtInformation,[mbOk], 0); End ;

Sage

192

Annexe 10 Utilisation des fonctions avances Sage

Dclaration des fonctions avances Sage


La dclaration des fonctions avances se trouve dans le fichier FONCTIONS.TXT

Sage

193

Annexe 10 Utilisation des fonctions avances Sage

Sage

194