Repetindo o conteudo de um campo de um grid nas linhas abaixo da linha em que estou posicionado

Blog Advpl - Share knowledge

Repetindo o conteudo de um campo de um grid nas linhas abaixo da linha em que estou posicionado

8 de setembro de 2014 Dicas Funções Geral 0

Outro dia me fizerem 3 perguntas:

1) Como faço para repetir o conteudo de um campo de um grid nas linhas abaixo da linha em que estou posicionado?

2) Como faço para repetir o conteudo de um campo de um grid nas linhas abaixo a primeira linha?

3) Como faço para repetir o conteudo de um campo do cabeçalho em um determinado campo nas linhas de um grid?
Respondendo:

1) Como faço para repetir o conteudo de um campo de um grid nas linhas abaixo da linha em que estou posicionado?

IIF(n>1,aCols[n-1,GdFieldPos(“C6_LOCAL”,aHeader)],””)

Onde:
a) n é a variavel onde o Protheus lê a linha que o cursor está posicionado, é verificado se não estou na primeira linha (pois não faria sentido lê a primeira linha)

b) aCols[n-1,GdFieldPos(“C6_LOCAL”,aHeader)], procuro na linha anterior a posição da coluna do campo especificado do aHeader e pego seu conteudo e preencho o campo, caso contrario, preencho com outro conteudo.
2) Como faço para repetir o conteudo de um campo de um grid nas linhas abaixo a primeira linha?

IIF(n>1,aCols[1,GdFieldPos(“C6_LOCAL”,aHeader)],””)

Aqui neste exemplo, eu troco o n-1 por 1, com isso, pego sempre a primeira linha

3) Como faço para repetir o conteudo de um campo do cabeçalho em um determinado campo nas linhas de um grid?

IIF(n>1,M->C5_ZZCAIXA,1)

Agora neste exemplo, eu vou pegar sempre o conteudo de um determinado campo (normalmente este seria do cabeçalho), pois para pegar conteudo do grid, usa-se os exemplos 1 e 2.

Observação:

Fazer estas validações na tabela de gatilhos (SX7)

Gatilho

 

Deixe uma resposta