wiki:partenaires:specs:dataplus

Utilisation de DATAPLUS

DATAPLUS permet de relier toute donnée à n'importe quel enregistrement de fichier.

Comme tous les fichiers de Gestan, il contient les données normalisées :

  • DATAPLUS.IDDATAPLUS
  • DATAPLUS.DHCRE
  • DATAPLUS.USCRE
  • DATAPLUS.DHMOD
  • DATAPLUS.USMOD

La liaison est effectuée par DATAPLUS.TRGCIBLE, qui est composé d'un trigramme caractéristique du fichier, auquel est accolé l'ID de l'enregistrement. Par exemple, si TRGCIBLE = CTC512, je sais que l'enregistrement DATAPLUS considéré est lié à l'enregistrement ID 512 du fichier CONTACT.

La rubrique DATAPLUS.CD_PLUS contient une chaine, décrivant de quel champ il s'agit, par exemple “CONFIGURATEUR_PRODUIT” pour les configurateurs éventuellement reliés aux produits.

La rubrique DATAPLUS.STR_PLUS permet de stocker le contenu à relier, ainsi que la rubrique DATAPLUS.MMO_PLUS quand il y a un mémo.

Il existe une clé composée DATAPLUS.CC_TRGCD, permettant de lire directement la valeur recherchée.

TIP Il est possible d'utiliser DATAPLUS pour stocker des paramètres d'extension. Dans ce cas, préfixez la clé par votre numéro d'extension (Zxx, par exemple Z54 ou Z05). Actuellement, les paramètres d'extension ne seront pas supprimés à la désinstallation de l'extension.

Par exemple, nous souhaitons gérer une donnée IDCFGPRODUIT, ID de configurateur Produit.

Sur la fiche produit, nous avons ajouté un combo IDCFGPRODUIT.

Dans le code d'ouverture de la fenêtre, nous aurons :

si PRODUIT.NouvelEnregistrement alors
	ListeSelectPlus(IDCFGPRODUIT,1)
sinon
	SI HLitRecherche(DATAPLUS,CC_TRGCD,["PRD"+PRODUIT.IDPRODUIT,"CONFIGURATEUR_PRODUIT"]) ALORS
		ListeSelectPlus(IDCFGPRODUIT,Val(DATAPLUS.STR_PLUS))
	SINON
		ListeSelectPlus(IDCFGPRODUIT,1)
	FIN
FIN

Dans le code de validation de l'écran, nous aurons :

// Enregistrement du configurateur produit (à réintégrer dans le fichier PRODUIT dans Gestan16)
SI HLitRecherche(DATAPLUS,CC_TRGCD,["PRD"+PRODUIT.IDPRODUIT,"CONFIGURATEUR_PRODUIT"]) ALORS
	DATAPLUS.STR_PLUS=IDCFGPRODUIT
	HModifie(DATAPLUS)
SINON
	HRAZ(DATAPLUS)
	DATAPLUS.TRGCIBLE="PRD"+PRODUIT.IDPRODUIT
	DATAPLUS.CD_PLUS="CONFIGURATEUR_PRODUIT"
	DATAPLUS.STR_PLUS=IDCFGPRODUIT
	HAjoute(DATAPLUS)
FIN

Enfin, dans la fonction de suppression du produit, nous avons :

[...]

// Suppression des éventuelles données rattachées
POUR TOUT DATAPLUS AVEC TRGCIBLE="PRD"+PRODUIT.IDPRODUIT
	SI PAS HSupprime(DATAPLUS) ALORS RENVOYER Faux
FIN

// SUPPRESSION du PRODUIT
RENVOYER HSupprime(PRODUIT)

Actuellement, il existe dans Gestan des fonctions génériques de suppression, concernant les fichiers :

  • CONTACT
  • FACTURE
  • PRODUIT

dans lesquelles cette fonction de suppression des éventuels DATAPLUS pouvant exister est intégrée.

Pour les autres fichiers, il faut traiter l'opération à la main (ou le signaler à l'équipe de dev de Gestan pour qu'elle soit intégrée à Gestan “core”).

Toute utilisation de DATAPLUS doit être signalée à ICS, afin d'éviter des écrasements intempestifs. Seuls les codes suivants peuvent être utilisés.

Contact

Facture

  • ETAT_PIECE : état de la pièce (statut complémentaire) (ICS)
  • DONNEES_ACOMPTE : pourcentage d'acompte | montant d'acompte (ICS)
  • PRESTATAIRE : données prestataire éventuel (ICS)
  • MODETVAFACTFOU : mode de TVA pour une facture fournisseur (ICS)
  • RETGAR : retenue de garantie (ICS)
  • IDENTCOM : identité commerciale (ICS)
  • TRANSMAIL : informations concernant la transmission par mail (Hélis)

Produit

  • CONFIGURATEUR_PRODUIT : configurateur produit

📌 Autres articles “Spécifications”

  • wiki/partenaires/specs/dataplus.txt
  • Dernière modification : 2026/03/07 15:11
  • de eneuville