getCardData(numProcesso) - Exemplo

Alguém possui algum exemplo desse getCardData(numProcesso) método percorrendo os dados de uma nota fiscal como código do item e nome do item?

Esse exemplo aqui eu tirei do processo listar tarefas que é um processo que vem por padrão na instalação do fluig. Ele pega o get cardData em um evento e sai percorrendo os campos.


        cardData = hAPI.getCardData(process);
        var keys = cardData.keySet().toArray();
        for (var key in keys) {
            var field = keys[key];
            if (field.indexOf("nomeativ___") > -1) {
                var name = cardData.get(field);
                var index = field.replace("nomeativ___", "");
                var hdnrespativ = cardData.get("hdnrespativ___" + index);
                var dueDate="";
                if (cardData.get("dtprazoativ___" + index) != "") {
                    if (cardData.get("dtprazoativ___" + index) != undefined){
                        var dataStr = cardData.get("dtprazoativ___" + index).split("/");
                        dueDate = dataStr[0] + "/" + dataStr[1] + "/" + dataStr[2];
                    }
                }
                var task = { name:name, responsible:hdnrespativ, dueDate:dueDate};
                adHocTasks.push(task);
            }
        }

Você não conhece nenhum exemplo usando tabela pai e filho de uma nota fiscal por exemplo?

Caro, o interessante seria um exemplo onde percorro os itens da nota de uma tabela pai e filho. Acho que assim teríamos uma solução prática para a pergunta. Pois no TDN ele não traz um exemplo, apenas um comentário.

Excelente idéia amigo. Experimentei usando o código abaixo, ele retornou o item da minha nota.

function RepassaDiretoriaPrd(){

log.info("#1"); var process = getValue("WKNumProces"); cardData = hAPI.getCardData(process); var keys = cardData.keySet().toArray(); for (var key in keys) { var field = keys[key]; if (field.indexOf("Codigoprd") > -1) { var name = cardData.get(field); var index = field.replace("Codigoprd", ""); var nomedoitem = cardData.get("NomeItem_" + index); var StrGrupoBensUm = "01.05"; // Sintetico Material de Bens permanentes - Imobilizado var StrGrupoBensDois = "01.08"; // Sintetico imobilizados

var GrupoPrdImob = cardData.get("Codigoprd_" + index).filter(function(windowValue) {

if(windowValue) { return (windowValue.substring(0, StrGrupoBensUm.length) === StrGrupoBensUm); log.info("#2" +(windowValue.substring(0, StrGrupoBensUm.length) === StrGrupoBensUm)); } });

} }

}

O único problema foi que não consegui capturar a substring 01.08 do codigo do produto, pois ele nao reconehceu a função filter do java script. POrém posso dár como solucionado , porque de fato ele percorre a ficha.