Processa + ProcRegua + IncProcCrea la ventana de progreso, define el total de la barra e incrementa la ejecución dentro del procesamiento.
Guía AdvPLProcessa · ProcRegua · IncProc · RptStatus · SetRegua · IncReguaOrganice procesos largos con ventanas de seguimiento y barras de progresión.
Las barras de progreso ayudan al usuario a percibir que una rutina larga sigue en ejecución. En AdvPL, el flujo común con Processa usa un bloque de acción, ProcRegua para definir el total e IncProc para avanzar la barra. En otro modelo visual, RptStatus trabaja con SetRegua e IncRegua. Aunque los nombres son parecidos, los pares pertenecen a flujos diferentes; mezclarlos sin validar el contexto puede generar comportamiento inesperado.
Processa · ProcRegua · IncProc · RptStatus · SetRegua · IncReguaProcessa + ProcRegua + IncProcCrea la ventana de progreso, define el total de la barra e incrementa la ejecución dentro del procesamiento.
RptStatus + SetRegua + IncReguaMuestra una ventana de estado y controla la barra de progreso con funciones propias de ese contexto.
Contenido conceptual. Consulte la página específica de cada función para sintaxis y ejemplo.
#Include "TOTVS.ch"
User Function EjecutaProceso()
Local bAccion := {|lFin| U_ProcesaItems(@lFin)}
Local cTitulo := "Procesamiento"
Local cMsg := "Procesando items..."
Local lAborta := .T.
Processa(bAccion, cTitulo, cMsg, lAborta)
Return
User Function ProcesaItems(lFin)
Local nItem
Local nTotal := 100
ProcRegua(nTotal)
For nItem := 1 To nTotal
If lFin
Exit
EndIf
// Procese aquí el item.
IncProc()
Next nItem
ReturnLa ventana creada por Processa acompaña el lazo. ProcRegua define el total e IncProc avanza la barra por cada item procesado.
#Include "TOTVS.ch"
#Include "TopConn.ch"
User Function EjecutaRptStatus()
Local aArea := GetArea()
RptStatus({|| U_ReguaConsulta()}, "Espere...", "Ejecutando consulta...")
RestArea(aArea)
Return
User Function ReguaConsulta()
Local aArea := GetArea()
Local nTotal := 0
TCQuery "SELECT BM_GRUPO, BM_DESC FROM %table:SBM% SBM WHERE SBM.D_E_L_E_T_ = ' '" New Alias "QRY_AUX"
Count To nTotal
SetRegua(nTotal)
QRY_AUX->(DbGoTop())
While ! QRY_AUX->(Eof())
// Procesa el registro actual.
IncRegua()
QRY_AUX->(DbSkip())
EndDo
QRY_AUX->(DbCloseArea())
RestArea(aArea)
ReturnRptStatus abre una ventana de estado. SetRegua define el total e IncRegua incrementa la barra conforme se procesan los registros.
Desarrollado con Usina Docs · Alpha
© 2026 Usina.BR. Todos los derechos reservados. TOTVS, Protheus, Microsiga y sus respectivos logotipos son marcas de sus titulares. Guía AdvPL es independiente y utiliza citas limitadas, atribuidas y justificadas por fines educativos. Consulta los Términos de Uso. Términos de Uso
Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.