Mercator 6.2 ou ultérieur permet la prise en compte de champs libres dans les lignes des inventaires et transferts de dépôts. Ces champs libres peuvent être de n'importe quel type supporté par Mercator et ajoutés en fin de structure de la table LIGNES_D.
Le nombre de champs libres ainsi ajoutés doit être indiqué dans "Outils / Options / Encodage : Nombre de champs libres LIGNES_D"
Les champs libres sont pris en compte automatiquement dans les tables temporaires sous-jacentes :
- inventaire : INVENT_TMP
- transfert de dépôts : LIGNES_D_TMP
Dans ces écrans, lors de l'appel de quelconque article, le contenu des champs de même nom entre la table STOCK et ces champs optionnels, est automatiquement transféré.
Exemple : dans la table STOCK et dans la table LIGNES_D : présence du champ S_TEST de même type. Le contenu du S_TEST présent dans la fiche article est automatiquement transféré dans ce même champ de l'inventaire/du transfert de dépôts.
Il faut noter que Mercator ne crée pas de façon automatique les colonnes correspondant à ces champs optionnels. Ceci doit être effectué à l'aide du module de grille correspondant.
Pour l'inventaire : le module est INVENT.PRG.
Exemple pour l'ajout d'une colonne faisant référence au champ libre TEST :
.columnCount=.columnCount+1
.columns(.columnCount).controlSource='invent_tmp.test'
.columns(.columnCount).fontName='MS Sans Serif'
.columns(.columnCount).fontsize=8
.columns(.columnCount).header1.caption=iif_langue(users.langue,'Test E','Test N','Test F')
.columns(.columnCount).header1.fontName='MS Sans Serif'
.columns(.columnCount).header1.fontsize=8
.columns(.columnCount).header1.alignment=2
.columns(.columnCount).width=120
.columns(.columnCount).addObject('textbox_invent1','textbox_invent')
.columns(.columnCount).textbox_invent1.visible=.T.
.columns(.columnCount).currentControl='textbox_invent1'
Pour le transfert de dépôts : le module est TRANSF_DEP.PRG
Exemple pour l'ajout d'une colonne faisant référence au champ libre TEST :
.columnCount=.columnCount+1
.columns(.columnCount).controlSource='lignes_d_tmp.test'
.columns(.columnCount).fontName='MS Sans Serif'
.columns(.columnCount).fontsize=8
.columns(.columnCount).header1.caption=iif_langue(users.langue,'Test E','Test N','Test F')
.columns(.columnCount).header1.fontName='MS Sans Serif'
.columns(.columnCount).header1.fontsize=8
.columns(.columnCount).header1.alignment=2
.columns(.columnCount).width=120
.columns(.columnCount).addObject('textbox_depot1','textbox_depot')
.columns(.columnCount).textbox_depot1.visible=.T.
.columns(.columnCount).currentControl='textbox_depot1'
Voir ces applications :