<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>15 Apr 2019 12:16:58 Z</lastBuildDate><pubDate>8 Sep 2008 13:13:25 Z</pubDate><description>Bonjour &#13;
Reprenant le travail sur les acces SAGE 100 ( compta, gescom) sur base SQL, je livre les classes que nous avons développé, j'attends bien entendu vos commentaires et améliorations pour essayer d'en faire une réference... !!!&#13;
&#13;
Tenez moi au courant et si vous avez des soucis avec leurs utilisations , j'essayerai de vous aider... &#13;
&#13;
Cordialement&#13;
&#13;
Bien entendu ces classes sont spécifiques a des traitements particuliers de SAGE pour notre activité... &#13;
&#13;
// CLASSE -------------------- GESTION DES ARTICLES -------------------------&#13;
&#13;
stArticleDepot est une structure&#13;
	oDepot est un cDepot&#13;
	nStockReel est un monétaire&#13;
FIN&#13;
&#13;
cArticle est une classe&#13;
PUBLIC&#13;
PRIVÉ&#13;
	oBaseSAGE est un cCialSage&#13;
	cnxBDD est une Connexion&#13;
	oArticleOLE est un objet OLE dynamique&#13;
	bArticleOK est booléen&#13;
	oDepotPrincipal est un cArticleDepot&#13;
	bDepotPrincipalOK est booléen = Faux				//indique si le depot principal est initialise ou non&#13;
	tabQteDepot est un tableau dynamique de 0 stArticleDepot&#13;
	bStockDepotOK est booléen 							//indique si les quantites par depot sont chargees&#13;
	oInfosLibres est un cInfosLibres&#13;
	oFamille est un cFamille&#13;
FIN&#13;
&#13;
&#13;
PROCEDURE Constructeur()&#13;
PROCEDURE Destructeur()&#13;
&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getArticleOLE ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	objet Automation :    // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getArticleOLE()&#13;
RENVOYER(:oArticleOLE)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getDesignation ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getDesignation()&#13;
RENVOYER(:oArticleOLE&gt;&gt;AR_Design())&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] lireReference (&lt;pBaseCIAL&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;pCodArticle&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	pBaseCIAL (cCialSage) : &lt;indiquez ici le rôle de pBaseCIAL&gt;&#13;
//	pCnxBDD : &lt;indiquez ici le rôle de cnxBDD&gt;&#13;
//	pCodArticle : &lt;indiquez ici le rôle de pCodArticle&gt;&#13;
// Valeur de retour :&#13;
// 	booléen :  // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE lireReference(LOCAL pBaseCIAL est un cCialSage, LOCAL pCnxBDD, LOCAL pCodArticle)&#13;
oCial est un objet OLE dynamique = pBaseCIAL:getcial()&#13;
SI oCial&gt;&gt;FactoryArticle&gt;&gt;ExistReference(pCodArticle) ALORS&#13;
	:oArticleOLE = oCial&gt;&gt;FactoryArticle&gt;&gt;ReadReference(pCodArticle)&#13;
	:bArticleOK = Vrai&#13;
	:oBaseSAGE = pBaseCIAL&#13;
	:cnxBDD = pcnxbdd&#13;
	:oInfosLibres:setObjetOLE(:oArticleOLE&gt;&gt;InfoLibre())&#13;
	:oFamille:setfamille(:oArticleOLE&gt;&gt;Famille())&#13;
SINON&#13;
	:bArticleOK = Faux&#13;
FIN&#13;
RENVOYER(:bArticleOK)&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//setArticleOLE (&lt;pBaseCIAL&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;pArticle&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	pBaseCIAL (cCialSage) : &lt;indiquez ici le rôle de pBaseCIAL&gt;&#13;
// 	pCnxBDD : &lt;indiquez ici le rôle de pCnxBDD&gt;&#13;
//	pArticle : &lt;indiquez ici le rôle de pArticle&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setArticleOLE(LOCAL pBaseCIAL est un cCialSage, LOCAL pCnxBDD, pArticle)&#13;
//:oArticleOLE = particle&#13;
:lireReference(pBaseCIAL,pCnxBDD,pArticle&gt;&gt;AR_Ref())&#13;
:bArticleOK = Vrai&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getRef ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getRef()&#13;
SI :bArticleOK ALORS&#13;
	RENVOYER(:oArticleOLE&gt;&gt;AR_Ref())&#13;
SINON&#13;
	Erreur("erreur")&#13;
FIN&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockReel ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockReel()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockReel())&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getFournisseurPrincipal ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé :    // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getFournisseurPrincipal()&#13;
//oArtTarifFour est un cArticleTarifFournisseur()&#13;
//oArtTarifFour:setArticleTarifFournisseur(:mArticle&gt;&gt;FournisseurPrincipal())&#13;
//renvoyer(oArtTarifFour)&#13;
RENVOYER(:oArticleOLE&gt;&gt;FournisseurPrincipal())&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getDepotPrincipal ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cArticleDepot :  // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getDepotPrincipal()&#13;
SI PAS :bDepotPrincipalOK ALORS&#13;
	:oDepotPrincipal:setArticleDepot(:oBaseSAGE, :cnxBDD, :oArticleOLE&gt;&gt;ArticleDepotPrincipal())&#13;
	:bDepotPrincipalOK = Vrai&#13;
FIN&#13;
RENVOYER(:oDepotPrincipal)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//chargeStockDepot (&lt;pBaseCIAL&gt; est cCialSage, &lt;pCodArticle&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	pBaseCIAL (cCialSage) : &lt;indiquez ici le rôle de pBaseCIAL&gt;&#13;
//	pCodArticle : &lt;indiquez ici le rôle de pCodArticle&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE PRIVÉE chargeStockDepot(LOCAL pBaseCIAL est un cCialSage, LOCAL pCodArticle)&#13;
nInd est entier&#13;
cArticle_chargeArticle_sdDataSet est une Source de Données&#13;
sRequete est chaîne = "SELECT F_ARTSTOCK.AS_QteSto, F_DEPOT.DE_INTITULE FROM F_ARTSTOCK , F_DEPOT WHERE F_ARTSTOCK.AR_Ref = '"+pCodArticle+"' and f_artstock.de_no = f_depot.de_no"&#13;
SI PAS HExécuteRequêteSQL(cArticle_chargeArticle_sdDataSet,cnxBDDGESPROD,hRequêteDéfaut,sRequete) ALORS Erreur("Erreur cArticle:chargeArticle",HErreurInfo())&#13;
POUR TOUT cArticle_chargeArticle_sdDataSet &#13;
	oDep est un cDepot()&#13;
	oDep:lireIntitule(pBaseCIAL,cnxBDDGESPROD, cArticle_chargeArticle_sdDataSet.de_intitule)&#13;
	nInd++&#13;
	Dimension(:tabQteDepot,nInd)&#13;
	:tabQteDepot[nInd]:oDepot = oDep&#13;
	:tabQteDepot[nInd]:nStockReel = cArticle_chargeArticle_sdDataSet.AS_QteSto&#13;
FIN&#13;
HAnnuleDéclaration(cArticle_chargeArticle_sdDataSet)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockDepot (&lt;pIntituleDepot&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	pIntituleDepot : &lt;indiquez ici le rôle de pIntituleDepot&gt;&#13;
// Valeur de retour :&#13;
// 	monétaire :    // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockDepot(pIntituleDepot)&#13;
SI PAS :bStockDepotOK ALORS&#13;
	:chargeStockDepot(:oBaseSAGE, :getRef())&#13;
	:bStockDepotOK = Vrai&#13;
FIN&#13;
nInd est un entier = 1&#13;
TANTQUE nInd &lt;= Dimension(:tabQteDepot) ET :tabQteDepot[nInd]:oDepot:getIntitule() &lt;&gt; pIntituleDepot&#13;
	nInd++&#13;
FIN&#13;
SI nInd &gt; Dimension(:tabQteDepot) ALORS&#13;
	//depot pas trouve&#13;
	RENVOYER(MONE_INFINIPOSITIF)&#13;
SINON&#13;
	RENVOYER(:tabQteDepot[nInd]:nStockReel)&#13;
FIN&#13;
// Résumé : renvoie le code barre de l'article&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getCodeBarre ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getCodeBarre()&#13;
RENVOYER(:oArticleOLE&gt;&gt;AR_CodeBarre())&#13;
&#13;
// Résumé : renvoie le poids net de l'article&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getPoidsNet ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Numerique : // 	Poids de l'article&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getPoidsNet()&#13;
RENVOYER(:oArticleOLE&gt;&gt;AR_PoidsNet())&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] lireRefUniverse (&lt;pBase&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;pRefUniverse&gt; est chaîne)&#13;
//&#13;
// Paramètres :&#13;
//	pBase (cCialSage) : &lt;indiquez ici le rôle de pBase&gt;&#13;
//	pCnxBDD : &lt;indiquez ici le rôle de pCnxBDD&gt;&#13;
//	pRefUniverse (chaîne) : &lt;indiquez ici le rôle de pRefUniverse&gt;&#13;
// Valeur de retour :&#13;
// 	booléen :  // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE lireRefUniverse(LOCAL pBase est un cCialSage, LOCAL pCnxBDD, LOCAL pRefUniverse est chaîne)&#13;
sdcArticleLireRefUniverse est Source de Données&#13;
sRequete est chaîne = [&#13;
SELECT F_ARTICLE_PROD.AR_Ref&#13;
FROM F_ARTICLE_PROD&#13;
WHERE F_ARTICLE_PROD.Reference_WINNIX = '%1'&#13;
]&#13;
&#13;
SI PAS HExécuteRequêteSQL(sdcArticleLireRefUniverse,pCnxBDD,ChaîneConstruit(sRequete,pRefUniverse)) ALORS&#13;
	Erreur("Erreur requete "+dbgInfo(dbgElément),HErreurInfo())&#13;
	FinProgramme&#13;
FIN&#13;
HLitPremier(sdcArticleLireRefUniverse)&#13;
SI HTrouve(sdcArticleLireRefUniverse) ALORS&#13;
	//chargement de l'article&#13;
	RENVOYER(:lireReference(pBase, pCnxBDD, sdcArticleLireRefUniverse.AR_Ref))&#13;
SINON&#13;
	RENVOYER(Faux)&#13;
FIN&#13;
&#13;
&#13;
// Résumé : Renvoie la valeur de l'info libre dont le rang est passé en paramétre&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getInfoLibre (&lt;pInd&gt; est entier)&#13;
//&#13;
// Paramètres :&#13;
//	pInd (entier) : Rang de l'info libre&#13;
// Valeur de retour :&#13;
// 	Chaine : valeur de l'info libre&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getInfoLibre(LOCAL pInd est entier)&#13;
Trace("DEPRECATED", dbgInfo(dbgPile))&#13;
RENVOYER(:oArticleOLE&gt;&gt;InfoLibre&gt;&gt;Item(pind))&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockDispo ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockDispo()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockDispo())&#13;
&#13;
// Résumé : Renvoie le stock a terme de l'article (Stock réel + Stock commandé - Stock réservé – Stock préparé)&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockATerme ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé :  stock a terme&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockATerme()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockATerme())&#13;
&#13;
// Résumé : Renvoie le stock commande de l'article&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockCommande ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Numerique : stock commande&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockCommande()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockCommande())&#13;
&#13;
// Résumé : Renvoie le stock reserve de l'article&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockReserve ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Numerique : stock reserve&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockReserve()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockReserve())&#13;
&#13;
// Résumé : Renvoie le stock prepare de l'article&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockPrepare ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Numerique : stock prepare&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockPrepare()&#13;
RENVOYER(:oArticleOLE&gt;&gt;StockPrepare())&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getInfosLibres ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cInfosLibres : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getInfosLibres()&#13;
RENVOYER(:oInfosLibres)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//ecrire ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE ecrire()&#13;
:oArticleOLE&gt;&gt;write()&#13;
&#13;
// Résumé : //cette procedure renvoie le radical du code article passe en parametre&#13;
//ne s'applique qu'aux matières premieres. pas aux produits finis&#13;
//le code article est constitué de :&#13;
// - code saison sur 2 chiffres&#13;
// - code article sur 3 chiffres&#13;
// - code couleur sur 2 chiffres&#13;
 &#13;
 &#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getRadical ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	chaîne : // 	Aucune&#13;
//&#13;
&#13;
PROCEDURE getRadical()&#13;
sValRetour est une chaîne = :getRef()&#13;
//enlever la laize du code article (identifié par /)&#13;
SI Position(sValRetour,"/") &gt; 0 ALORS &#13;
	sValRetour = Gauche(sValRetour,Position(sValRetour,"/")-1)&#13;
FIN&#13;
//enlever le code couleur de la reference(2 derniers caracteres)&#13;
sValRetour = Gauche(sValRetour,Taille(sValRetour)-2)&#13;
RENVOYER(sValRetour)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getFamille ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cFamille :   // 	Aucune&#13;
//&#13;
&#13;
PROCEDURE getFamille()&#13;
	RENVOYER(:oFamille)&#13;
&#13;
// Résumé : Renvoie le code suivi de stock de l'article (enumerateur SuiviStockType)&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getSuiviStock ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//&#13;
&#13;
 PROCEDURE getSuiviStock()&#13;
RENVOYER(:oArticleOLE&gt;&gt;AR_SuiviStock())&#13;
&#13;
//------------ FIN DE CLASSE GESTION DES ARTICLES ---------------------&#13;
&#13;
&#13;
// CLASSE GESTION DES ARTICLES DNAS LES DEPOTS -------------&#13;
cArticleDepot est une classe&#13;
PUBLIC&#13;
PRIVÉ&#13;
	mDepot est un cDepot&#13;
	mArticleDepot est un objet OLE dynamique&#13;
FIN&#13;
&#13;
&#13;
PROCEDURE Constructeur()&#13;
&#13;
&#13;
PROCEDURE Destructeur()&#13;
&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//setArticleDepot (&lt;oBase&gt; est cCialSage, &lt;cnxBDD&gt;, &lt;pArticleDepot&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	oBase (cCialSage) : &lt;indiquez ici le rôle de oBase&gt;&#13;
//	cnxBDD : &lt;indiquez ici le rôle de cnxBDD&gt;&#13;
//	pArticleDepot : &lt;indiquez ici le rôle de pArticleDepot&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setArticleDepot(LOCAL oBase est un cCialSage, LOCAL cnxBDD, LOCAL pArticleDepot)&#13;
:mArticleDepot = particledepot&#13;
:mDepot:setDepot(obase, cnxbdd, :getDepot())&#13;
&#13;
// Résumé : renvoie un objet OLE depot&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getDepot ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cDepot :     // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getDepot()&#13;
:mDepot:setDepotOLE(:mArticleDepot&gt;&gt;Depot())&#13;
RENVOYER(:mDepot)&#13;
&#13;
// Résumé : renvoie l'emplacement de stockage&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getEmplacement ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getEmplacement()&#13;
RENVOYER(:mArticleDepot&gt;&gt;AS_Emplacement())&#13;
&#13;
// Résumé : renvoie la quantité maxi&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getQteMaxi ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getQteMaxi()&#13;
RENVOYER(:mArticleDepot&gt;&gt;AS_QteMaxi())&#13;
&#13;
// Résumé : renvoie la quantité mini&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getQteMini ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getQteMini()&#13;
RENVOYER(:mArticleDepot&gt;&gt;AS_QteMini())&#13;
&#13;
// Résumé : renvoie le stock reel dans le depot&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getStockReel ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getStockReel()&#13;
RENVOYER(:mArticleDepot&gt;&gt;StockReel())&#13;
&#13;
 //---* FIN CLASSE DE GESTION DES ARTICLES DANS LES DEPOTS ---&#13;
&#13;
&#13;
&#13;
// --- CLASSE ENTETE DE FACTURES --------------------------------------&#13;
cFactureEntete est une classe&#13;
	hérite de cdocumentvente&#13;
PUBLIC&#13;
PRIVÉ&#13;
	&#13;
FIN&#13;
&#13;
&#13;
PROCEDURE Constructeur()&#13;
&#13;
PROCEDURE Destructeur()&#13;
&#13;
&#13;
// Résumé : crée une nouvelle facture&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] creer (&lt;pBase&gt; est cCialSage, &lt;pClient&gt; est cClient [, &lt;pNumPiece&gt; est chaîne [, &lt;pDateFac&gt; [, &lt;pTypeDoc&gt; est chaîne]]])&#13;
//&#13;
// Paramètres :&#13;
//	pBase (cCialSage) : objet base commerciale SAGE&#13;
//	pClient (cClient) : numéro de client de la facture&#13;
//	pNumPiece (chaîne) : &lt;indiquez ici le rôle de pNumPiece&gt;&#13;
//	pDateFac : Date de la facture&#13;
//	pTypeDoc (chaîne - valeur par défaut="FAC") : "FAC" pour créer une facture, "AVO" pour créer un avoir&#13;
// Valeur de retour :&#13;
// 	Type indéterminé : // 	Aucune&#13;
&#13;
PROCEDURE creer(LOCAL pBase est un cCialSage, LOCAL pClient est un cClient, LOCAL pNumPiece est chaîne = "", LOCAL pDateFac = "",LOCAL pTypeDoc est chaîne = "FAC")&#13;
oBase est un objet OLE dynamique = pBase:getCial()&#13;
oCpta est un objet OLE dynamique = pBase:getCpta()&#13;
SI oCpta&gt;&gt;FactoryClient&gt;&gt;ExistNumero(pClient:getNum()) ALORS&#13;
	oTiers est un objet OLE dynamique = oCpta&gt;&gt;FactoryClient&gt;&gt;ReadNumero(pClient:getNum())&#13;
SINON&#13;
	Erreur("Le client %1 n'existe pas dans la base SAGE Gescom","Traitement arrêté")&#13;
	FinProgramme()&#13;
FIN&#13;
//:mEntete =  oBase&gt;&gt;FactoryDocumentVente&gt;&gt;CreateType(DocumentType_DocumentTypeVenteFacture)&#13;
SELON pTypeDoc &#13;
	CAS "FAC"&#13;
		:mEntete =  oBase&gt;&gt;FactoryDocumentVente&gt;&gt;CreateFacture(DocumentProvenanceType_DocProvenanceNormale)		&#13;
	CAS "AVO" &#13;
		:mEntete =  oBase&gt;&gt;FactoryDocumentVente&gt;&gt;CreateFacture(DocumentProvenanceType_DocProvenanceAvoir)&#13;
	AUTRE CAS&#13;
		Erreur(ChaîneConstruit("Le type de document %1 n'est pas géré",pTypeDoc))&#13;
		RENVOYER(0)&#13;
FIN&#13;
&#13;
SI pDateFac = "" ALORS pDateFac = DateVersChaîne(DateSys())&#13;
SI pNumPiece &lt;&gt; "" ALORS :mEntete&gt;&gt;DO_Piece = pNumPiece&#13;
oClient est un objet OLE dynamique = pClient:getTiers()&#13;
:mEntete&gt;&gt;SetDefaultClient(oTiers)&#13;
:mEntete&gt;&gt;DO_Date =  DateVersEntier(pDateFac) - 36523&#13;
:ecrire()&#13;
RENVOYER(:mEntete&gt;&gt;DO_Piece())&#13;
&#13;
&#13;
// Résumé : Ajoute une ligne de facture&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] creerLigne (&lt;pBase&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;pArticle&gt; est cArticle [, &lt;pQte&gt; est numérique])&#13;
//&#13;
// Paramètres :&#13;
//	pBase (cCialSage) : &lt;indiquez ici le rôle de pBase&gt;&#13;
// 	pCnxBDD : &lt;indiquez ici le rôle de pCnxBDD&gt;&#13;
//	pArticle (cArticle) : Article&#13;
//	pQte (numérique - valeur par défaut=1) : Quantité&#13;
// Valeur de retour :&#13;
// 	objet dynamique :   // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation. &#13;
//&#13;
PROCEDURE creerLigne(LOCAL pBase est cCialSage, LOCAL pCnxBDD, LOCAL pArticle est un cArticle, LOCAL pQte est un numérique = 1)&#13;
oLigne est un objet OLE dynamique = :mEntete&gt;&gt;FactoryDocumentLigne&gt;&gt;Create()&#13;
:mNbLignes++&#13;
Dimension(:mTabLignes,:mNbLignes)&#13;
:mTabLignes[:mNbLignes] = allouer un cFactureLigne()&#13;
:mTabLignes[:mNbLignes]:creer(:mEntete&gt;&gt;FactoryDocumentLigne&gt;&gt;Create())&#13;
//:mTabLignes[:mNbLignes]:setdocumentligneole(pbase, pcnxbdd, oLigne)&#13;
:mTabLignes[:mNbLignes]:setdefaultarticle(pArticle, pQte)&#13;
:mTabLignes[:mNbLignes]:ecrire()&#13;
RENVOYER(:mTabLignes[:mNbLignes])&#13;
&#13;
// Résumé : charge une facture à partir du numéro de facture&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] chargeNumFac (&lt;pBaseCial&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;pNum&gt; est chaîne)&#13;
//&#13;
// Paramètres :&#13;
//	pBaseCial (cCialSage) : &lt;indiquez ici le rôle de pBaseCial&gt;&#13;
//	pCnxBDD : &lt;indiquez ici le rôle de pCnxBDD&gt;&#13;
//	pNum (chaîne) : &lt;indiquez ici le rôle de pNum&gt;&#13;
// Valeur de retour :&#13;
// 	booléen :  // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE chargeNumFac(LOCAL pBaseCial est un cCialSage, LOCAL pCnxBDD, LOCAL pNum est chaîne)&#13;
:mCial = pBaseCial:getCial()&#13;
nFactureExiste est un entier&#13;
SI :mCial&gt;&gt;FactoryDocumentVente&gt;&gt;ExistPiece(DocumentType_DocumentTypeVenteFacture, pNum) ALORS&#13;
	nFactureExiste = DocumentType_DocumentTypeVenteFacture&#13;
SINON SI :mCial&gt;&gt;FactoryDocumentVente&gt;&gt;ExistPiece(DocumentType_DocumentTypeVenteFactureCpta, pNum) ALORS&#13;
	nFactureExiste = DocumentType_DocumentTypeVenteFactureCpta&#13;
FIN&#13;
SI nFactureExiste &lt;&gt; 0 ALORS&#13;
	:mEntete = :mCial&gt;&gt;FactoryDocumentVente&gt;&gt;ReadPiece(nFactureExiste, pNum)&#13;
	oLignes est un objet OLE dynamique = :mEntete&gt;&gt;FactoryDocumentLigne&gt;&gt;List()&#13;
	:mNbLignes = oLignes&gt;&gt;Count()&#13;
	nInd est entier = 1&#13;
	TANTQUE nInd &lt;= :mNbLignes&#13;
		Dimension(:mTabLignes,nInd)&#13;
		:mTabLignes[nInd] = allouer un cfactureligne()&#13;
		:mTabLignes[nInd]:setdocumentligneole(pBaseCial, pCnxBDD, oLignes&gt;&gt;item(nInd))&#13;
		nInd++&#13;
	FIN&#13;
	:getEcheances()&#13;
	:bDocumentChargeOK = Vrai&#13;
	//chargement de l'objet valorisation&#13;
	:oValorisation:setObjetOLE(:mEntete&gt;&gt;Valorisation())&#13;
SINON&#13;
	:bDocumentChargeOK = Faux&#13;
FIN&#13;
&#13;
&#13;
//--------- fin de classe entete factures ------------------------&#13;
&#13;
// --- CLASSE DETAIL FACTURES ------------------------------------&#13;
&#13;
cFactureLigne est une classe&#13;
	hérite de cdocumentligne&#13;
FIN&#13;
&#13;
&#13;
PROCEDURE Constructeur()&#13;
&#13;
&#13;
PROCEDURE Destructeur()&#13;
&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//setPUDevise (&lt;pPUDev&gt; est numérique)&#13;
//&#13;
// Paramètres :&#13;
//	pPUDev (numérique) : &lt;indiquez ici le rôle de pPUDev&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setPUDevise(LOCAL pPUDev est numérique)&#13;
nPuDev est réel = pPUDev&#13;
:oDocumentLigneOLE&gt;&gt;DL_PUDevise = nPuDev&#13;
&#13;
&#13;
// ----------------- FIN CLASSE DETAIL FACTURES&#13;
&#13;
&#13;
// DEBUT CLASSE d'HERITAGE CDOCUMENTLIGNE de detail de factures --------------&#13;
&#13;
cDocumentLigne est une classe&#13;
PUBLIC&#13;
PROTÉGÉ&#13;
	oDocumentLigneOLE est un objet OLE dynamique&#13;
	oArticle est un cArticle&#13;
	oInfosLibres est un cInfosLibres&#13;
	oDepot est un cDepot&#13;
FIN&#13;
&#13;
&#13;
PROCEDURE Constructeur()&#13;
&#13;
&#13;
&#13;
PROCEDURE Destructeur()&#13;
&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//ecrire ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE ecrire()&#13;
:oDocumentLigneOLE&gt;&gt;write()&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getArticle ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cArticle :    // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getArticle()&#13;
RENVOYER(:oArticle)&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//InitArticleDefaut (&lt;pArticle&gt; est cArticle, &lt;nQte&gt; est monétaire)&#13;
//&#13;
// Paramètres :&#13;
//	pArticle (cArticle) : &lt;indiquez ici le rôle de oArticle&gt;&#13;
//	nQte (monétaire) : &lt;indiquez ici le rôle de nQte&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE InitArticleDefaut(LOCAL pArticle est un cArticle, LOCAL nQte est monétaire)&#13;
oArt est un objet OLE dynamique = pArticle:getArticleOLE()&#13;
SI oArt&gt;&gt;Gamme1 &lt;&gt; Null ALORS&#13;
	oGamme1 est un objet OLE dynamique = oArt&gt;&gt;FactoryArticleGammeEnum1()&gt;&gt;List()&#13;
	SI oGamme1&gt;&gt;count() = 1 ALORS&#13;
		:oDocumentLigneOLE&gt;&gt;SetDefaultArticleMonoGamme(oGamme1&gt;&gt;item(1),nQte)	&#13;
	SINON&#13;
		Erreur("Un article possède "+oGamme1&gt;&gt;count()+" énuméré de gamme","Le programme ne sait pas gérer ce cas et va se terminer")&#13;
		FinProgramme()&#13;
	FIN&#13;
SINON&#13;
	:oDocumentLigneOLE&gt;&gt;SetDefaultArticle(pArticle:getArticleOLE(),nQte)	&#13;
FIN&#13;
&#13;
:oArticle = pArticle&#13;
&#13;
// Résumé : modifie ou initialise le depot pour la ligne&#13;
// Syntaxe :&#13;
//setDepot (&lt;pDepot&gt; est cDepot)&#13;
//&#13;
// Paramètres :&#13;
//	pDepot (cDepot) : depot&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// &#13;
//&#13;
PROCEDURE setDepot(LOCAL pDepot est un cDepot)&#13;
:oDocumentLigneOLE&gt;&gt;Depot = pDepot:getDepotOLE()&#13;
:oDepot = pDepot&#13;
// Résumé : initialise la quantité&#13;
// Syntaxe :&#13;
//setQte (&lt;nQte&gt; est numérique)&#13;
//&#13;
// Paramètres :&#13;
//	nQte (numérique) : quantite&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// &#13;
//&#13;
PROCEDURE setQte(LOCAL nQte est numérique)&#13;
x est réel = nqte&#13;
:oDocumentLigneOLE&gt;&gt;DL_Qte = x&#13;
&#13;
// Résumé : Supprime la ligne&#13;
// Syntaxe :&#13;
//supprimer ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE supprimer()&#13;
:oDocumentLigneOLE&gt;&gt;remove()&#13;
&#13;
&#13;
// Résumé : renvoie la quantite&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getQte ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	numérique : // 	Quantite&#13;
//// Exemple :&#13;
// &#13;
//&#13;
PROCEDURE getQte()&#13;
nQte est numérique = :oDocumentLigneOLE&gt;&gt;DL_Qte()&#13;
RENVOYER(nQte)&#13;
&#13;
&#13;
// Résumé : initialise les valeurs par défaut liées à l'article sur la ilgne de document et fixe la quantité&#13;
// Syntaxe :&#13;
//setDefaultArticle (&lt;pArt&gt; est cArticle [, &lt;pQte&gt; est numérique])&#13;
//&#13;
// Paramètres :&#13;
//	pArt (cArticle) : objet article&#13;
//	pQte (numérique - valeur par défaut=1) : quantité d'article sur la ligne&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setDefaultArticle(LOCAL pArt est cArticle, pQte est numérique = 1)&#13;
:oArticle = part&#13;
nQte est réel = pqte&#13;
:oDocumentLigneOLE&gt;&gt;setDefaultArticle(part:getArticleOLE(),nQte)&#13;
&#13;
// Résumé : initialise le prix unitaire de l'article sur la ligne&#13;
// Syntaxe :&#13;
//setPrixUnitaire (&lt;pPrixUnit&gt; est numérique)&#13;
//&#13;
// Paramètres :&#13;
//	pPrixUnit (numérique) : prix unitaire&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setPrixUnitaire(LOCAL pPrixUnit est numérique)&#13;
nPrixUnit est réel = pPrixUnit&#13;
:oDocumentLigneOLE&gt;&gt;DL_PrixUnitaire = nPrixUnit&#13;
&#13;
// Résumé : initialise le membre de classe objet OLE Automation&#13;
// Syntaxe :&#13;
//setDocumentLigneOLE (&lt;pBaseCIAL&gt; est cCialSage, &lt;pCnxBDD&gt;, &lt;oLigne&gt;)&#13;
//&#13;
// Paramètres :&#13;
//	pBaseCIAL (cCialSage) : &lt;indiquez ici le rôle de pBaseCIAL&gt;&#13;
// 	pCnxBDD : &lt;indiquez ici le rôle de pCnxBDD&gt;&#13;
//	oLigne : objet OLE de type ligne de document&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setDocumentLigneOLE(LOCAL pBaseCIAL est un cCialSage, LOCAL pCnxBDD, oLigne)&#13;
:oDocumentLigneOLE = oLigne&#13;
:oArticle:setArticleOLE(pBaseCIAL, pCnxBDD, :oDocumentLigneOLE&gt;&gt;Article())&#13;
:oDepot:setDepotOLE(:oDocumentLigneOLE&gt;&gt;Depot())&#13;
&#13;
&#13;
// Résumé : initialise la reférence de la ligne de document&#13;
// Syntaxe :&#13;
//setRef (&lt;pRef&gt; est chaîne)&#13;
//&#13;
// Paramètres :&#13;
//	pRef (chaîne) : référence&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setRef(LOCAL pRef est chaîne)&#13;
:oDocumentLigneOLE&gt;&gt;DL_Ref = pref&#13;
&#13;
// Résumé : initialise la designation de la ligne de document&#13;
// Syntaxe :&#13;
//setDesignation (&lt;pDesign&gt; est chaîne)&#13;
//&#13;
// Paramètres :&#13;
//	pDesign (chaîne) : designation&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE setDesignation(LOCAL pDesign est chaîne)&#13;
:oDocumentLigneOLE&gt;&gt;DL_Design = pDesign&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//creer (&lt;oLigne&gt;)&#13;
//&#13;
// Paramètres :&#13;
// 	oLigne : &lt;indiquez ici le rôle de oLigne&gt;&#13;
// Valeur de retour :&#13;
// 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE creer(oLigne)&#13;
:oDocumentLigneOLE = oLigne&#13;
&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getInfosLibres ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cInfosLibres : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getInfosLibres()&#13;
RENVOYER(:oInfosLibres)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getDepot ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	cDepot : // 	Aucune&#13;
//// Exemple :&#13;
// Indiquez ici un exemple d'utilisation.&#13;
//&#13;
PROCEDURE getDepot()&#13;
RENVOYER(:oDepot)&#13;
&#13;
// Résumé : &lt;indiquez ici ce que fait la procédure&gt;&#13;
// Syntaxe :&#13;
//[ &lt;Résultat&gt; = ] getMontantHT ()&#13;
//&#13;
// Paramètres :&#13;
//	Aucun&#13;
// Valeur de retour :&#13;
// 	Type indéterminé :  // 	Aucune&#13;
//&#13;
// Aucune documentation n'a été saisie par le concepteur (IW)&#13;
PROCEDURE getMontantHT()&#13;
RENVOYER(:oDocumentLigneOLE&gt;&gt;DL_MontantHT())&#13;
&#13;
&#13;
//--- fin classe d'heritage des details de factures ---</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp</link><title>[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster><item><author>dev</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-229461/read.awp</comments><pubDate>15 Apr 2019 12:16:58 Z</pubDate><description>Auriez-vous une librairie à disposition &#13;
&#13;
Cordialement,&#13;
&#13;
Jean-Christophe Vandenostende&#13;
SETG</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-229461/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-229461/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>hharlay</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-221386/read.awp</comments><pubDate>23 Oct 2018 11:40:27 Z</pubDate><description>Bonjour Xavier , &#13;
&#13;
Avez-vous finalement les valeurs de ces constantes  des objets métiers SAGE ? &#13;
Si Oui pouvez-vous les comm…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-221386/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-221386/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>winntas4444</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186456/read.awp</comments><pubDate>27 Aug 2015 11:10:02 Z</pubDate><description>Bonjour &#13;
&#13;
&#13;
On ne peut helas pas modifier un document avec les objets metiers  du moins avec la version 100 sql  16.51 ... Je …</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186456/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186456/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>pasquale</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186445/read.awp</comments><pubDate>26 Aug 2015 18:15:16 Z</pubDate><description>Bonjour savez vous comment on peut transformer un document avec les objets metiers ?&#13;
merci par avance</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186445/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-186445/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>igc_i</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-153034/read.awp</comments><pubDate>13 Sep 2012 12:09:41 Z</pubDate><description>Bonjour,&#13;
J'en cherche pour la compta Sage 15 ou plus&#13;
Merci</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-153034/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-153034/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>winntas</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127276/read.awp</comments><pubDate>18 Jul 2010 19:22:28 Z</pubDate><description>Bonjour&#13;
&#13;
Les objets metiers de la derniere generation 4.02 .. stream 3, Sage ne gere plus l'incrementation des streams.. utili…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127276/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127276/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>x.brunet</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127116/read.awp</comments><pubDate>13 Jul 2010 11:29:27 Z</pubDate><description>J'utilise la version 15.53  de la ligne 100 SQL avec les objets métier 3.0.&#13;
&#13;
j'ai trouvé une autre solution. je passe par l'ac…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127116/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127116/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>winntas</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127106/read.awp</comments><pubDate>13 Jul 2010 10:38:48 Z</pubDate><description>Bonjour&#13;
&#13;
Quel est la version de votre SAGE (15 ou 16) et de vos objets metier (4.00) ... ?</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127106/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-127106/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>x.brunet</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-125906/read.awp</comments><pubDate>4 Jun 2010 16:19:25 Z</pubDate><description>Bonjour,&#13;
Juste au cas ou ...&#13;
&#13;
vous utilisez des constantes dans votre codes.&#13;
Pouvez vous les indiquez ? ex : DocumentTypeVen…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-125906/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-125906/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>silvia1212</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-101580/read.awp</comments><pubDate>6 Oct 2008 17:51:25 Z</pubDate><description>Trés bien ton code... Merci Beaucoup !!!&#13;
&#13;
J'ai juste une petite question, je sais pas si tu s'est faire... Lors de la création…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-101580/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-101580/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item><item><author>Fabrice.De.Weerd</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-100609/read.awp</comments><pubDate>11 Sep 2008 02:07:24 Z</pubDate><description>Merci Ismaël pour cette contribution ;-)&#13;
&#13;
-- &#13;
&#13;
Bien à toi,&#13;
Fabrice De Weerd.&#13;
&#13;
www.fawax.com - www.softweerd.com - www.be-…</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-100609/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage-100609/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/100518-wd12-livraison-classes-objets-metier-sage/read.awp">[WD12] LIVRAISON CLASSES OBJETS METIER SAGE</source><title>Re: [WD12] LIVRAISON CLASSES OBJETS METIER SAGE</title></item></channel></rss>
