4.3.3.2.2.2. Tâche supplémentaire : Move to Dynamic Folder

Si vous souhaitez utiliser des dossiers créés dynamiquement, vous avez besoin du « TC_HookService_MoveToNewFolder ».

  1. Ouvrez PARTadmin et appliquez un filtre sur « MoveToNewFolder ».

  2. Activez la tâche supplémentaire (Additional Task) et définissez les valeurs souhaitées pour « TC_HookService_MoveToNewFolder_DESTINATION_FOLDER » et « TC_HookService_MoveToNewFolder_Flags ».

    ifnxteamcenter.cfg

    [CreationOptions] 
    PdmOnCheckin_04.EXECUTE=_TC_HOOK_SERVICE.moveToNewFolder 
    TC_HookService_MoveToNewFolder_DESTINATION_FOLDER=?"Home/DaBe/"+_Format_0
    ("<PREFIXLIST(/)>").value() + "/" + _FORMAT_0("<ATTR(NN)>").value() 
    TC_HookService_MoveToNewFolder_Flags=13 

    TC_HookService_MoveToNewFolder_Flags est spécifié comme <bitfield>. 13 = 1+4+8

    #:HELP; The parameter <Bitfield> for moveToNewFolder: 
    #       1: create not existing folders? 
    #       2: use Item owner as source folder user? 
    #          (TC_HookService_MoveToNewFolder_SourceFol  der_User will be ignored) 
    #       4: use Item owner as destination folder user? 
    #          (TC_HookService_MoveToNewFolder_DestinationFolder_User will be ignored) 
    #       8: get sorce folder(s) from Item? 
    #          (TC_HookService_MoveToNewFolder_SOURCE_FOLDER will be ignored) 

    Exemples :

    13 utilise les options 1, 4 et 8.

    12 utilise les options 4 et 8.

    5 utilise les options 1 et 4.

    etc.

  3. Effectuez une nouvelle exportation.

    -> L'élément est déplacé vers le dossier configuré.

4.3.3.2.2.2.1. Résolution du problème : problème lors de l'enregistrement du document lors de l'utilisation de TC_HOOK_SERVICE.moveToNewFolder
  • problème:

    Lorsqu'on tente de déplacer un document à l'aide de TC_HOOK_SERVICE.moveToNewFolder, un message d'erreur s'affiche.[62]

  • Cause : C’est un Problème de workflow. IfProeTeamcenter sauvegarde l’élément initialement dans le dossier spécifié dans la clé de configuration TC_TmpFolder ; par défaut est le dossier Newstuff de l’utilisateur actuel. Voici l’élément à ce moment-là.

    La clé TC_TargetFolder est appliquée dans EndCheckinTransaction (l'élément est déplacé), et ce après Checkin1 (PdmOnCheckin_XX). Dans le cas présent, avec le service de hook MoveToNewFolder actif dans PdmOnCheckin_01, on tente de déplacer la pièce de TC_HOOKSERVICE_MOVETONEWFOLDER_SOURCE_FOLDER=Home/QA/GOHR/CREO vers TC_HOOKSERVICE_MOVETONEWFOLDER_DESTINATION_FOLDER=Home/QA/3Dfindit. Cela ne peut pas fonctionner, car l'élément se trouve encore dans le dossier TC_TmpFolder (dans ce cas, Newstuff).

    En général, MoveToNewFolder n’est pas nécessaire car IfProeTeamcenter les dossiers pour finirCheckinTransaction.

  • Solution:

    Toutefois, si vous souhaitez déplacer les éléments vers un dossier n'appartenant pas à l'utilisateur actuel, ou s'il existe une autre raison valable de ne pas utiliser la fonction de déplacement intégrée, entrez la valeur de TC_TmpFolder dans la clé TC_HOOKSERVICE_MOVETONEWFOLDER_SOURCE_FOLDER et ne définissez pas TC_TargetFolder.