Tempo aproximado para leitura: 00:02:00 min
Ocorrência
O cancelamento do processamento de rotinas executadas através da função Processa() não está funcionando.
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17
Causa
Esse incidente ocorre, pois o tratamento de cancelar a execução deve ser realizado pelo usuário:
Solução
Para solucionar essa ocorrência, realize os seguintes passos:
Na chamada da processa deve ser declarada a variável Private lAbortPrint:
User Function TestPrc(aCampos, oLbx)
Private lAbortPrint:=.F.
Processa( {|| U_TestSX3(aCampos) }, "Aguarde...", "Carregando definição dos campos...",.T.)
E no laço de processamento deve-se utilizar a variável para abortar o processo:
WHILE !Eof() .AND. !lAbortPrint
IncProc()
sleep(300)
PROCESSMESSAGES()
Aadd(aCampos, {X3_ARQUIVO, X3_ORDEM, X3_CAMPO})
DbSkip()
END
Saiba mais
Processa - Diálogo na execução de processo monitorado
0 Comentários