DO WHILE BUGANDO ....
Enviado: 23 Abr 2024 08:47
bom dia prezados ... sempre fiz essa rotina desta maneira e desde que migrei de xharbour para harbour 3.5, vendo tendo alguns probleminhas que não tinha na versão anterior ... um deles é essa rotina abaixo ..
o bizarro é que quando eu saldo para o proximo registo continua sendo o mesmo pedido e ele cai fora do while ...
sempre fiz assim :
e mudei para a forma a baixo pra tentar burlar o erro ... o exemplo acima nem entra na rotina .. e no exemplo abaixo ele entra porém ao invés de ficar na rotina e dar um loop porque o pedido é igual .. ele sai .. bem estranho !!
Abraço!
o bizarro é que quando eu saldo para o proximo registo continua sendo o mesmo pedido e ele cai fora do while ...
sempre fiz assim :
Código: Selecionar todos
do while RECEBER->cc_codped = TMPFAT->cc_pedfat
......
skip
enddoCódigo: Selecionar todos
select RECEBER
IF RECEBER->(ordsetfocus("RECCX_03"),DBSEEK(TMPFAT->cc_pedfat))
do while .T. .and. !EOF()
BLOQ_REG()
replace cc_seqfact with IIF(RECEBER->cc_seqfact == space(10),c_seqfact,old_seqfact),;
cc_factura with c_notasped,;
cc_histor with "Factura n§ " + c_notasped
DBCOMMIT()
unlock
DBSKIP()
if RECEBER->cc_codped = TMPFAT->cc_pedfat
loop
else
exit
endif
enddo
ENDIF
select TMPFAT
DBSKIP()
c_pedfat := cc_pedfat
ENDDO
ENDIF