4.3.3.2.2.2. Compito aggiuntivo: spostamento in una cartella dinamica

Se si desidera utilizzare cartelle generate dinamicamente, è necessario il "TC_HookService_MoveToNewFolder".

  1. Aprire PARTadmin e filtrare per "MoveToNewFolder".

    Figura 4.50. 

  2. Attivare l'attività aggiuntiva (Additional Task) e impostare i valori desiderati per "TC_HookService_MoveToNewFolder_DESTINATION_FOLDER" e "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 è specificato come <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) 

    Esempi:

    13 utilizza le opzioni 1, 4, 8.

    12 utilizza le opzioni 4 e 8.

    5 utilizza le opzioni 1 e 4.

    ecc.

  3. Eseguire una nuova esportazione.

    -> L'elemento viene spostato nella cartella configurata.

    Figura 4.51. 

4.3.3.2.2.2.1. Risoluzione del problema: problema durante il salvataggio del documento quando si utilizza TC_HOOK_SERVICE.moveToNewFolder
  • Problema:

    Quando si tenta di spostare un documento con TC_HOOK_SERVICE.moveToNewFolder, viene visualizzato un messaggio di errore.[62]

  • Causa: È una Problema di workflow. IfProeTeamcenter salva l'elemento inizialmente nella cartella specificata nella chiave di configurazione TC_TmpFolder; di default è la cartella Newstuff dell'utente attuale. Ecco l'elemento in quel periodo.

    La chiave TC_TargetFolder viene applicata in EndCheckinTransaction (l'elemento viene spostato), precisamente dopo Checkin1 (PdmOnCheckin_XX). Nel caso in esame, con l’hook service MoveToNewFolder attivo in PdmOnCheckin_01, si tenta di spostare l’elemento da TC_HOOKSERVICE_MOVETONEWFOLDER_SOURCE_FOLDER=Home/QA/GOHR/CREO a TC_HOOKSERVICE_MOVETONEWFOLDER_DESTINATION_FOLDER=Home/QA/3Dfindit. Ciò non può funzionare, poiché l’elemento si trova ancora in TC_TmpFolder (in questo caso Newstuff).

    Di solito, MoveToNewFolder non è necessario perché IfProeTeamcenter i file per concludereCheckinTransaction.

  • Soluzione:

    Tuttavia, se si desidera spostare i file in una cartella che non appartiene all'utente corrente, o se sussiste un altro valido motivo per non utilizzare la funzione di spostamento integrata, inserire il valore di TC_TmpFolder nella chiave TC_HOOKSERVICE_MOVETONEWFOLDER_SOURCE_FOLDER e non impostare TC_TargetFolder.