Fonctionnalités supplémentaires > Gestion des informations de service client > Personnalisation de Windchill Service Information Manager et Windchill Service Parts > Présentation de la personnalisation de l'effectivité du service > Personnalisation de l'effectivité du service
  
Personnalisation de l'effectivité du service
Procédez comme suit pour ajouter des types personnalisés et des attributs d'objets d'effectivité du service à la liste présente dans le menu déroulant Type de la boîte de dialogue Gérer l'applicabilité et de l'onglet Effectivité du service de la boîte de dialogue Modifier le filtre.
1. Reportez-vous au fichier de configuration :
codebase/com/ptc/arbortext/windchill/serviceEffectivityFilter
/server/serviceEffectivityConfig.xml
Ce fichier définit une liste des attributs correspondant à la liste des objets disponibles pour la sélection dans le menu Type concernant les paramètres d'effectivité du service et le filtrage.
* 
Avant de modifier ce fichier, ajoutez-le à la zone sûre des fichiers personnalisables afin de vous assurer qu'il ne soit pas remplacé lors d'une prochaine mise à niveau/installation.
2. Pour consulter les noms internes des attributs que vous souhaitez inclure, reportez-vous à l'utilitaire Gestion d'attributs et de types. Vous devez créer tout nouvel attribut personnalisé dans cet utilitaire. Pour plus d'informations, consultez la section Utilisation de l'utilitaire Gestion d'attributs et de types.
3. Dans le fichier serviceEffectivityConfig.xml, déclarez l'attribut en insérant une entrée ServiceEffectivtyType à l'aide du format indiqué ci-dessous :
<ServiceEffectivityType name="seLotNumber" renderer="com.ptc.arbortext.windchill.serviceEffectivityFilter.client.ui.
renderers.configTypes.DefaultCustomConfigType" effectivityType="com.ptc.arbortext.windchill.siscore.serviceeff.
ServiceEffectivity"/>
Où, dans cet exemple :
nom correspond au nom interne de l'attribut d'effectivité du service. Il doit correspondre au nom interne de l'attribut défini dans Gestion d'attributs et de types.
Le programme de rendu correspond à la classe Java qui détermine les champs affichés pour le type et la manière dont ces derniers sont gérés dans l'interface utilisateur. Il s'agit par défaut du DefaultCustomConfigType générique. Ce programme de rendu génère un affichage simple : le nom affiché de l'attribut et un champ textuel Value.
Vous pouvez créer un programme de rendu personnalisé pour implémenter le ServiceEffectivityConfigType et le déclarer dans cet attribut.
Le programme de rendu détermine également la méthode de transfert des attributs personnalisés vers le filtre au sein de l'objet JSON.
Pour plus d'informations sur la création de champs de saisie de données personnalisés pour les attributs, consultez la rubrique Création d'un panneau personnalisé de configuration d'effectivité du service.
type d'effectivité correspond au nom interne du type d'effectivité du service (objet) dans lequel l'attribut personnalisé a été créé. Il peut s'agir d'un sous-type de ServiceEffectivity. Il doit correspondre au nom interne du type défini dans Gestion d'attributs et de types.
4. Là encore, dans le fichier serviceEffectivityConfig.xml, créez une entrée pour l'attribut dans le contexte du type d'objet du noeud racine de la structure, par exemple WTPart. Cette entrée est nécessaire pour afficher l'attribut dans le menu déroulant Type de l'objet correspondant.
Insérez une entrée csvalid pour l'élément ServiceEffectivityInstance correspondant à l'aide du format indiqué ci-dessous :
<csvalid serviceeffectivitytype="seLotNumber"/>
Le code ci-après constitue un exemple d'entrée ServiceEffectivityInstance complète pour WTPart :
<ServiceEffectivityInstance objectType="wt.part.WTPart,wt.part.WTPartMaster,wt.part.alternaterep.WTPartAlternateRep"
objectMaster="wt.part.WTPartMaster">
<csvalid serviceeffectivitytype="serialNumber"/>
<csvalid serviceeffectivitytype="date"/>
<csvalid serviceeffectivitytype="seLotNumber"/>
</ServiceEffectivityInstance>
Où le serialNumber et la date correspondent aux entrées par défaut du fichier, et seLotNumber à votre attribut personnalisé.
* 
L'ordre des entrées csvalid de ce fichier détermine l'ordre des types dans les menus déroulants.
5. Enregistrez les modifications apportées au fichier serviceEffectivityConfig.xml selon les conventions définies dans la section Configuration d'une structure de répertoire pour la gestion des fichiers personnalisés et la personnalisation de textes.
Pour utiliser efficacement les attributs personnalisés lors d'un filtrage sur l'effectivité du service, créez une délégation de filtre personnalisée pour gérer la comparaison entre l'objet de filtre et les objets d'effectivité du service. Pour plus d'informations, consultez la section Création d'une délégation de filtre personnalisée.
Création d'une délégation de filtre personnalisée pour les attributs d'effectivité du service personnalisés
Windchill propose une délégation permettant de gérer les attributs d'effectivité du service lors d'un filtrage (ignorez le saut de ligne) :
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
Vous pouvez remplacer cette délégation par une délégation personnalisée à l'aide d'une propriété de service dans Windchill :
1. Créez un fichier XCONF comportant la nouvelle valeur correspondant à la propriété :
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
Le document XML ci-après correspond à une commande XCONF permettant de gérer les objets d'effectivité du service lors d'un filtrage :
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration
SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/typedservices.properties">
<Service context="default" name="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilterFactory">
<Option requestor="WCTYPE|com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivity"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"/>
</Service>
<Service context="default" name="wt.filter.NavigationFilterDelegate2">
<Option cardinality="singleton" requestor="null"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"
selector="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilter"/>
</Service>
</Configuration>
Modifiez la référence DefaultServiceEffectivityDelegate de l'attribut classe de service afin de refléter la nouvelle délégation personnalisée.
Pour plus d'informations concernant l'utilisation de l'utilitaire xconfmanager, consultez la rubrique Utilisation de l'utilitaire xconfmanager.
2. Utilisez l'utilitaire xconfmanager pour mettre à jour les propriétés des services Windchill. La commande ci-après enregistre le nouveau fichier et son contenu :
xconfmanager -i codebase/custom/myServiceXconfFile.properties.xconf -p