Versão atual:

Erro ao anexar arquivo à pasta via hAPI

Pessoal, boa tarde.

Meu problema é o seguinte.

No evento afterProcessCreate eu faço o seguinte. Crio uma pasta, e depois eu adiciono o anexo que o usuário colocou no processo a essa pasta. Como admin, está funcionando certinho.

Mas como usuário normal, não funciona.

Mas investigando o problema, olha só que intrigante: Após o processo já ter sido criado, em uma atividade do processo, no evento AfterTaskSave, eu incluo novamente o anexo que o usuário colocou, nessa pasta. E nessa atividade vai normal. Não dá erro de permissão.

Ou seja, só recebo erro de que o usuário não tem permissão, no evento afterProcessCreate.

Olhando o log, a pasta está sendo criada normalmente, inclusive dou print do Id dela no log, e entro no fluig a pasta está lá, e está com a segurança certinha. Eu criei um grupo, coloquei o usuário nesse grupo, e coloquei a pasta Raiz com permissão total para esse grupo. Ou seja, todas as pastas que eu crio dentro dela, devem respeitar essas permissões. Via código, eu crio a pasta dentro dessa pasta, e digo para herdar as permissões.

Conforme eu disse, depois de acompanhar no log, eu olho as permissões estão certinhas, e se o mesmo usuário, na tarefa seguinte adiciona o arquivo o arquivo é adicionado sem erro.

Alguém faz idéia do que pode estar acontecendo? Será algo relacionado ao evento afterProcessCreate?

function afterProcessCreate(processId) {

    try {

        //crio a pasta, com herança de segurança
        folderId = createFolder(folderName);

        //aqui o sistema está mostrando corretamente o log da pasta criada. 
        //quando eu verifico pelo fluig, as permissões, elas estão criadas corretamente.
        log.info('>>> id da pasta criada: ' + folderId);

        //pego a lista dos anexos
        var anexosDoProcesso = hAPI.listAttachments();

        //variavel para recuperar a data
        var calendar = java.util.Calendar.getInstance().getTime();

        //se tiver anexos
        if (anexosDoProcesso.size() > 0) {

            //passo por todos os anexos
            for ( var i = 0; i < anexosDoProcesso.size(); i++) {

                //jogo o anexo na variavel
                var doc = anexosDoProcesso.get(i);

                //defino as propriedades ...
                doc.setParentDocumentId( parseInt("" + folderId) ); // pasta destino
                doc.setVersionDescription("Processo: " + getValue("WKNumProces"));
                doc.setExpires(false);
                doc.setCreateDate(calendar);
                doc.setInheritSecurity(true);     <<<<< AQUI EU DEIXO CLARO QUE É PARA HERDAR A SEGURANÇA
                doc.setTopicId(1);
                doc.setUserNotify(false);
                doc.setValidationStartDate(calendar);
                doc.setVersionOption("0");
                doc.setUpdateIsoProperties(true);

                //inclui o anexo à pasta
                hAPI.publishWorkflowAttachment(doc);

            }
        }
    } catch (e) {
        log.error(" >>> ERROR <<< ");

        log.error(e.name);
        log.error(e.message);


        throw " >>> ERROR >>> afterProcessCreate <<< | " + e.name + " - " + e.message;

  }
}

Versões (2):

Ver a versão formatada

Erro ao anexar arquivo à posta via hAPI

  • criado 06 de Jul de 2017

Comentário

new question