×
Linguagem de Programação ADVPL
Perguntas Procurar no aCols
- Mjuniorfacic
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
11 anos 4 meses atrás #15611
por Mjuniorfacic
Procurar no aCols foi criado por Mjuniorfacic
Galera estou tomando uma surra, para buscar dentro do aCols determinado valor!
Alguém poderia me ajudar?
É o seguinte:
Preciso realizar uma manipulação de dados no aCols, SE(IF), dentro dele não existir nenhum item com o campo C6_CF diferente de 5933, 6933 ou 7933. QUE NÃO SEJA 000768 (PQ ESTE É DIFERENTE DE 5933,6933,7933)
Alguém poderia me ajudar?
É o seguinte:
Preciso realizar uma manipulação de dados no aCols, SE(IF), dentro dele não existir nenhum item com o campo C6_CF diferente de 5933, 6933 ou 7933. QUE NÃO SEJA 000768 (PQ ESTE É DIFERENTE DE 5933,6933,7933)
Por favor Acessar ou Registrar para participar da conversa.
- JamesWesTRP
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 248
- Obrigados Recebidos: 1
11 anos 4 meses atrás - 11 anos 4 meses atrás #15613
por JamesWesTRP
Respondido por JamesWesTRP no tópico Procurar no aCols
Bom dia!
Se a função te mostrar o aCols (debugando é uma boa pedida pra ver se o acols está na memória, para isso inclua a aba "watchs" e adicione o acols lá - Visualizar > Janelas de Debug > Watchs)
Se entendi, você precisa manipular o pedido de vendas no momento da edição. Se for isso, o aCols estará na memória.
Caso ele esteja, você poderá proceder da seguinte forma:
a) Localizar as posições dos campos que você deseja alterar no aHeader (você irá usar depois)
ex:
Local nPosTes := AScan(aHeader, { |x| Alltrim(x[2]) = 'C6_TES'})
Aqui, localizei qual a coluna que é a tes no aHeader. Suponhamos, que eu fosse alterá-la.
b) Percorrendo o aCols e manipulando os dados
For nX := 1 To Len(aCols)
// suas tratativas irão aqui
aCols[nX][nPosTes] := "501" // alterei a Tes na linha nX (sendo percorrida no laço) na coluna correspontende a tes do aHeader (nPosTes)
next nX
Ai por exemplo, sua comparação ficaria:
For nX := 1 To Len(aCols)
// suas tratativas irão aqui
if aCols[nX][nPosCF] = "5933" // comparando C6_CF na linha nX (sendo percorrida no laço)a coluna correspontende a tes do aHeader (nPosCF) que vc irá recuperar la em cima, assim como o exemplo da tes
suas programacoes irão aqui
endif
next nX
LEMBRETE IMPORTANTE: toda vez que você manipular o aCols, você tem que dar um "Refresh" nele para que os dados sejam mostrados na tela.
oGetDad:OBrowse:Refresh()
Este comando irá fazer o refresh do Objeto (no caso o aCols) trazendo as modificações.
Se tiver mais dúvidas, posta pra gente!
Abraços!
Se a função te mostrar o aCols (debugando é uma boa pedida pra ver se o acols está na memória, para isso inclua a aba "watchs" e adicione o acols lá - Visualizar > Janelas de Debug > Watchs)
Se entendi, você precisa manipular o pedido de vendas no momento da edição. Se for isso, o aCols estará na memória.
Caso ele esteja, você poderá proceder da seguinte forma:
a) Localizar as posições dos campos que você deseja alterar no aHeader (você irá usar depois)
ex:
Local nPosTes := AScan(aHeader, { |x| Alltrim(x[2]) = 'C6_TES'})
Aqui, localizei qual a coluna que é a tes no aHeader. Suponhamos, que eu fosse alterá-la.
b) Percorrendo o aCols e manipulando os dados
For nX := 1 To Len(aCols)
// suas tratativas irão aqui
aCols[nX][nPosTes] := "501" // alterei a Tes na linha nX (sendo percorrida no laço) na coluna correspontende a tes do aHeader (nPosTes)
next nX
Ai por exemplo, sua comparação ficaria:
For nX := 1 To Len(aCols)
// suas tratativas irão aqui
if aCols[nX][nPosCF] = "5933" // comparando C6_CF na linha nX (sendo percorrida no laço)a coluna correspontende a tes do aHeader (nPosCF) que vc irá recuperar la em cima, assim como o exemplo da tes
suas programacoes irão aqui
endif
next nX
LEMBRETE IMPORTANTE: toda vez que você manipular o aCols, você tem que dar um "Refresh" nele para que os dados sejam mostrados na tela.
oGetDad:OBrowse:Refresh()
Este comando irá fazer o refresh do Objeto (no caso o aCols) trazendo as modificações.
Se tiver mais dúvidas, posta pra gente!
Abraços!
Ultima edição: 11 anos 4 meses atrás por JamesWesTRP.
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.114 segundos