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?
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?
— FLUIG MAN 17 de May de 2017Caro, 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.
— FLUIG MAN 17 de May de 2017Excelente 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.