WorkflowModelManager - Global
A classe WorkflowModelManager fornece uma maneira de consultar o modelo de fluxo de trabalho, de retroceder e avançar entre o wf_history itemsespecificado e de consultar o histórico em busca de informações específicas de atividade e transição.
A interação com a classe WorkflowModelManager é por meio do objeto de dados ActivityHistoryRecord. O ActivityHistoryRecord é uma classe interna e é usada somente ao interagir com WorkflowModelManager.
var model = new WorkflowModelManager('myContextId');
var activities = model.getExecutedHistory();
var model = new WorkflowModelManager('myContextId');
model.getExecutedHistory();
model.playBack();
Neste momento, a reprodução é necessária para carregar as transições executadas. Isso também desempenhará uma função ao retroceder em um modelo para reverter para uma atividade específica.
var model = new WorkflowModelManager('myContextId');
model.getExecutedHistory();
model.dump();WorkflowModelManager - getActivityHistoryRecordById(cadeia de caracteres haRecordSysId)
Recupera a atividade de histórico que é armazenada em cache pelo wf_history.sys_id fornecido no argumento.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | Sys_id do registro do Histórico de atividades desejado [wf_history]. |
| 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(Object description)
Recupera as atividades de histórico que foram executadas e fizeram a transição para aquela representada pelo sys_id no argumento.
O próximo status é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (Isso difere de getPreviousByTransition, 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. Os valores de retorno são baseados em todas as transições na coleção de históricos executadas que transicionam. Para obter a atividade que foi executada antes desta atividade no tempo, use getPreviousByExecutedOrder.
| Nome | Tipo | Descrição |
|---|---|---|
| description | Objeto | Objeto JavaScript ActivityHistoryRecord. |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Matriz de objetos JavaScript ActivityHistoryRecord. |
WorkflowModelManager - getAllTransitionedIntoActivityId(cadeia de caracteres haRecordSysId)
Recupera as atividades de histórico que foram executadas e fizeram a transição para aquela representada pelo sys_id no argumento. O status next é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (Isso difere de getPreviousByTransition, que retorna somente as transições TO que vêm antes do haRecord na sequência de execução (por tempo).) O valor de retorno é uma coleção de ActivityHistoryRecords que identifica o argumento haRecord.wfaId como sua atividade TO.
O status next é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords que foi executado no histórico do fluxo de trabalho. (Isso difere de getPreviousByTransition, que retorna somente as transições TO que vêm antes do haRecord na sequência de execução (por tempo).) O valor de retorno é uma coleção de ActivityHistoryRecords que identifica o argumento haRecord.wfaId como sua atividade TO.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | O sys_id do histórico de atividades (tabela wf_history). |
| 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 trabalho que deve ser chamado para inicializar o objeto WorkflowModelManager. No processo de inicialização do objeto WorkflowModelManager, getExecutedHistory() cria e preenche a matriz de objetos de dados activityHistoryRecord (que é um membro da classe WorkflowModelManager ). A maioria dos métodos WorkflowModelManager retorna um subconjunto da matriz activityHistoryRecord. Seu script pode chamar um ou mais métodos activityHistoryRecord para realizar trabalhos adicionais.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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 neste 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 em que cada atividade passou pelo ActivityManager.java do lado do servidor usando o novo activity_index para forçar a ordem que sai do banco de dados. Em sua, esta chamada não fornecerá a imagem completa; ele precisa carregar e mapear as transições.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Matriz de objetos javascript ActivityHistoryRecord. |
WorkflowModelManager - getFinalExecutedActivityIdList( )
Obtém a lista de wf_history.sys_ids de todas as atividades executadas com sucesso e não revertidas ou ignoradas até o momento em que a função foi chamada.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz de cadeias de caracteres | Matriz de valores de 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 executada logo após a fornecida no argumento.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecord | Objeto | Objeto JavaScript ActivityHistoryRecord. |
| Tipo | Descrição |
|---|---|
| Objeto | O objeto JavaScript ActivityHistoryRecord solicitado. |
O exemplo a seguir mostra como usar o método getNextByExecutedOrder() para recuperar a atividade de histórico que foi 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 que é armazenada em cache pelo wf_history.sys_id fornecido no argumento e, em seguida, chama getNextByExecutedOrder() com o objeto JavaScript recuperado.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | O sys_id do histórico de atividades (tabela wf_history). |
| 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 executada logo após aquela identificada pelo sys_id fornecido no argumento.
Esta função recupera o registro de histórico em cache associado ao wf_history.sys_id fornecido e, em seguida, chama getNextByTransition. Os valores de retorno são baseados nas transições que vieram antes do haRecord enviado e não necessariamente nas atividades que foram executadas imediatamente antes do haRecord no tempo. Para obter a atividade executada antes desta atividade a tempo, use getNextByExecutedOrder.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | Sys_id do registro do Histórico de atividades desejado [wf_history]. |
| 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 - getPreviousByExecutedOrder(Object haRecord)
Recupera a atividade de histórico que foi executada imediatamente antes daquela fornecida no argumento.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecord | Objeto | Objeto JavaScript ActivityHistoryRecord |
| Tipo | Descrição |
|---|---|
| Objeto | O objeto JavaScript ActivityHistoryRecord solicitado. |
WorkflowModelManager - getPreviousByExecutedOrderId(cadeia de caracteres haRecordSysId)
Recupera a atividade de histórico armazenada em cache pelo wf_history.sys_id fornecido no argumento e, em seguida, chama getPreviousByExecutedOrder() com o objeto JavaScript recuperado.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | ID do sistema do histórico do fluxo de trabalho (wf_history.sys_id) |
| 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 - getPreviousByTransition(Object haRecord)
Recupera as atividades de histórico executadas imediatamente antes daquela fornecida no argumento.
O próximo status é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords que vem antes do haRecord na sequência de execução. (Isso difere de getAllTransitionedIntoActivity, que retorna todas as transições TO até o determinado 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 nas transições que ocorreram antes do haRecord ser enviado e não necessariamente nas atividades executadas imediatamente antes do haRecord. Para obter a atividade executada antes desta atividade a tempo, use getPreviousByExecutedOrder.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecord | Objeto | Objeto JavaScript ActivityHistoryRecord. |
| Tipo | Descrição |
|---|---|
| Matriz de objetos | Matriz de objetos JavaScript ActivityHistoryRecord solicitados. |
WorkflowModelManager - getPreviousByTransitionId(cadeia de caracteres haRecordSysId)
Recupera as atividades de histórico executadas imediatamente antes daquela fornecida no argumento.
O status next é baseado no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords que vem 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 nas transições que ocorreram antes do registro do haRecord e não necessariamente nas atividades executadas imediatamente antes do registro do haRecord. Para obter a atividade executada antes desta atividade no tempo, use getPreviousByExecutedOrder().
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | Sys_id do histórico de atividades. Localizado na tabela wf_history. |
| Tipo | Descrição |
|---|---|
| Objeto | Matriz de objetos JavaScript ActivityHistoryRecord solicitados. |
O exemplo a seguir mostra como usar o método getPreviousByTransitionId() 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
}
]
WorkflowModelManager - WorkflowModelManager(cadeia de caracteres contextId)
Cria um novo objeto WorkflowModelManager (construtor) no contexto especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| contextId | Cadeia de caracteres | O ID do contexto no qual você deseja que o WorkflowModelManager seja criado. |
| Tipo | Descrição |
|---|---|
| ActivityHistoryRecord | O objeto JavaScript ActivityHistoryRecord solicitado. |
var model = new WorkflowModelManager('MyContextId');