Gostaria de saber se tem alguma forma de dentro do meu processo o usuário fazer o upload de algum arquivo e que esse arquivo seja armazenado em alguma pasta do fluig? Até aonde eu conheço tem a função do anexo, porém não sei se tem como ele armazenar o arquivo no formulário ou em alguma pasta do fluig, a única forma de ver esse anexo é em consulta de solicitações após ele ser finalizado.
Boa tarde Guilherme
Não sei exatamente qual sua necessidade, mas eu uso esses scripts abaixo para criar uma pasta no GED quando uma nova solicitação é criada e quando ela finalizada, eu copio todos anexos da mesma para esta pasta criada anteriormente. Veja se te ajuda:
function afterProcessCreate(processId){
hAPI.setCardValue('numSolicitacao',processId);
var server = "https://seuservidor";
var GEDparent = 1823;
var nome_pasta = "Documentos do Processo nº: " + processId ;
var dto = docAPI.newDocumentDto();
dto.setDocumentDescription(nome_pasta);
dto.setDocumentType("1");
dto.setParentDocumentId(GEDparent);
dto.setDocumentTypeId("");
var folder = docAPI.createFolder(dto, null, null);
var gedNewParentId = folder.getDocumentId();
hAPI.setCardValue('pastaControleDocumentos',gedNewParentId);
}
function afterProcessFinish(processId){
var cod_fornecedor = hAPI.getCardValue('txtCNPJPrestador');
var fornecedor = hAPI.getCardValue('txtRazaoSocialPrestador');
var server = "https://seuservidor";
var gedNewParentId = hAPI.getCardValue('pastaControleDocumentos');
var calendar = java.util.Calendar.getInstance().getTime();
var docs = hAPI.listAttachments();
var anexos = new java.util.ArrayList();
for(var i=0 ; i < docs.size() ; i++){
var doc = docs.get(i);
var anexo = new java.util.HashMap();
anexo.put("link", + server + "/portal/p/1/ecmnavigation?app_ecm_navigation_doc=" + doc.getDocumentId());
anexo.put("description", doc.getDocumentDescription());
anexos.add(anexo);
doc.setParentDocumentId(parseInt(gedNewParentId));
doc.setVersionDescription("Processo: " + getValue("WKNumProces") + " Fornecedor: " + cod_fornecedor + " - " + fornecedor);
doc.setExpires(true);
dataRecuperada = hAPI.getCardValue("txt_data_termino");
dataConvertida = dataRecuperada.substring(3,5) + "/" + dataRecuperada.substring(0,2) + "/" + dataRecuperada.substring(6,10);
dtExpira = new Date(dataConvertida);
doc.setExpirationDate(dtExpira);
doc.setCreateDate(calendar);
doc.setInheritSecurity(true);
doc.setTopicId(1);
doc.setUserNotify(false);
doc.setValidationStartDate(calendar);
doc.setVersionOption("0");
doc.setDocumentTypeId("Contrato");
doc.setUpdateIsoProperties(true);
hAPI.publishWorkflowAttachment(doc);
}
}
Tiago muito obrigado, ajudou muito! Uma última duvida, eu posso fazer o processo todo no afterProcessFinish? Tanto criar a pasta quanto armazenar os arquivos la? Pois caso algum processo for cancelado não fica uma pasta criada vazia no GED.
Sim e inclusive vou usar essa sua observação para melhorar o meu processo. Não tinha pensado nesta possibilidade de cancelamento. Obrigado