Para ter acesso a funções relacionadas a documentos é possível utilizar nos eventos a variável global docAPI. Os métodos disponíveis através da docAPI são:
Lembre-se
Utilizamos padrões de desenvolvimento de mercado portanto, ao utilizar os métodos e classes abaixo, atente-se às boas práticas de desenvolvimento JAVA.
Método | Especificação |
---|---|
copyDocumentToUploadArea(documentId, version) | Copia os arquivos físicos de um documento existente para a área de upload do usuário logado, onde:
Retorno: Array de Strings contendo os nomes dos arquivos que foram disponibilizados na área de upload. |
createDocument(document, attachments, securityConfig, approvers, relatedDocs) | Cria um novo documento no GED de acordo com os parâmetros informados, onde:
Retorno: DocumentDto do documento criado. Exemplo de utilização desta função em conjunto com a função copyDocumentToUploadArea: function beforeStateEntry(sequenceId) { if (sequenceId == 5) { var attachments = hAPI.listAttachments(); for ( var i = 0; i < attachments.size(); i++) { var docDto = attachments.get(i); if (docDto.getDocumentType() == "7") { docAPI.copyDocumentToUploadArea(docDto.getDocumentId(), docDto.getVersion()); docDto.setDocumentId(0); // Criar uma pasta para armazenar os anexos como documentos, concedendo à mesma as permissões de segurança e aprovação necessárias docDto.setParentDocumentId(20); var attachArray = new java.util.ArrayList(); var mainAttach = docAPI.newAttachment(); mainAttach.setFileName(docDto.getPhisicalFile()); mainAttach.setPrincipal(true); mainAttach.setAttach(false); attachArray.add(mainAttach); // Adicionando aprovadores docDto.setActiveVersion(true); docDto.setColleagueId(getValue("WKUser")); // Informar o usuário logado. docDto.setPublisherId(getValue("WKUser")); // Informar o publicador. var aprovador = docAPI.newApproverDto(); aprovador.setCompanyId(getValue("WKCompany")); aprovador.setColleagueId(getValue("WKUser")); // Informar o aprovador aprovador.setDocumentId(documentoId); aprovador.setVersion(1); // Versão do documento aprovador.setLevelId(1); // Nível de aprovação aprovador.setApproverType(0); //Tipo de aprovadores (0 = Colaboradores, 1 = Grupo) var aprovadoresArray = new java.util.ArrayList(); aprovadoresArray.add(aprovador); try { var doc = docAPI.createDocument(docDto, attachArray, null, aprovadoresArray,null); log.info("DOCUMENTO CRIADO COM O ID: " + doc.getDocumentId()); } catch (e) { log.error("Problemas na criação do documento:\n" + e); } } } } } |
createFolder(document, securityConfig, approvers) | Cria uma nova pasta no GED de acordo com os parâmetros informados, onde:
Retorno: DocumentDto da pasta criada. Exemplo de utilização desta função: function afterProcessFinish(processId) { try { var dto = docAPI.newDocumentDto(); dto.setDocumentDescription("Planilhas"); dto.setDocumentType("1"); dto.setParentDocumentId(20); dto.setDocumentTypeId(""); var folder = docAPI.createFolder(dto, null, null); log.info("PASTA CRIADA COM O ID :" + folder.getDocumentId()); } catch (e) { log.error("Problemas na criação da pasta:\n" + e); } } O parâmetro publisherId do objeto DocumentDTO não será considerado quando a publicação for realizada via script em um evento de processo. Esse parâmetro só pode ser definido na criação do objeto via WebService. Confira um exemplo de como criar pastas definindo sua segurança por grupos e usuários clicando aqui. |
getDocumentVersion(documentId, version) | Retorna o DocumentDto de um documento com base no seu id e sua versão, onde:
|
getUserPermissions(documentId, version) | Retorna o nível de permissão do usuário logado no documento informado, onde:
|
isUserInGroup(group) | Retorna se o usuário logado faz parte do grupo informado, onde:
|
newAttachment() | Retorna uma nova instância de Attachment. |
newRelatedDocumentDto() | Retorna uma nova instância de RelatedDocumentDto. |
newDocumentSecurityConfigDto() | Retorna uma nova instancia de DocumentSecurityConfigDto. |
newApproverDto() | Retorna uma nova instância de ApproverDto. |
newDocumentDto() | Retorna uma nova instância de DocumentDto, com o tipo 2 (Documento) como padrão. |
Veja o exempo (create-advanced-folder) em nosso repositório aqui.