function createDataset(fields, constraints, sortFields) { var ds = DatasetBuilder.newDataset(); ds.addColumn("Solicitacao"); ds.addColumn("Status"); // CONFIGURAÇÕES var PROCESSO = "FlowEssentials_AberturaDeChamado"; var URL = "https://comerciode188006.fluig.cloudtotvs.com.br"; var USER = "andrey.cunha"; var PASS = "88253332Wa@"; // <-- coloque aqui a senha do usuário var LOTES = 200; // processa 200 solicitações por vez (pode aumentar) try { // BUSCA TODAS AS SOLICITAÇÕES var dsProc = DatasetFactory.getDataset( "workflowProcess", ["workflowProcessPK.processInstanceId"], [ DatasetFactory.createConstraint("processId", PROCESSO, PROCESSO, ConstraintType.MUST) ], null ); log.info("### TOTAL DE PROCESSOS ENCONTRADOS: " + dsProc.rowsCount); // IMPORTA CLASSES DO WEBSERVICE var authService = ServiceManager.getService("ECMCardService"); var serviceInstance = authService.instantiate("com.totvs.technology.ecm.dm.ws.ECMCardServiceService"); var port = serviceInstance.getECMCardServicePort(); // Processar lote por lote for (var i = 0; i < dsProc.rowsCount; i++) { var idSolic = dsProc.getValue(i, "workflowProcessPK.processInstanceId"); try { // PEGA O CARD DE ORIGEM var cardData = port.getCardData( USER, PASS, 1, // companyId idSolic ); // REESCREVE OS CAMPOS var newCard = []; var CAMPOS = [ "requesterName", "requesterMail", "requesterId", "currentUserName", "currentUsermail", "currentUserId", "userSolicitante", "emailSolicitante", "nomeGestorArea", "emailGestorArea", "estabelecimentoFilial", "complemento", "tipoOcorrencia", "tituloOcorrencia", "detalheSolicitacao", "analistaTecnico", "dataAnaliseTecnica", "consegueResolver", "possuiInconsistencia", "consideracoesTecnicas", "userValidacao", "dataUserValidacao", "situacaoResolvida", "ratingValue", "consideracoes", "dataAbertura" ]; // MONTA ARRAY DOS CAMPOS for (var j = 0; j < CAMPOS.length; j++) { var nomeCampo = CAMPOS[j]; var valorCampo = cardData.get(nomeCampo) ? cardData.get(nomeCampo).get(0) : ""; newCard.push({ item: { key: nomeCampo, value: valorCampo } }); } // GRAVA O CARD ATUALIZADO port.updateCardData( USER, PASS, 1, // tenant/companyId idSolic, newCard ); ds.addRow([idSolic, "OK"]); } catch (err1) { ds.addRow([idSolic, "ERRO: " + err1]); } } } catch (err2) { ds.addRow(["GERAL", "ERRO: " + err2]); } return ds; }