Frappe Framework
Récupérer la valeur d’un champ d’un document dans une transaction
Un champ personnalisé du fournisseur se recopie sur la commande. En lecture seule il est toujours réécrit. Sinon, il ne se remplit que s’il est vide.
Le cas
Un champ personnalisé GSTIN du fournisseur (Supplier) doit apparaître sur la commande d’achat (Purchase Order). Deux réglages de Fetch From donnent deux comportements.
Valeur toujours remise à jour
Le champ de la commande est réécrit à chaque enregistrement, à partir du fournisseur. Il écrase donc la saisie. Étapes :
- Créez le champ personnalisé GSTIN sur Supplier, type Data.
- Créez GSTIN sur Purchase Order, type Read Only, ou cochez Read Only. Fetch From :
supplier.gstin. - Dans le menu utilisateur, cliquez Reload.
- À la sélection du fournisseur sur une nouvelle commande, GSTIN est repris automatiquement.
Saisie possible si la valeur manque
La valeur est reprise du fournisseur à la création. Si elle est absente, on peut la saisir. À l’enregistrement, elle n’est reprise que si le champ de la commande est vide.
- Même champ Data GSTIN sur Supplier.
- Sur Purchase Order, type Data. Fetch From :
supplier.vat_number. Cochez Fetch If Empty. - Reload dans le menu utilisateur.
- À la sélection du fournisseur, GSTIN est repris. S’il n’est pas trouvé, la saisie manuelle reste possible.
Point d’attention
Le second scénario publié pointe Fetch From vers supplier.vat_number, pas vers supplier.gstin. Read Only, sans Fetch If Empty, réécrit le champ à chaque enregistrement. Fetch If Empty ne remplit le champ que lorsqu’il est vide.
