WorkflowModelManager - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 11 min. de leitura
  • . WorkflowModelManager a inclusão de script fornece métodos para consultar o modelo de fluxo de trabalho, para retroceder e avançar entre itens de histórico de fluxo de trabalho especificados e consultar o histórico para obter informações específicas de atividade e transição.

    A interação com WorkflowModelManager a inclusão de script é por meio de ActivityHistoryRecord objeto de dados. . ActivityHistoryRecord objeto é uma classe interna e só é usada durante a interação com WorkflowModelManager .

    Para adquirir o histórico executado das atividades de fluxo de trabalho:
    var model = new WorkflowModelManager('myContextId');
    var activities = model.getExecutedHistory();
    
    Para gerar a reprodução do fluxo de trabalho:
    var model = new WorkflowModelManager('myContextId');
    model.getExecutedHistory();
    model.playBack();
    

    No momento, a reprodução é necessária para carregar as transições executadas. Isso também desempenhará um papel ao caminhar para trás em um modelo para reverter para uma atividade específica.

    Para ver os detalhes do modelo em cache:
    var model = new WorkflowModelManager('myContextId');
     model.getExecutedHistory();
     model.dump();

    WorkflowModelManager - WorkflowModelManager(cadeia de caracteres contexId)

    Cria um novo objeto WorkflowModelManager (construtor) no contexto especificado.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    contextId Cadeia de caracteres O ID do contexto no qual você deseja que o WorkflowModelManager seja criado.
    Tabela 2. Retornos
    Tipo Descrição
    ActivityHistoryRecord O objeto JavaScript ActivityHistoryRecord solicitado.
    var model = new WorkflowModelManager('MyContextId');

    WorkflowModelManager - getActivityHistoryRecordById(cadeia de caracteres haRecordSysId )

    Recupera a atividade de histórico armazenada em cache pelo wf_history.sys_idfornecido no argumento.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres Sys_id do registro Histórico de atividades desejado [wf_history].
    Tabela 4. Retornos
    Tipo Descrição
    ActivityHistoryRecord Objeto JavaScript ActivityHistoryRecord solicitado.

    Este exemplo mostra como usar o método para obter o registro de atividade de histórico especificado.

    var model = new WorkflowModelManager('a71efa6345550110a86630cf9552f3af');  // The sys_id of the wf_context
    model.getExecutedHistory();
    var current_hist_obj = model.getActivityHistoryRecordById('2b1efa6345550110a86630cf9552f3bc'); // The sys_id of the desired record
    gs.info(JSON.stringify(current_hist_obj));

    Saída:

    
    {
       "sys_id":"2b1efa6345550110a86630cf9552f3bc",
       "index":"3",
       "startTime":1643795456000,
       "endTime":1643795456000,
       "wfaId":"31bf2a05e7c133009a610558d2f6a968",
       "wfaIsParent":{
         
       },
       "parent":"",
       "wfaName":{
         
       },
       "adId":"db8c65aec0a8016501d00259bc7203a4",
       "adName":{
         
       },
       "transitions":[
          {
             "sys_id":"e31efa6345550110a86630cf9552f3c0",
             "ahrId":"2b1efa6345550110a86630cf9552f3bc",
             "to":"39bf2a05e7c133009a610558d2f6a970",
             "from":"31bf2a05e7c133009a610558d2f6a968",
             "rolledBack":"false",
             "rolledBackBy":""
          },
          {
             "sys_id":"e71efa6345550110a86630cf9552f3c0",
             "ahrId":"2b1efa6345550110a86630cf9552f3bc",
             "to":"7dbf2a05e7c133009a610558d2f6a96b",
             "from":"31bf2a05e7c133009a610558d2f6a968",
             "rolledBack":"false",
             "rolledBackBy":""
          }
       ],
       "rolledBackBy":"",
       "ARRIVED":true,
       "NOT_ARRIVED":false,
       "joinFroms":[
         
       ],
       "joinSatisfied":false,
       "rollingBackBy":0
    }

    WorkflowModelManager - getAllTransitionedIntoActivity( Descrição do objeto)

    Recupera as atividades de histórico que executaram e fizeram a transição para aquela representada pelo sys_idno argumento.

    . próximo o status é baseado em wf_activity.sys_idAssociado à atividade representada no haRecord existente como um A em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (É diferente de GetAnteriorPorTransition , Que retorna somente ÀS transições que vêm antes do haRecord na sequência de execução (por tempo).) O valor de retorno é uma coleção de ActivityHistoryRecords que identificam o argumento haRecord.wfaId como sua atividade TO. Os valores de retorno são baseados em todas as transições na coleção de histórico executada que fazem a transição para obter a atividade executada antes desta atividade no uso do tempo ObterAnteriorPorExecutedOrder .

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    descrição Objeto Objeto JavaScript ActivityHistoryRecord.
    Tabela 6. Retornos
    Tipo Descrição
    Matriz de objetos Matriz de objetos JavaScript ActivityHistoryRecord.

    WorkflowModelManager - getAllTransitionedIntoActivityId(cadeia de caracteres haRecordSysId )

    Recupera as atividades de histórico que executaram e fizeram a transição para aquela representada pelo sys_idno argumento. . nexto status é baseado em wf_activity.sys_idAssociado à atividade representada no haRecord existente como um A em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (É diferente de GetAnteriorPorTransition , Que retorna somente PARA transições que vêm antes do haRecord na sequência de execução (por tempo).) O valor de retorno é uma coleção de ActivityHistoryRecords que identificam o argumento haRecord.wfaId como sua atividade TO.

    . nexto status é baseado em wf_activity.sys_idAssociado à atividade representada no haRecord existente como um A em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (É diferente de GetAnteriorPorTransition , Que retorna somente PARA transições que vêm antes do haRecord na sequência de execução (por tempo).) O valor de retorno é uma coleção de ActivityHistoryRecords que identificam o argumento haRecord.wfaId como sua atividade TO.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres O sys_id do histórico de atividades (tabela wf_history).
    Tabela 8. Retornos
    Tipo Descrição
    Matriz de objetos Matriz de objetos JavaScript ActivityHistoryRecord solicitados.
    var model = new WorkflowModelManager('a143585c3b001000dada82c09ccf3d44');
          model.getExecutedHistory();
          var activity = model.begin;
          gs.print('activity: ' + activity.wfaName + ', transitions: ' + activity.transitions.length);
          while( activity != null){    
              gs.print('activity: ' + activity.wfaName + ', transitions: ' + activity.transitions.length);    
              var parents = model.getAllTransitionedIntoActivity(activity);
              for( var i = 0; i < parents.length; i++ ){
                  gs.print(' ---------------  parent activity: ' + parents[i].wfaName );
                }
               activity = model.getNextByExecutedOrder( activity );
          }
        

    WorkflowModelManager - getExecutedHistory( )

    Este é o método de trabalhador que deve ser chamado para inicializar o. WorkflowModelManager objeto. No processo de inicialização do objeto WorkflowModelManager, GetExecutedHistory() cria e preenche o. ActivityHistoryRecord matriz de objetos de dados (que é membro de WorkflowModelManager ). Mais WorkflowModelManager os métodos retornam um subconjunto de ActivityHistoryRecord matriz. Seu script pode chamar um ou mais dos ActivityHistoryRecord métodos para realizar trabalhos adicionais.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    Matriz de cadeias de caracteres Uma matriz ordenada de sys_ids da tabela wf_history. É improvável que o código do cliente use o valor de retorno; ele é mantido internamente para este objeto para uso por chamadas de método subsequentes.
    var model = new WorkflowModelManager('myContextId');
    var activities = model.getExecutedHistory();
    var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');

    WorkflowModelManager - getFinalExecutedActivityList( )

    Consulta a tabela wf_history por contexto e recupera todas as atividades executadas no fluxo de trabalho fornecido pelo contexto definido na construção deste objeto.

    Esta função produz uma lista de atividades executadas na ordem exata que cada atividade passou pelo lado do servidor ActivityManager.java usando o novo activity_index para forçar a saída da ordem do banco de dados. Em seu, esta chamada não fornecerá a imagem completa; ele precisa carregar e mapear as transições.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Matriz de objetos Matriz de objetos javascript ActivityHistoryRecord.

    WorkflowModelManager - getFinalExecutedActivityIdList( )

    Obtém a lista de wf_history.sys_idsde todas as atividades que foram executadas com sucesso e não foram revertidas ou ignoradas até o momento em que a função foi chamada.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Matriz de cadeias de caracteres Matriz de valores wf_history.sys_id para atividades executadas.
    var model = new WorkflowModelManager('ee3e0a053b101000dada82c09ccf3d7c');
          model.getExecutedHistory();
          var finals = model.getFinalExecutedActivityIdList();
          gs.print(' EXECUTION PATH IDs --------------- : '  + finals.length);
          
          for ( var x = 0; x < finals.length; x++ ) {
              gs.print(finals[x] );
          }

    WorkflowModelManager - getNextByExecutedOrder(Object haRecord)

    Recupera a atividade de histórico que foi executada logo após a fornecida no argumento.

    . nexto status é baseado no índice de atividade que reflete a atividade anterior mais próxima no tempo e não necessariamente o próximo wf_activity mais próximo para o qual a atividade fornecida fez a transição. Para obter a próxima atividade mais próxima que fez a transição para este haRecord aprovada, use GetNextByTransitionOrder(haRecord).
    Nota:
    No processo de montagem da matriz de ordem de execução, espaços em branco são deixados na matriz em que os objetos do histórico foram excluídos. Isso é feito para garantir que o índice na matriz e o activity_index do objeto permaneçam sincronizados. Por esse motivo, todos os objetos que saem da matriz de ordem de execução devem ser testados para nil() e não presumir ser o registro anterior com base em activity_index ou no valor de índice de matriz sozinho.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    HaRecord Objeto Objeto JavaScript ActivityHistoryRecord.
    Tabela 16. Retornos
    Tipo Descrição
    Objeto O objeto JavaScript ActivityHistoryRecord solicitado.

    O exemplo a seguir mostra como usar o. ObterNextByExecutedOrder() método para recuperar a atividade de histórico executada após a atividade especificada.

    var model = new WorkflowModelManager('34451ec2cb200200d71cb9c0c24c9c66'); // Sys_id of the workflow context
    model.getExecutedHistory();
    var current_hist_obj = model.getActivityHistoryRecordById('0199483adba52200a6a2b31be0b8f562');// Sys_id of the current activity from wf_history table
    var next_hist_obj = model.getNextByExecutedOrder(current_hist_obj);
    gs.info(JSON.stringify(next_hist_obj));

    Saída:

    {
       "sys_id":"b2c5a06e07e0011094b4fe4f7c1ed049",
       "index":"3",
       "startTime":1640265864000,
       "endTime":1640265864000,
       "wfaId":"64d4e4aa07e0011094b4fe4f7c1ed060",
       "wfaIsParent":{
         
       },
       "parent":"",
       "wfaName":{
         
       },
       "adId":"1ca8d7cf0a0a0b265e9a000c2c08248c",
       "adName":{
         
       },
       "transitions":[
          {
             "sys_id":"bac5a06e07e0011094b4fe4f7c1ed07d",
             "ahrId":"b2c5a06e07e0011094b4fe4f7c1ed049",
             "to":"e0d4acaa07e0011094b4fe4f7c1ed062",
             "from":"64d4e4aa07e0011094b4fe4f7c1ed060",
             "rolledBack":"false",
             "rolledBackBy":""
          }
       ],
       "rolledBackBy":"",
       "ARRIVED":true,
       "NOT_ARRIVED":false,
       "joinFroms":[
         
       ],
       "joinSatisfied":false,
       "rollingBackBy":0
    }
    

    WorkflowModelManager - getNextByExecutedOrderId(cadeia de caracteres haRecordSysId )

    Recupera a atividade de histórico armazenada em cache pelo wf_history.sys_idfornecido no argumento e, em seguida, chama para ObterNextByExecutedOrder() Com o objeto JavaScript recuperado.

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres O sys_id do histórico de atividades (tabela wf_history).
    Tabela 18. Retornos
    Tipo Descrição
    Objeto O objeto JavaScript ActivityHistoryRecord solicitado.
    var model = new WorkflowModelManager('7b3e01573b130000dada82c09ccf3dcf');
          model.getExecutedHistory();
          var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');
          current.debugDump();
          
          var results = model.getNextByExecutedOrderId(current.sys_id);
          results.debugDump();

    WorkflowModelManager - getNextByTransitionId(cadeia de caracteres haRecordSysId )

    Recupera a atividade de histórico que foi executada logo após a identificada pelo sys_id fornecido no argumento.

    Esta função recupera o registro de histórico em cache associado ao fornecido wf_history.sys_ide, em seguida, chamadas GetNextByTransition . Os valores de retorno são baseados em quais transições vieram antes de haRecordenviado e não necessariamente as atividades executadas imediatamente antes de haRecorda tempo. Para obter a atividade executada antes desta atividade a tempo, use ObNextByExecutedOrder .

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres Sys_id do registro Histórico de atividades desejado [wf_history].
    Tabela 20. Retornos
    Tipo Descrição
    Matriz de objetos Matriz de objetos JavaScript ActivityHistoryRecord.
    var model = new WorkflowModelManager('7b3e01573b130000dada82c09ccf3dcf');
    model.getExecutedHistory();
    model.playBack();
          
    var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');
    current.debugDump();
    var results = model.getNextByTransitionId(current.sys_id);
    gs.print('COMPLETED NEXT' + results.length );
    for(var i = 0; i < results.length; i++){
      results[i].debugDump();
    }

    WorkflowModelManager - getAnteriousByExecutedOrder(Object haRecord)

    Recupera a atividade de histórico que foi executada logo antes da fornecida no argumento.

    . anterior o status é baseado no índice de atividade que reflete a atividade anterior mais próxima no tempo e não necessariamente a atividade anterior mais próxima com uma transição válida para esta atividade. Para obter a atividade anterior mais próxima que fez a transição para este haRecord aprovada em uso GetAnteriorByTransition( haRecord) .
    Nota:
    No processo de montagem da matriz de ordem de execução, espaços em branco são deixados na matriz em que os objetos do histórico foram excluídos. Isso garante que o índice na matriz e o activity_index do objeto permaneçam sincronizados. Por esse motivo, todos os objetos que saem da matriz de ordem de execução devem ser testados para nil() e não presumir ser o registro anterior com base em activity_index ou valor de índice de matriz.
    Tabela 21. Parâmetros
    Nome Tipo Descrição
    HaRecord Objeto Objeto JavaScript ActivityHistoryRecord
    Tabela 22. Retornos
    Tipo Descrição
    Objeto O objeto JavaScript ActivityHistoryRecord solicitado.

    WorkflowModelManager - getAnteriousByExecutedOrderId(cadeia de caracteres haRecordSysId )

    Recupera a atividade de histórico armazenada em cache pelo wf_history.sys_idfornecido no argumento e, em seguida, chamadas ObterAnteriorPorExecutedOrder() Com o objeto JavaScript recuperado.

    Tabela 23. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres ID do sistema de histórico do fluxo de trabalho (wf_history.sys_id)
    Tabela 24. Retornos
    Tipo Descrição
    ActivityHistoryRecord O objeto JavaScript ActivityHistoryRecord solicitado.
    var model = new WorkflowModelManager('contextId');
          model.getExecutedHistory();
          var current = model.getActivityHistoryRecordById('wf_history.sys_id');
          current.debugDump();
          
          var results = model.getPreviousByExecutedOrderId(current.sys_id);
          results.debugDump();

    WorkflowModelManager - getAnteriousByTransition(Object haRecord)

    Recupera as atividades de histórico que foram executadas um pouco antes da fornecida no argumento.

    . próximo O status é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um A em uma transição associada a qualquer ActivityHistoryRecords que vêm antes do haRecord na sequência de execução. (É diferente de EntoTransitionedIntoActivity , Que retorna todas AS transições até o haRecord fornecido na sequência de execução .) O valor de retorno é uma coleção de ActivityHistoryRecords que identificam o argumento haRecord.wfaId como sua atividade TO. Os valores de retorno são baseados em quais transições vieram antes do haRecord enviado e não necessariamente nas atividades executadas imediatamente antes do haRecord a tempo. Para obter a atividade executada antes desta atividade a tempo, use ObterAnteriorPorExecutedOrder .

    Tabela 25. Parâmetros
    Nome Tipo Descrição
    HaRecord Objeto Objeto JavaScript ActivityHistoryRecord.
    Tabela 26. Retornos
    Tipo Descrição
    Matriz de objetos Matriz de objetos JavaScript ActivityHistoryRecord solicitados.

    WorkflowModelManager - getAnteriousByTransitionId(cadeia de caracteres haRecordSysId )

    Recupera as atividades de histórico que foram executadas um pouco antes da fornecida no argumento.

    . nexto status é baseado em wf_activity.sys_idAssociado à atividade representada no haRecord existente como um A em uma transição associada a qualquer ActivityHistoryRecords que vêm antes do haRecord na sequência de execução. O valor de retorno é uma coleção de ActivityHistoryRecords que identificam o argumento haRecord.wfaId como sua atividade TO. Os valores de retorno são baseados em quais transições vieram antes do haRecord sumbitted e não necessariamente nas atividades que foram executadas imediatamente antes do haRecord a tempo. Para obter a atividade que foi executada antes desta atividade no uso de tempo ObterAnteriorPorExecutedOrder() .

    Tabela 27. Parâmetros
    Nome Tipo Descrição
    SYSID de registro Cadeia de caracteres Sys_id do histórico de atividades.

    Tabela: Histórico do fluxo de trabalho [wf_history]

    Tabela 28. Retornos
    Tipo Descrição
    Objeto Matriz de objetos JavaScript ActivityHistoryRecord solicitados.

    O exemplo a seguir mostra como usar o. ObtIDeITransitionId() Método para obter objetos ActivityHistoryRecord.

    var w_history = new GlideRecord('wf_history');
    w_history.addQuery('context.id', '089ebdad1b420110c97a40c6cc4bcbf7'); // Pass sys_id of record -> Requested Item / Change Request / Request, etc....
    w_history.query();
    if (w_history.next()) {
        var model = new WorkflowModelManager(w_history.context); // Call sys_id of the workflow context
        model.getExecutedHistory();
        var previousObje_hist_obj = model.getPreviousByTransitionId(w_history.sys_id); // Sys_id of wf_history table
        gs.info(JSON.stringify(previousObje_hist_obj));
    }

    Saída:

    [
      {
        "sys_id": "a40a92950721011094b4fe4f7c1ed05e",
        "index": "1",
        "startTime": 1644255752000,
        "endTime": 1644255758000,
        "wfaId": "28200e2a77873300b473455caa1061cd",
        "wfaIsParent": {},
        "parent": "",
        "wfaName": {},
        "adId": "3961a1da0a0a0b5c00ecd84822f70d85",
        "adName": {},
        "transitions": [
          {
            "sys_id": "060ad6950721011094b4fe4f7c1ed016",
            "ahrId": "a40a92950721011094b4fe4f7c1ed05e",
            "to": "24204e2a77873300b473455caa10611a",
            "from": "28200e2a77873300b473455caa1061cd",
            "rolledBack": "false",
            "rolledBackBy": ""
          }
        ],
        "rolledBackBy": "",
        "ARRIVED": true,
        "NOT_ARRIVED": false,
        "joinFroms": [],
        "joinSatisfied": false,
        "rollingBackBy": 0
      }
    ]