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). Puis les ajouter 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 modifier ce fichier cliquez ici pour plus d'informations.

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és 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 :

  • Créer les tâches de signature et l'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é initial

Le script prepare-signature.js est modifiable pour customiser 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 à coté d'un mot precis ( anchor, keyword, xPosition, yPosition)

| Pamars | 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/ Desactiver 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 signature (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 defaut 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 ""