¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como contar linhas em uma tabela no SFP usando JavaScript: Dicas e soluções

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

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.jpg
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

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

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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

capture.png capture-2.png
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?