Bom dia. Eu fiz um dataset customizado para fazer exatamente isso. Porem eu faço via WebService e nao via fluigAPI
function createDataset(fields, constraints, sortFields)
{
var dataset = DatasetBuilder.newDataset();
dataset.addColumn("RETORNO");
//DEFINICAO DAS VARIAVEIS PARA A CHAMADA DA FUNCAO createData()
var company = parseInt(getValue("WKCompany"));
var user = "";
var password = "";
var dsvalores = DatasetFactory.getDataset("dsCadastroCentroCusto", null, null, null);
for (var i = 0; i < dsvalores.rowsCount; i++){
var retorno = createData(company, user, password, dsvalores, i );
dataset.addRow([retorno]); }
return dataset;
}
function createData(company, user, password, dsvalores, i)
{
try
{
var properties = {};
properties["disable.chunking"] = "true";
properties["log.soap.messages"] = "true";
//CHAMADA DO SERVICO E INSTANCIAÇAO DAS CLASSES PARA A CHAMADA DO METODO var serviceManager = ServiceManager.getService("ECMCardService");
var serviceInstance = serviceManager.instantiate("com.totvs.technology.ecm.dm.ws.ECMCardServiceService");
var service = serviceInstance.getCardServicePort(); var customClient = serviceManager.getCustomClient(service, "com.totvs.technology.ecm.dm.ws.CardService", properties);
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 CODCUSTO = dsvalores.getValue(i, "CODMOV");
var DESCRICAO = dsvalores.getValue(i, "DESCRI"); var idPasta = 14538;
//A CADA ITERACAO, SE O USUARIO NAO FOI SINCRONIZADO É PRECISO INSTANCIAR AS VARIÁVEIS ABAIXO,
//PARA QUE NAO HAJA DUPLICIDADE DOS REGISTROS DO FORMULARIO (CAUSANDO A CRIACAO DE MAIS DE UM REGISTRO DE FORMULARIO PARA O MESMO REGISTRO DO FOR)
var cardDtoArray = serviceManager.instantiate("com.totvs.technology.ecm.dm.ws.CardDtoArray");
var cardDto = serviceManager.instantiate("com.totvs.technology.ecm.dm.ws.CardDto");
cardDto.getAttachs().add(attachment);
cardDto.getReldocs().add(relatedDocument);
cardDto.getDocsecurity().add(documentSecurity);
cardDto.getDocapprovers().add(approver);
//ADICIONA NO ARRAY OS METADADOS DO REGISTRO DE FORMULARIO
cardDto.setDocumentDescription("");
cardDto.setAdditionalComments("");
cardDto.setParentDocumentId(idPasta);
cardDto.setColleagueId("usuario");
cardDto.setExpires(false);
cardDto.setUserNotify(false);
cardDto.setInheritSecurity(true);
cardDto.setTopicId(1);
cardDto.setVersionDescription("");
cardDto.setDocumentKeyWord("");
//ADICIONA NO ARRAY OS DADOS DOS CAMPOS DO FORMULARIO: NOME E O VALOR
cardDto = updateValParam(cardDto, serviceManager, "CODMOV", CODCUSTO);
cardDto = updateValParam(cardDto, serviceManager, "DESCRI", DESCRICAO);
// ADICIONA O REGISTRO NO ARRAY DO REGISTRO DE FORMULARIO
cardDtoArray.getItem().add(cardDto);
//CHAMADA METODO PARA CRIACAO DOS REGISTROS DE FORMULARIO
result = customClient.create(company, user, password, cardDtoArray);
log.info("###### FUNCIONARIO SINCRONIZADO!");
if (result.getItem().get(0).getWebServiceMessage().equals("ok")) {
return "Sincronização completada com sucesso!" ;
} else {
return result.getItem().get(0).getWebServiceMessage();
}
}
catch(e)
{
log.error('###### Erro ao sincronizar os aniversariantes. '+e.message);
return;
}
}
function updateValParam(cardData, serviceManager, campo, valor){
var CardFieldDto = serviceManager.instantiate("com.totvs.technology.ecm.dm.ws.CardFieldDto"); CardFieldDto.setField(campo);
CardFieldDto.setValue(valor);
cardData.getCardData().add(CardFieldDto);
return cardData;
}