Eduarda,
A variável aCols
tem como padrão ser uma matriz.
Cada posição da aCols
é uma linha do grid. E cada linha do grid possui suas colunas (dados), a último posição da linha do aCols
é reservada para informar se a linha está deletada.
Portanto esse condição, está avaliando se a linha corrente está deletada:
aCols[nI,Len(aCols[nI])]
O for
no começo, é para iterar em cada linha do aCols
:
For nI := 1 To Len(aCols)
If aCols[nI,Len(aCols[nI])]
Loop
Endif
aCols[nI,GdFieldPos("D1_PEDIDO")] := CriaVar("D1_PEDIDO",.F.)
aCols[nI,GdFieldPos("D1_ITEMPC")] := CriaVar("D1_ITEMPC",.F.)
Next
E a condição, verifica se a linha está deletada, caso esteja, ela será ignorada, pois é chamado o comando Loop
que volta diretamente para o começo do for
fazendo o incremento da variável nI
. Caso a linha não esteja deletada, o aCols
vai receber os valores do CriaVar
para dois de seus campos.