As vezes queremos somar ou encontrar um valor numa grid, isso é util para pegar o total de uma coluna, ou saber se um item já existe naquela tabela, para isso podemos usar a função find

Exemplo usando find:

Local Integer I, I = 0
I = find("BMS001",[M:SIH4]ITMREF(0..[M:SIH4]NBLIG-1))
# Se o I for maior que 0 então ele vai retornar o índice que esta
# o item "BMS001", se for a linha 1 então sera 1.

O código ‘(0..[M:SIH4]NBLIG-1)’ é usado para limitar a quantidade de valores que a função find ira procurar/somar.

Também é possível procurar um valor numa lista de valores, por exemplo:

Local Integer I, I = 0
I = find("1","9","2","3","5","1")
#A função find olha para o primeiro parâmetro, no nosso caso "1", 
#e procura se existe alguma ocorrência de "1" nos parâmetros 
#restantes, no nosso exemplo o valor de I seria 5.

Para somar uma lista de campos, mudar para função SUM, por exemplo

Local decimal ZQTY : ZQTY = 0
ZQTY = sum([M:SIH4]QTY(0..[M:SIH4]NBLIG-1))
#O ZQTY ira receber o total das quantidades de todas as 
#linhas do grid de itens da fatura de venda.

Ficou com dúvidas, quer saber mais? Entre em contato conosco, e assine nosso newsletter para receber as novidades.