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();

results matching ""

    No results matching ""