Repetindo o conteudo de um campo de um grid nas linhas abaixo da linha em que estou posicionado
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)