Primeiramente, altere layouts.ready -> Eventos com script.
Escreva o código abaixo:
xfa.resolveNode("GV_ITEM_COUNT").rawValue = xfa.resolveNodes("$record.IT_PO_ITMEMS.DATA[*]").length
Avalados por :
Olá a todos,
Como posso contar linhas em uma tabela no SFP usando código JavaScript? Estou utilizando a função xfa.resolveNodes como vi em outro lugar, mas ela só retorna o valor "1", mesmo se a tabela tiver muitas mais linhas.
Sei que posso fazer isso contando as linhas na interface, mas queria fazer usando JavaScript diretamente no layout do formulário. Escolhi o evento errado ou algo assim? Ou talvez esteja usando o caminho errado em resolveNodes?
Agradeço por toda ajuda.
2021-06-25-154633.jpg 2021-06-25-154616png.jpgPrimeiramente, altere layouts.ready -> Eventos com script.
Escreva o código abaixo:
xfa.resolveNode("GV_ITEM_COUNT").rawValue = xfa.resolveNodes("$record.IT_PO_ITMEMS.DATA[*]").length
Obrigado pela sua resposta. Cometi um erro no meu código, parecia assim:
this.rawValue = xfa.resolveNodes("$record.IT_PO_ITEMS[*]").length;
E deveria parecer assim:
this.rawValue = xfa.resolveNodes("$record.IT_PO_ITEMS.DATA[*]").length;
Esqueci completamente que estou tentando obter o tamanho de DATA dentro de IT_PO_ITEMS, não de IT_PO_ITEMS em si... ?
De qualquer forma, obrigado novamente pela sua ajuda!
Olá Barlomiej,
Eu simulei sua solicitação. Abaixo está a interface, como você pode ver, tenho uma tabela "IT_MARA" cuja contagem será exibida no formulário da Adobe.
Abaixo está o código para encontrar a contagem e atribuir a contagem ao "TextField1". O código está escrito usando JavaScript no evento "Inicialização" do campo de texto no AdobeForm.
xfa.resolveNode("TextField1").rawValue = xfa.resolveNodes("$record.IT_MARA.DATA[*]").length;
Abaixo está a saída. Estou passando 30 linhas para a tabela IT_MARA.
Abordagem Alternativa:
Como você já adicionou o campo "GV_ITEM_COUNT" à interface, também pode contar as linhas da tabela e atribuí-las a GV_ITEM_COUNT na própria interface usando ABAP em vez de JavaScript.
Espero que isso responda às suas perguntas.
Obrigado,
Gourab
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute