problema para publicar anexo no GED

Estou publicando o anexo de um form no GED, mas estou enfrentando problemas, esta dano o erro: Atividade de serviço executada com falha: Tentativa: 1 - Erro Wrapped java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 (#38) - Tempo de Execução 4 s

var documento = [];
var documentoInvertido = [];
var dataCriacao = "";
var dataExpiracao = "";
var nomeDocumento = "";
var i;
var n = parseInt(hAPI.getCardValue('numeroAdmissionais'));

function servicetask57(attempt, message) {
    publicaoDocumentoAdmissional()
    consultaDocumentoExistente();
}
function publicaoDocumentoAdmissional(){

    var processo = getValue("WKNumProces");
    var campos   = hAPI.getCardData(processo);
    var contador = campos.keySet().iterator();

    while (contador.hasNext()) {
        var id = contador.next();

        if (id.match(/nomeDocumentoPessoal___/)) {
            var campo = campos.get(id);
            var seq   = id.split("___");

            documento.push(campos.get("nomeDocumentoPessoal___" + seq[1]));
            var filho2 = campos.get("dataCriacaoPessoal___" + seq[1]);
        }
    }
    documento.toString();
    //documentoInvertido = documento.reverse();
}
function publicaDocumento(){
     var docs = hAPI.listAttachments();

         for (i = n; i < docs.size(); i++) {
              var docDto = docs.get(i); \\####Erro Linha 38
             if (docDto.getDocumentType() == "7") {

                  docAPI.copyDocumentToUploadArea(docDto.getDocumentId(), docDto.getVersion());      
                  docDto.setDocumentId(0);

                 docDto.setParentDocumentId(parseInt(hAPI.getCardValue("pastaControleAdmissional")));

                 var attachArray = new java.util.ArrayList();
                 var mainAttach = docAPI.newAttachment();
                 mainAttach.setFileName(docDto.getPhisicalFile());
                 mainAttach.setPrincipal(true);
                 mainAttach.setAttach(false);
                 attachArray.add(mainAttach);


                docDto.setActiveVersion(true);
                docDto.setColleagueId(getValue("WKUser")); 
                docDto.setPublisherId(getValue("WKUser"));
                docDto.setDocumentDescription(documento[i-n]);

                var aprovador = docAPI.newApproverDto();
                aprovador.setCompanyId(getValue("WKCompany"));
                aprovador.setColleagueId(getValue("WKUser")); 
                aprovador.setDocumentId(docDto.getDocumentId());
                aprovador.setVersion(1); 
                aprovador.setLevelId(1); 
                aprovador.setApproverType(0); 
                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());
                    idDoc = doc.getDocumentId();                
                } catch (e) {
                    log.error("Problemas na criação do documento:\n" + e);
                }
         } 
             if (i == docs.size())//Correção
                 break;   
     }
     hAPI.setCardValue("numeroPessoais", i);
}
compartilhar
  • Pelo que entendi o erro diz que estou tentado pegar o valor de um índice que não existe na array anexos, mas no caso a array tem 3 itens,e no for eu pego o índice 1 e 2 e pronto...

    Allan LB   1 week ago
  • O laço de repetição não estava parando, coloquei um if (i == docs.size()) break;no fim do for e o problema foi resolvido, desculpe pessoal.

    Allan LB   1 week ago
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ged docapi erro ou faça a sua própria pergunta.