Prezados, é possível contar anexos por atividade? Detalhe: Imagine um diagrama com início, atividade1, atividade2 e fim. Gostaria de realizar uma validação em que no início seja obrigatório incluir pelo menos 2 anexos, na atividade1 seja obrigatório anexar pelo menos mais um documento e na atividade2 anexar pelo menos mais 3 anexos. Vejam que não existe consistência de número máximo e sim número mínimo de anexos por atividade. Comecei a verificar pelos datasets internos: processAttachment e processTask, mas encontrei algumas situações que não deram certo e não entendi.
Deu uma olhada no método listAttachments da hAPI ?
Acho que ele pode te ajudar a fazer o que você precisa.
tente o código abaixo no método beforeTaskSave do processo
function validaAnexos(){ // quantidade de anexos var attachments = hAPI.listAttachments(); var hasAttachment = false ;
if (attachments.size() > 0){ throw "qtd anexos: " + attachments.size() + " Anexos"; }else{ throw "Não possui anexo"; }
}
Eu utilizo o seguinte para validar se foi anexado algo numa atividade especifica.
function temAnexo(numState){
var process = getValue("WKNumProces");
var constraintProcessAttachment = DatasetFactory.createConstraint('processAttachmentPK.processInstanceId', process, process, ConstraintType.MUST);
var datasetProcessAttachment = DatasetFactory.getDataset('processAttachment', null, new Array(constraintProcessAttachment), null);
for(var i = 0; i < datasetProcessAttachment.rowsCount; i++) {
var constraintProcessHistory1 = DatasetFactory.createConstraint('processHistoryPK.movementSequence', datasetProcessAttachment.getValue(i, "originalMovementSequence"), datasetProcessAttachment.getValue(i, "originalMovementSequence"), ConstraintType.MUST);
var constraintProcessHistory2 = DatasetFactory.createConstraint('processHistoryPK.processInstanceId', process, process, ConstraintType.MUST);
var constraintProcessHistory3 = DatasetFactory.createConstraint('processHistoryPK.companyId', datasetProcessAttachment.getValue(i, "processAttachmentPK.companyId"), datasetProcessAttachment.getValue(i, "processAttachmentPK.companyId"), ConstraintType.MUST);
var constraintProcessHistory4 = DatasetFactory.createConstraint('stateSequence', numState, numState, ConstraintType.MUST);
var datasetProcessHistory = DatasetFactory.getDataset('processHistory', null, new Array(constraintProcessHistory1, constraintProcessHistory2, constraintProcessHistory3, constraintProcessHistory4), null);
for(var j = 0; j < datasetProcessHistory.rowsCount; j++) {
return true;
}
}
return false;
}
Para validar a quantidade de anexo por atividade, pode utilizar no "Regras Anexo" dentro do eclipse mesmo.
Passo 1: Clique na atividade onde quer validar a quantidade de anexo.
Passo 2: Selecionada a Atividade no passo 1, agora vá no menu no lado esquerdo "Regras Anexo".
Passo 3: Insira um "Novo" e configure uma lógica (maior/menor/...) e insira a quantidade desejada para aquela atividade específica, independente das outras, anteriores ou próximas.
obs: não coloquei nenhum Valor.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.