ECMCardService > service.create ( Não consigo incluir pai x filho )

Boa noite Senhores

Estou trabalhando num em que o processo com uma atividade de serviço que cria registros via serviço ECMCardService, sobre o corpo do formulário esta integrando sem problemas, mas não sei como inserir os dados da tabela pai filho. Fiz uma pesquisa no TDN mas não encontrei nenhum exemplo.

function createDocument() {
    //empresa, usuario, senha, matricula, pastaPaiId, nomeCampo, valorCampo, dataset, campos, arrItens

    log.info('function createDocument >> Entrou!');

    try {
        var serviceManager = ServiceManager.getService('ECMCardService');
        var serviceInstance = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.ECMCardServiceService');
        var service = serviceInstance.getCardServicePort();

        var attachment = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.Attachment');
        var relatedDocument = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.RelatedDocumentDto');
        var documentSecurity = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.DocumentSecurityConfigDto');
        var approver = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.ApproverDto');

        var cardDtoArray = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardDtoArray');
        var cardDto = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardDto');

        var cardFieldDto1 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        var cardFieldDto2 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');

        cardDto.getAttachs().add(attachment);
        cardDto.getReldocs().add(relatedDocument);
        cardDto.getDocsecurity().add(documentSecurity);
        cardDto.getDocapprovers().add(approver);

        cardDto.setDocumentDescription(hAPI.getCardValue('nroProcesso')+' - '+hAPI.getCardValue('nomeProjeto')); //descricao do formulario
        cardDto.setAdditionalComments('');
        cardDto.setParentDocumentId(parseInt('982')); //pasta pai do formulario
        cardDto.setColleagueId(hAPI.getCardValue('matriculaResponsavel')); //matricula
        cardDto.setExpires(false);
        cardDto.setUserNotify(false);
        cardDto.setInheritSecurity(true);
        cardDto.setVersionDescription('');
        cardDto.setDocumentKeyWord('');


        // Campos formulário - Projeto
        var cardFieldDto0 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto0.setField("codProjeto");
        cardFieldDto0.setValue(hAPI.getCardValue('nroProcesso')); // Nro processo do Fluig                
        cardDto.getCardData().add(cardFieldDto0);

        var cardFieldDto1 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto1.setField("nomeProjeto");
        cardFieldDto1.setValue(hAPI.getCardValue('nomeProjeto'));                
        cardDto.getCardData().add(cardFieldDto1);

        var cardFieldDto2 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto2.setField("matriculaSolicitante");
        cardFieldDto2.setValue(hAPI.getCardValue('matriculaSolicitante'));                
        cardDto.getCardData().add(cardFieldDto2);        

        var cardFieldDto3 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto3.setField("emailSolicitante");
        cardFieldDto3.setValue(hAPI.getCardValue('emailSolicitante'));                
        cardDto.getCardData().add(cardFieldDto3);

        var cardFieldDto4 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto4.setField("nomeSolicitante");
        cardFieldDto4.setValue(hAPI.getCardValue('nomeSolicitante'));                
        cardDto.getCardData().add(cardFieldDto4);

        var cardFieldDto5 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto5.setField("departamento");
        cardFieldDto5.setValue(hAPI.getCardValue('departamento'));                
        cardDto.getCardData().add(cardFieldDto5);

        var cardFieldDto6 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto6.setField("matriculaResponsavel");
        cardFieldDto6.setValue(hAPI.getCardValue('matriculaResponsavel'));                
        cardDto.getCardData().add(cardFieldDto6);

        var cardFieldDto7 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto7.setField("emailResponsavel");
        cardFieldDto7.setValue(hAPI.getCardValue('emailResponsavel'));                
        cardDto.getCardData().add(cardFieldDto7);

        var cardFieldDto8 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto8.setField("nomeResponsavel");
        cardFieldDto8.setValue(hAPI.getCardValue('nomeResponsavel'));                
        cardDto.getCardData().add(cardFieldDto8);

        var cardFieldDto9 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto9.setField("dataRegistro");
        cardFieldDto9.setValue(hAPI.getCardValue('dataRegistro'));                
        cardDto.getCardData().add(cardFieldDto9);

        var cardFieldDto10 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto10.setField("dataInicio");
        cardFieldDto10.setValue(hAPI.getCardValue('dataInicio'));                
        cardDto.getCardData().add(cardFieldDto10);

        var cardFieldDto11 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto11.setField("dataFim");
        cardFieldDto11.setValue(hAPI.getCardValue('dataFim'));                
        cardDto.getCardData().add(cardFieldDto11);

        var cardFieldDto12 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto12.setField("custoPrevisto");
        cardFieldDto12.setValue(hAPI.getCardValue('custoPrevisto'));                
        cardDto.getCardData().add(cardFieldDto12);

        var cardFieldDto13 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto13.setField("escopo");
        cardFieldDto13.setValue(hAPI.getCardValue('escopo'));                
        cardDto.getCardData().add(cardFieldDto13);

        var cardFieldDto14 = serviceManager.instantiate('com.totvs.technology.ecm.dm.ws.CardFieldDto');
        cardFieldDto14.setField("status");
        cardFieldDto14.setValue('Backlog');                
        cardDto.getCardData().add(cardFieldDto14);


        // Campos tabela Atividade
        var indexes = hAPI.getChildrenIndexes("tableAtividade");
        if ( indexes.length > 0 ) {
            for ( var i = 0; i < indexes.length; i++ ) {
                var codAtividade                 = i+1;
                var dataRegistroAtividade        = getData();
                var dataInicioAtividade            = (hAPI.getCardValue("dataInicioAtividade___" + indexes[i]));
                var dataFimAtividade            = (hAPI.getCardValue("dataFimAtividade___" + indexes[i]));
                var matriculaResponsavelAtividade     = (hAPI.getCardValue("matriculaResponsavelAtividade___" + indexes[i]));
                var emailResponsavelAtividade         = (hAPI.getCardValue("emailResponsavelAtividade___" + indexes[i]));
                var nomeResponsavelAtividade         = (hAPI.getCardValue("nomeResponsavelAtividade___" + indexes[i]));
                var descricaoAtividade                 = (hAPI.getCardValue("descricaoAtividade___" + indexes[i]));

            }
        }

        cardDtoArray.getItem().add(cardDto);


        result = service.create('1', 'teste', 'teste', cardDtoArray);
        log.info(' function createDocument >> result << ');
        log.dir(result);

        if (result.getItem().get(0).getWebServiceMessage().equals("ok")) {
            log.info("Sincronização completada com sucesso!");
            var documentoCriado = result.getItem().get(0).getDocumentId();
            log.info(' function createDocument >> documentoCriado '+documentoCriado);

            //Gravando retorno no formulário
            hAPI.setCardValue('documentId_ECM', documentoCriado);

        } else {
            throw (result.getItem().get(0).getWebServiceMessage());
        }


    } catch (e) {
        throw e.message;
    }
}
compartilhar
  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 formulario processo ecm ou faça a sua própria pergunta.