- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Acessar dados aCols num ponto de entrada
×
Linguagem de Programação ADVPL
Perguntas Acessar dados aCols num ponto de entrada
- saranery
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
11 anos 9 meses atrás #9975
por saranery
Acessar dados aCols num ponto de entrada foi criado por saranery
Olá pessoal!
Estou mexendo num ponto de entrada (MT100GRV) para validar alguns campos na tabela de itens de NF de entrada (SD1).Quando tento executar o fonte dá o erro de array out of bounds[0] of [117]. Coloquei uma msginfo para mostrar o conteudo da linha da SD1 que estou tentando editar e os campos que estou tentando buscar tem informação. Daí, fui no configurador para ver como está a configuração dos campos e vi que, os campos que estão marcados como 'Usado' eu consigo acessar, mas se não estiver marcado eu não consigo, dá o erro citado acima, mesmo que tenha informação no campo. Tem como eu driblar esta limitação ou vou ter de mexer em todos os campos no configurador?E se eu mexer nos campos, corre o risco de em uma atualização o status desse campo mudar? Ou será que eu to viajando e não tem nada haver o que eu disse??
Estou tentando acessar o aCols assim:
(...)
for n := 1 to len(aCols)
_cCod := aCols[n][GDFIELDPOS("D1_COD")] //esse campo eu consigo acessar
_vQtde := aCols[n][GDFIELDPOS("D1_QUANT")] //esse campo eu consigo acessar
_nValuni:= aCols[n][GDFIELDPOS("D1_VUNIT")] //esse campo eu consigo acessar
_nIPI := aCols[n][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[n][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[n][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
(...)
next
Heeeelp, please!!!
Sara Nery Novaes
Estou mexendo num ponto de entrada (MT100GRV) para validar alguns campos na tabela de itens de NF de entrada (SD1).Quando tento executar o fonte dá o erro de array out of bounds[0] of [117]. Coloquei uma msginfo para mostrar o conteudo da linha da SD1 que estou tentando editar e os campos que estou tentando buscar tem informação. Daí, fui no configurador para ver como está a configuração dos campos e vi que, os campos que estão marcados como 'Usado' eu consigo acessar, mas se não estiver marcado eu não consigo, dá o erro citado acima, mesmo que tenha informação no campo. Tem como eu driblar esta limitação ou vou ter de mexer em todos os campos no configurador?E se eu mexer nos campos, corre o risco de em uma atualização o status desse campo mudar? Ou será que eu to viajando e não tem nada haver o que eu disse??
Estou tentando acessar o aCols assim:
(...)
for n := 1 to len(aCols)
_cCod := aCols[n][GDFIELDPOS("D1_COD")] //esse campo eu consigo acessar
_vQtde := aCols[n][GDFIELDPOS("D1_QUANT")] //esse campo eu consigo acessar
_nValuni:= aCols[n][GDFIELDPOS("D1_VUNIT")] //esse campo eu consigo acessar
_nIPI := aCols[n][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[n][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[n][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
(...)
next
Heeeelp, please!!!
Sara Nery Novaes
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9977
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Acessar dados aCols num ponto de entrada
Muda o Nome da Variavel do For Next de n Para nITEM
for nITEM := 1 to len(aCols)
_cCod := aCols[nITEM][GDFIELDPOS("D1_COD")] //esse campo eu consigo acessar
_vQtde := aCols[nITEM][GDFIELDPOS("D1_QUANT")] //esse campo eu consigo acessar
_nValuni:= aCols[nITEM][GDFIELDPOS("D1_VUNIT")] //esse campo eu consigo acessar
_nIPI := aCols[nITEM][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
next
for nITEM := 1 to len(aCols)
_cCod := aCols[nITEM][GDFIELDPOS("D1_COD")] //esse campo eu consigo acessar
_vQtde := aCols[nITEM][GDFIELDPOS("D1_QUANT")] //esse campo eu consigo acessar
_nValuni:= aCols[nITEM][GDFIELDPOS("D1_VUNIT")] //esse campo eu consigo acessar
_nIPI := aCols[nITEM][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
next
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9979
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Acessar dados aCols num ponto de entrada
Outra coisa, no acols só irão constar os campos com marcação Browse igual a SIM
por isso este erro:
_nIPI := aCols[nITEM][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
por isso este erro:
_nIPI := aCols[nITEM][GDFIELDPOS("D1_VALIPI")] //esse dá erro!
_nPIS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP5"))] //esse dá erro!
_nCOFINS := aCols[nITEM][GDFIELDGET(GDFIELDPOS("D1_VALIMP6"))] //esse dá erro!
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- saranery
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10035
por saranery
Respondido por saranery no tópico Acessar dados aCols num ponto de entrada
Oi Luis, e no caso de campos que o configurador não deixa setar 'browser' igual a sim?
Tem campos que só consigo setar a opção 'obrigatorio', daí não consigo acessá-los pelo aCols.
Teria uma maneira de eu acessar as informações do cabeçalho da nota? Alguns dos campos que não consigo alterar no configurador são relativos a informações que também estão no cabeçalho (D1_TIPO,D1_FORNECE,D1_LOJA)...se conseguisse, já daria para tentar contornar o problema...
valeu pela ajuda!!
Tem campos que só consigo setar a opção 'obrigatorio', daí não consigo acessá-los pelo aCols.
Teria uma maneira de eu acessar as informações do cabeçalho da nota? Alguns dos campos que não consigo alterar no configurador são relativos a informações que também estão no cabeçalho (D1_TIPO,D1_FORNECE,D1_LOJA)...se conseguisse, já daria para tentar contornar o problema...
valeu pela ajuda!!
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #10038
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Acessar dados aCols num ponto de entrada
Sara vc precisa destas informações antes da gravação da nota ou após a gravação já resolveria pra vc ?, pois se após a gravação da nota então iremos utilizar outro ponto de entrada.
Me Avisa.
Me Avisa.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- saranery
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Acessar dados aCols num ponto de entrada
Tempo para a criação da página:0.136 segundos