× Linguagem de Programação ADVPL

Perguntas Erro SA1 e SE1

Mais
11 anos 6 meses atrás #13622 por Vinicius_Morais
Sou novo no ADVPL e no meu código não está funcionando no seguinte trecho que coloquei abaixo.
O problema está no campo A1_ZZDUPLI do SA1, dá um erro de variavel nao existe para o E1_NUM, ou seja, não consigo usar o SA1 e o SE1 juntos.

dbSelectArea("SE1")
dbSetOrder(1)
dbSeek(xfilial("SE1")+mv_par03+mv_par01)

If Found()
Set Print On
Set Device to Print

dbSelectArea("SA1")

While E1_NUM >= mv_par01 .and. E1_NUM <= mv_par02 .And. E1_PREFIXO == mv_par03 .and. A1_ZZDUPLI == "S" .AND. !Eof()

If SE1->E1_TIPO == "NCC"
dbSelectArea("SE1")
Dbskip()
Loop
EndIf...

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13624 por kanaamlrr
Respondido por kanaamlrr no tópico Erro SA1 e SE1
Vinicius, como você está setando outro alias, você deve fazer uma referência para o campo que não é o alias que está em uso atualmente.

No caso, ficaria assim:

While SE1->E1_NUM >= mv_par01 .and. SE1->E1_NUM <= mv_par02 .And. SE1->E1_PREFIXO == mv_par03 .and. A1_ZZDUPLI == "S" .AND. !Eof()


da mesma forma que você referenciou logo abaixo em:

If SE1->E1_TIPO == "NCC"


porém, não recomento que use essa estrutura:

If SE1->E1_TIPO == "NCC"
dbSelectArea("SE1")
Dbskip()
Loop
EndIf

e sim essa:

If SE1->E1_TIPO == "NCC"
SE1->(Dbskip())
Loop
EndIf

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13625 por Vinicius_Morais
Respondido por Vinicius_Morais no tópico Erro SA1 e SE1
Obrigado pelo retorno Kanaam vou testar e já retorno, também farei a alteração que você recomendou..vlw

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13626 por Vinicius_Morais
Respondido por Vinicius_Morais no tópico Erro SA1 e SE1
Funcionou conforme você me passou, obrigado Kanaam!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.086 segundos
Joomla templates by a4joomla