Comment copier et remplacer le contenu d’un contrôle de contenu d’un document word à partir de son application K2?  😕

Nous verrons ici comment remplacer le contenu d’un contrôle de contenu Word par le contenu du contrôle de contenu Word d’un autre document Word tout en conservant le style. En effet, l’intégration d’un service qui le ferait serait fort bien intéressant.

   I- Téléchargement et installation du Broker

     1.Téléchargement

Télécharger la DLL en cliquant ici.. Puiscompressez l’archive.

Fichiers .Dll & .pub - Contrôle de contenu Word

Placez les fichiers.DLL et .Pub dans le dossier ServiceBroker du répertoire d’installation K2

     2.Installation Broker de gestion contrôle de contenu Word

    • Ouvrez l’outil SmartObject Service tester en doublecliquant sur SmartObject Service Tester.exe situé dans le répertoire bin de K2 (par défaut: C:\Program Files (x86) \K2 blackpearl\Bin\SmartObject Service Tester.exe).
    • Sur la fenêtre qui s’ouvre, cliquez sur le Register ServiceType. Dans la fenêtre qui s’ouvre, sélectionnez le nom du service à installer, qui est le nom du fichier.dll, dans notre cas FFField.CopySpecificPlaceDocToSpecificPlaceDoc.FFService.

Une fois le service sélectionné, il suffit de remplir les champs :

      • System Name: vous pouvez le laisser tel quel ou le modifier (caractères spéciaux et espace non autorisés).
      • Display Name: le nom qui apparaîtra dans les outils de conception (caractères spéciaux autorisés).
      • Description: une description de notre <<service broker>>, cette partie n’est pas obligatoire, mais importante pour nous rappeler le rôle de notre service.
      • Guid: à laisser en l’état lors de l’installation d’origine.
Comme dans la figure cidessous.

 SmartObjects-Service-Tester: Register SmartObject Service Type - Contrôle de contenu Word

Puis cliquer sur Add. Un nouveau service type avec le nom spécifié dans le display Name (CopyToSmartObject dans notre cas), a été créé dans le ServiceObject Explorer. Dérouler ensuite ServiceObject Explorer : Sur ce Service Type : clic-droit > Register ServiceInstance.

Dans la fenêtre qui s’ouvre spécifier:

  • Service Types qui correspond au nom de l’instance du service.
  • Authentication mode : le compte d’exécution du broker (le compte qui va donc dialoguer avec la source de données). Le choix sera dépendant de la façon dont on souhaite se connecter à la source de données et des permissions y afférentes. Dans notre cas nous allons choisir : Impersonate.

SmartObjects-Service-Tester: Add Service Instance - Contrôle de contenu Word

  • Cliquer ensuite sur Next.
  • Renseigner le System Name et Display Name dans le pop-up qui apparaît (mêmes contraintes que précédemment, il s’agit cette fois-ci du nom de l’instance du broker). Puis appuyer sur Add.

SmartObjects-Service-Tester: Add Service Instance - Contrôle de contenu Word

  II- Création du SmartObject

SmartObjects-Service-Tester : Create SmartObject - Contrôle de contenu Word

Note : Lors de la mise à jour d’un service broker, le fichier DLL à remplacer va être bloqué par le système d’exploitation (et donc non remplaçable). Il faut alors redémarrer le service K2 blackpearl pour faire la manipulation.

 

  III- Exécution du broker

Le smartObject ainsi créé sera présent dans le sous dossier Default du dossier SmartObject. Explorer ce dossier le montre l’image 1 ci dessous.

 Suivez les étapes suivantes pour exécuter le broker

SmartObjects-Service-Tester : Execute SmartObject - Contrôle de contenu Word

Considérons un exemple sur l’image 2 ci-dessus. Le contenu du contrôle de contenu DOC_Body, du le document Word Template.docx sera remplacé par le contenu du contrôle de contenu DOC_Sign, du document MyDoc.docx.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.