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;
    }
}