Customisation avancée du portail fournisseur
Questionnaires
Les questionnaires sont des listes entièrement customisables qui permettent de poser des questions aux fournisseurs. Les réponses seront enregistrées dans beCPG mais non exploitées par la formulation.
Création et ajout des questions-réponses
Dans un premier temps, vous devez créer des questions et les réponses possibles dans la liste de l'administration Questionnaire (surveyList). Ajoutez-les ensuite sur la liste questionnaire du modèle d'entité.
Cliquez ici pour plus d'informations.
Note : si la liste questionnaire n'est pas présente, il est possible de l'ajouter sur le modèle d'entité. Cliquez ici pour plus d'informations.
Assistant Fournisseur
Les personnalisations suivantes sont des paramétrages avancés de beCPG.
Personnaliser l'assistant fournisseur
Ajouter le questionnaire dans l'assistant
Pour afficher le questionnaire dans l'assistant fournisseur, vous devez modifier le fichier becpg-config-custom.xml.
Pour savoir comment modifier ce fichier, cliquez ici.
Note : il est possible de créer plusieurs questionnaires fournisseurs, en fonction de l'entité par exemple.
Formulaire spécifique pour les fournisseurs
Il est possible de définir des formulaires spécifiques pour les propriétés et les listes utilisées dans le portail fournisseur.
Cliquez ici pour plus d'informations.
Projet de référencement fournisseur
Les modèles de projets de référencement fournisseur possèdent l'aspect "Fournisseur (bcpg:suppliersAspect)".
Les Livrables
Wizard
Cliquez ici pour plus d'informations.
Script
Le script supplierPortalScript.js permet :
- La création d'une branche
- L'association de la tâche au compte fournisseur
- Le déplacement de l'entité et du fournisseur dans le portail
Le script supplierPortalPrepareSignatures.js permet de :
- Créer les tâches de signature et les assigner au compte fournisseur
- Générer un document sur l'entité (sur la base du rapport fiche technique fournisseur)
- Associer ce document dans un livrable du projet pour signature
- Créer la tâche de clôture et l'assigner au créateur du projet
- Associer un script de validation sur la tâche de clôture pour ranger la branche dans l'entité initiale
Le script de livrable prepare-signature.js prépare le document à signer pour chaque tâche de signature. Vous pouvez le modifier pour personnaliser les paramètres de la signature via bSign.prepareForSignature(document, recipients, JSON.stringify(params)) :
- La taille de la signature (width, height, page)
- La place de la signature (fromLeftRatio, fromBottomRatio, gap, direction)
- Supprimer les paraphes en bas de page (disable)
- Placer la signature à côté d'un mot précis (anchor, keyword, xPosition, yPosition)
| Paramètre | Type | Description |
|---|---|---|
| page | String | Le numéro de la page où la signature doit être apposée (ex : "last","last-1", "1","10") |
| disable | boolean | Activer/Désactiver les paraphes (true ou false) |
| width | Integer | La largeur de la signature |
| height | Integer | La hauteur de la signature |
| direction | String | La direction en cas de plusieurs signatures (ex : "right", "left", "up", "down") |
| gap | Integer | L'espace entre 2 signatures |
| fromLeftRatio | Integer | La position de la signature à partir de la gauche |
| fromBottomRatio | Integer | La position de la signature à partir du bas |
| anchor | Object | Spécifie un placement basé sur un mot-clé d'ancrage (facultatif) |
| keyword | String | Le mot-clé qui sert de point d'ancrage (ex : "Signature") |
| xPosition | String | Position horizontale par rapport au mot-clé. (ex : "left", "middle", "right") |
| yPosition | String | Position verticale par rapport au mot-clé. (ex : "top", "middle", "bottom") |
Les paramètres JSON ont la structure suivante :
{
signature: {
page: "string",
width: integer,
height: integer,
direction: "string",
gap: integer,
fromLeftRatio: integer,
fromBottomRatio: integer,
anchor: {
keyword: "string",
xPosition: "string",
yPosition: "string"
}
},
initials: {
disable: boolean,
width: integer,
height: integer,
direction: "string",
gap: integer,
fromLeftRatio: integer,
fromBottomRatio: integer,
anchor: {
keyword: "string",
xPosition: "string",
yPosition: "string"
}
}
}
Les valeurs par défaut sont les suivantes :
{
signature: {
page: "last",
width: 200,
height: 75,
direction: "up",
gap: 60,
fromLeftRatio: 60,
fromBottomRatio: 10,
anchor: {
keyword: null,
xPosition: null,
yPosition: null
}
},
initials: {
disable: false,
width: 100,
height: 35,
direction: "up",
gap: 30,
fromLeftRatio: 75,
fromBottomRatio: 10,
anchor: {
keyword: null,
xPosition: null,
yPosition: null
}
}
}
Exemple :
function main() {
var urlDeliverable = null;
var keyName = deliverable.name.replace(" - prepare", "");
for (var i = 0; i < project.deliverableList.size(); i++) {
var del = project.deliverableList.get(i);
if (del.name == keyName + " - url") {
urlDeliverable = del;
break;
}
}
if (task.resources != null && !task.resources.isEmpty() && urlDeliverable && urlDeliverable.content) {
var recipient = search.findNode(task.resources.get(0));
var document = search.findNode(urlDeliverable.content);
var recipients = [];
var params = {
signature: {
width: 100,
height: 50,
fromLeftRatio: 60,
fromBottomRatio: 5
},
initials: {
disable: true
}
};
recipients.push(recipient);
bSign.prepareForSignature(document, recipients, JSON.stringify(params));
var signatureUrl = bSign.getSignatureView(document, recipient, task.nodeRef);
urlDeliverable.url = signatureUrl;
}
}
main();