Pessoal, podem me ajudar a prosseguir nesse script de integração (fluig/Protheus)? Não sei como adiciono vários campos da tabela paiXfilho.
function servicetask22(attempt, message) {
log.info("iniciando a integracao--->");
var C_EMPRESA = "01";
var C_FILIAL = " ";
var C_REPRES = hAPI.getCardValue("A1_VEND");
log.info("Representante: "+C_REPRES);
var AG_CLIENTE = hAPI.getCardValue("A1_COD");
log.info("Cliente: "+AG_CLIENTE);
var AG_CONDPAG = hAPI.getCardValue("A1_COND");
log.info("Cond. Pagamento: "+AG_CONDPAG);
var AG_XDTENTD = hAPI.getCardValue("vl_dtEntrega");
log.info("Data de entrega desejada: "+AG_XDTENTD);
var AG_XMANTCP = hAPI.getCardValue("cb_condicao");
log.info("Manter condição de pagamento? "+AG_XMANTCP);
var AG_XCPDESE = hAPI.getCardValue("nm_condDesejada");
log.info("Condição desejadas: "+AG_XCPDESE);
var AG_XMSGENT = hAPI.getCardValue("ds_entregas");
log.info("Informações de descarga/entrega: "+AG_XMSGENT);
var AG_XMESMOL = hAPI.getCardValue("cb_entrega");
log.info("Mesmo local ent: "+AG_XMESMOL);
var AG_XCEPENT = hAPI.getCardValue("vlCEP");
log.info("CEP ENT: "+AG_XCEPENT);
var AG_XENDENT = hAPI.getCardValue("nmEndereco");
log.info("END ENTREGA: "+AG_XENDENT);
var AG_XNUMENT = hAPI.getCardValue("nrNum");
log.info("NUM ENTREGA: "+AG_XNUMENT);
var AG_XMUNIC = hAPI.getCardValue("nmMunicipio");
log.info("Municio ent: "+AG_XMUNIC);
var AG_XBAIRRO = hAPI.getCardValue("nmBairro");
log.info("Bairro ent: "+AG_XBAIRRO);
var AG_XESTADO = hAPI.getCardValue("nmEstado");
log.info("Estado ent: "+AG_XESTADO);
var AG_XPALETI = hAPI.getCardValue("cb_palete");
log.info("Carga paletizada?: "+AG_XPALETI);
var AG_XESPECI = hAPI.getCardValue("cb_espec");
log.info("Especificacao Propria?: "+AG_XESPECI);
var AG_XOUTOBS = hAPI.getCardValue("ds_Informacoes");
log.info("Informacoes relevantes: "+AG_XOUTOBS);
var AG_XPFLUIG = getValue('WKNumProces');//hAPI.getCardValue("A1_COD");
log.info("Codigo fluig: "+AG_XPFLUIG);
var AG_XMSGCRE = hAPI.getCardValue("ds_InfCredito");
log.info("Obs Credito: "+AG_XMSGCRE);
var AG_XMSGCOM = hAPI.getCardValue("ds_InfComercial");
log.info("Obs Comercial: "+AG_XMSGCOM);
//Pegar codigo do servico(neste caso o WS)
log.info("inserindo o pedido");
var servico = "WSSC5";
//Instanciar o servico
log.info("Instanciar o servico");
var instanceservice = ServiceManager.getServiceInstance(servico);
log.info(instanceservice);
//Instaciando o WSSC5
log.info("Instaciando o WSSC5");
var classesc5 = instanceservice.instantiate("br.com.lactosul.protheus._7999.WSSC5");
log.info("objetowssc5");
var objetowssc5 = classesc5.getWSSC5SOAP();
log.info(objetowssc5);
/***/
var processInstanceId = getValue('WKNumProces');
// Retorna um mapa com os valores dos campos do formulário do processo
var cardData = hAPI.getCardData(processInstanceId);
// Pegar só as chaves do mapa, que seriam os nomes dos campos do formulário
var cardFields = cardData.keySet().toArray();
var fieldName = 'codProd___';
var REGISTROS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ARRAYOFACOLS"); //ACOLS
for (var i = 0; i < cardFields.length; i++) {
// Se o campo de formulário começar com o nome do seu campo pai x filho cria uma data de avaliação
if (cardFields[i].startsWith(fieldName)) {
log.info("PASSOU ANTES ACOLS-->");
var ACOLS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ACOLS"); //DATAAVL
log.info("PASSOU ACOLS-->");
ACOLS.setAGPRODUTO(cardData.get(cardFields[i]));
REGISTROS.ACOLS().add(ACOLS);
log.info("PASSOU ACOLS DEPOIS-->");
ACOLS.setAGQTDVEN(cardData.get(cardFields[i]));
REGISTROS.ACOLS().add(ACOLS);
ACOLS.setAGLOTECTL(cardData.get(cardFields[i]));
REGISTROS.ACOLS().add(ACOLS);
ACOLS.setAGPRCVEN(cardData.get(cardFields[i]));
REGISTROS.ACOLS().add(ACOLS);
log.info("ATÉ AQUI");
}
}
var AG_LINHAS = instanceservice.instantiate("br.com.lactosul.protheus._7999.ITENS"); //DDTAVALIAZAO
AG_LINHAS.setREGISTROS(REGISTROS);
//Inclusao do pedido
var mensagemretorno = objetowssc5.updsc5( C_EMPRESA,
C_FILIAL,
C_REPRES,
AG_CLIENTE,
AG_CONDPAG,
AG_XDTENTD,
AG_XMANTCP,
AG_XCPDESE,
AG_XMSGENT,
AG_XMESMOL,
AG_XCEPENT,
AG_XENDENT,
AG_XNUMENT,
AG_XMUNIC,
AG_XBAIRRO,
AG_XESTADO,
AG_XPALETI,
AG_XESPECI,
AG_XOUTOBS,
AG_XPFLUIG,
AG_XMSGCRE,
AG_XMSGCOM,
AG_LINHAS
);
var aretorno = mensagemretorno.getLISTUPDSC5();
var retorno = aretorno.get(0);
var msgRet = retorno.getAGMENRET();
var updok = retorno.getLSC5();
var codBloqueio = retorno.getAGC9CODBLQ();
var descCodBloq = retorno.getAGC9DESCBLQ();
var codPedido = retorno.getAGCODPEDIDO();
if(updok == "T"){
log.info("### OK ###");
log.info(msgRet);
log.info(codBloqueio);
log.info(descCodBloq);
log.info(codPedido);
}else{
log.info("ERRO RETORNO: " + msgRet);
throw msgRet;
}
}
Como está no SoapUI