Consumir serviço do protheus dentro do evento AfterTaskComplete

Boa noite, estou tentando consumir um serviço do protheus dentro do evento afterTaskComplete, e ao tentar validar um campo de retorno do serviço o seguinte erro aparece no log: "Java class "[Ljava.lang.Object;" has no public instance field or method named "COLUNA1"."

Gostaria de saber se há como validar esse campo?

Segue codigo:


var numPostagem = hAPI.getCardValue("p_num_post");
var numProt = getValue("WKNumProces");

var c1 = DatasetFactory.createConstraint("atributo", numPostagem, numPostagem, ConstraintType.MUST); 
var c2 = DatasetFactory.createConstraint("atributo2", numProt, numProt, ConstraintType.MUST); 


var filtro = new Array(c1,c2);
var dataset = DatasetFactory.getDataset("DS_SV_RASTREIO_OBJETO", null, filtro, null);



if (dataset != null && dataset.values != null && dataset.values.length > 0){       
    var records = dataset.values;

   // alert("DATASET NAO VAZIO")

     for ( var index in records) {
          var record = records[index];


          if ( record.COLUNA1 == "S"){    

            hAPI.setCardValue("p_sit_post","Aguardando Recebimento");

        }else{

            hAPI.setCardValue("p_sit_post","Aguardando Postagem");
        }

        }
}

Roberto, você poderia testar via try catch mesmo ou então via acesso por string a propriedade.


if ( record["COLUNA1"] != undefined && record.COLUNA1 == "S"){

Nesse exemplo com short circuit, a segunda regra só é executada se a primeira estiver ok. Além disso podes simplesmente trocar as duas para forma ["meuCampo"] para padronizar o acesso e facilitar leitura do código.