WorkflowModelManager - Global
A inclusão de script WorkflowModelManager 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 para consultar o histórico em busca de informações específicas de atividade e transição.
A interação com a inclusão de script WorkflowModelManager é por meio do objeto de dados ActivityHistoryRecord. O objeto ActivityHistoryRecord é uma classe interna e só é usado ao interagir com WorkflowModelManager.
var model = new WorkflowModelManager('myContextId');
var activities = model.getExecutedHistory();
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á uma função no retrocesso em um modelo para reverter para uma atividade específica.
var model = new WorkflowModelManager('myContextId');
model.getExecutedHistory();
model.dump();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');
WorkflowModelManager - getActivityHistoryRecordById(cadeia de caracteres haRecordSysId)
Recupera a atividade de histórico armazenada em cache pelo wf_history.sys_id fornecido no argumento.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | Sys_id do registro desejado do Histórico de atividades [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 (descrição do objeto)
Recupera as atividades de histórico que foram executadas e transicionadas para aquela representada por 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 executada no histórico do fluxo de trabalho. (É diferente 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. Os valores de retorno são baseados em todas as transições na coleção de históricos executada. Para obter a atividade que foi executada antes desta atividade a tempo, use getPreviousByExecutedOrder.
| Nome | Tipo | Descrição |
|---|---|---|
| descrição | 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 transicionadas para aquela representada por sys_id no argumento. O status next se baseia no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords executada no histórico do fluxo de trabalho. (É diferente 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 se baseia no wf_activity.sys_id associado à atividade representada no haRecord existente como um TO em uma transição associada a qualquer ActivityHistoryRecords executada no histórico do fluxo de trabalho. (É diferente 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 trabalhador 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 dos métodos activityHistoryRecord para realizar outros trabalhos.
| 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 de saída 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 que não foram 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 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 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 a 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 ocorreram antes de haRecord ser enviado e não necessariamente nas atividades executadas um pouco antes de haRecord. Para obter a atividade executada antes desta atividade no tempo, use getNextByExecutedOrder.
| Nome | Tipo | Descrição |
|---|---|---|
| haRecordSysId | Cadeia de caracteres | Sys_id do registro desejado do Histórico de atividades [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 executada imediatamente anterior à 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 de histórico de 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. (É diferente de getAllTransitionedIntoActivity, que retorna todas as transições TO até o haRecord fornecido na sequência de execução.) O valor de retorno é uma coleção de ActivityHistoryRecords que identifica o argumento haRecord.wfaId como sua atividade TO. Os valores de retorno são baseados nas transições que ocorreram antes do envio do haRecord e não necessariamente nas atividades executadas um pouco antes do haRecord no tempo. Para obter a atividade executada antes desta atividade no 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 identifica o argumento haRecord.wfaId como sua atividade TO. Os valores de retorno são baseados nas transições que ocorreram antes do envio do haRecord e não necessariamente nas atividades executadas um pouco antes do haRecord no tempo. 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
}
]