PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Mise à jour catégorie tarifaire article Objets Métiers SAGE
Mise à jour catégorie tarifaire article Objets Métiers SAGE
Débuté par Jean-Marc SOUCHEZ, 18 juil. 2025 10:13 - 2 réponses
Membre enregistré
31 messages
Posté le 18 juillet 2025 - 10:13
Bonjour,
Je cherche à mettre à jour le tarif d'une catégorie tarifaire d'un article avec les Objets métiers mais je ne trouve pas la bonne écriture du code source :

LocArticle est un objet Automation dynamique
LocNbCategorie est un objet Automation dynamique
LocUnTarif est un objet Automation dynamique

//lecture d'un article
LocArticle = GloBaseCial>>FactoryArticle>>ReadReference(SansEspace(LocCodeArticle))

//récupération des catégories tarifaires de l'article
LocNbCategorie = LocArticle>>FactoryArticleTarifCategorie>>List

//lecture d'une catégorie de l'article
LocUnTarif est un objet Automation dynamique = LocNbCategorie>>Item[1]

//enregistrement du nom de la catégorie tarifaire dans une variable chaine
LocNomCatTarif est une chaîne = LocUnTarif>>CategorieTarif>>ct_intitule

//j'ai essayé la mise à jour du tarif comme ceci :
LocUnTarif>>CategorieTarif>>ct_tarif = 10
//ct_tarif n'est pas reconnu

Une idée ? Merci.

--
Jean-Marc SOUCHEZ
www.directdevlop.fr
Membre enregistré
35 messages
Posté le 18 juillet 2025 - 14:24
Bonjour,
Voici un exemple:

// Déclaration
cArt est un objet automation dynamique // IBOArticle3
cCateg est un objet automation dynamique // IBPCategorieTarif
cNewArtCateg est un objet automation dynamique // IBOArticleTarifCategorie3
cArtCateg est un objet automation dynamique // IBOArticleTarifCategorie3
cIBICollection est un objet automation dynamique

// Lecture de l'article
cArt = cBaseCial>>FactoryArticle>>ReadReference("ARTTEST");

// Modification du prix de vente d'une catégorie tarifaire déjà existante
// Récupération de la liste des catégorie tarifaire de l'article
cIBICollection = cArt>>FactoryArticleTarifCategorie.List()

// Lecture des catégories
POUR i=1 _A_ cIBICollection>>Count
// Récupération de l'objet
cArtCateg = cIBICollection>>Item[i]

// Test sur le libellé de la catégorie
SI SansEspace(cArtCateg>>CategorieTarif.CT_Intitule) <> "Tarif Public" ALORS CONTINUER

// Modification du Prix
ArtCateg>>Prix = 100

// Enregistrement
ArtCateg>>WriteDefault()

FIN

// Création d'un tarif article pour une catégorie tarifaire
// Lecture de la catégorie
cCateg = cBaseCial>>FactoryCategorieTarif>>ReadIntitule("Tarif EXPORT")

// Création de l'objet
cNewArtCateg = cArt>>FactoryArticleTarifCategorie>>Create()
cNewArtCateg>>SetDefault()

// Alimentation
cNewArtCateg>>CategorieTarif = cCateg
cNewArtCateg>>Prix = 110

// Enregistrement
cNewArtCateg>>WriteDefault()


En espérant que cela peut vous aidez.
Cordialement
Membre enregistré
31 messages
Posté le 18 juillet 2025 - 15:16
Bonjour, c'est exactement ce que je recherchais.
MERCI BEAUCOUP !

--
Jean-Marc SOUCHEZ
www.directdevlop.fr