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