Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Cria uma tela de processamento, separada por janelas onde visualiza-se os Perguntes e o log de processamento, além dos parâmetros (SX6) e tabelas (SX5) da rotina (se houver). Ao confirmar o processamento, pode-se optar em exibir a régua de processamento da rotina. 

Informações

A partir da lib 20240520 quando implementados os controles da régua 1 (SetRegua1 e IncRegua1) e executada a rotina via scheduller scheduler por meio do "Agendamento" ou "Processamento em Segundo Plano", o usuário será notificado via EventViewer sobre o progresso do processamento (25%, 50%, 75% e Processamento ConcluidoConcluído).

Para maiores informações consulte EventViewer - Eventos de Progresso

...

tNewProcess(): New ( < cFunction>, [ cTitle], < bProcess>, [ cDescription], [ cPerg], [ aInfoCustom], [ lPanelAux], [ nSizePanelAux], [ cDescriAux], [ lViewExecute], [ lOneMeter], [lSchedAuto] ) --> Nil



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
cFunctionCaracterNome da função que está chamando o objeto.X
cTitleCaracterTítulo da árvore de opções.

bProcessBloco de códigoBloco de execução que será executado ao confirmar a tela.X
cDescriptionCaracterDescrição da rotina

cPergCaracterNome do Pergunte (SX1) a ser utilizado na rotina.

aInfoCustomArray of RecordInformações adicionais carregada na árvore de opções. Estrutura:[1] - Nome da opção[2] - Bloco de execução[3] - Nome do bitmap[4] - Informações do painel auxiliar.

lPanelAuxLógicoSe .T. cria uma novo painel auxiliar ao executar a rotina.

nSizePanelAuxNuméricoTamanho do painel auxiliar, utilizado quando lPanelAux = .T.

cDescriAuxCaracterDescrição a ser exibida no painel auxiliar.

lViewExecuteLógicoSe .T. exibe o painel de execução. Se falso, apenas executa a função sem exibir a régua de processamento.

lOneMeterLógico

Se .T. cria apenas uma

regua

régua de processamento.



lSchedAuto

Lógico

Se .T. habilita o botão de processamento em segundo plano (execução ocorre pelo

Scheduller

Scheduler)

Disponivel a partir da lib 20240520





IncRegua1

Altera mensagem exibida da primeira régua de processamento.

...

Informações
titleImportante

A quantidade de chamadas do metodo método IncRegua1 deve coincidir exatamente com o valor definido no metodo método SetRegua1.  


Sintaxe

tNewProcess(): IncRegua1 ( [ cMsg] ) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
cMsgCaracterMensagem de processamento da régua.


IncRegua2

Altera mensagem exibida da segunda régua de processamento.

...

tNewProcess(): IncRegua2 ( [ cMsg] ) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
cMsgArray of RecordMensagem de processamento da régua.


SaveLog

Grava log de processamento no SXU.
Sintaxe

tNewProcess(): SaveLog ( [ cText] ) -->



Parâmetros


NomeTipoDescriçãoObrigatórioReferência
cTextCaracterTexto para gravação do log



Exemplo:

oProcess:SaveLog("Gravacao de log")

...

tNewProcess(): SetRegua1 ( [ nSet] ) →


Parâmetros

NomeTipoDescriçãoObrigatórioReferência
nSetNuméricoTamanho do processamento da
regua
régua


Exemplos

oProcess:SetRegua1(1)

...

tNewProcess(): SetRegua2 ( [ nSet] ) -->
Parâmetros


NomeTipoDescriçãoObrigatórioReferência
nSetNuméricoTamanho do processamento da
regua
régua.



Exemplos

oProcess:SetRegua2(1)

...

A partir da lib 20240520 foi disponibilizada a opção de Processamento em Segundo Plano que possibilita o processamento da rotina em segundo plano pelo SchedullerScheduler.

Diferente da opção "Agendar" que necessita toda a parametrização de agendamento do Scheduller Scheduler pelo usuário, a opção "Processamento em Segundo Plano" emite uma tarefa considerando os seguintes pontos:

  • Recorrência: UnicaÚnica
  • Usuário: Usuário logado no momento
  • Empresa/Filial: Empresa/Filial logada no momento
  • Data/hora execução: Data e hora atual
  • Módulo: Módulo logado
  • Rotina: A rotina que implementou o TnewProcess (conforme retorno da função funName())

...

Informações
titleImportante
  • Em versões de LIB anteriores a 20240520 o desenvolvedor deve fazer todo o tratamento para execução no schedullerscheduler, inclusive realizando o desvio para não instancia a classe TNewProcess;
  • Já a partir da lib 20240520 o objeto pode ser instanciado normalmente e inclusive executará automaticamente o codigo código de bloco do parametro parâmetro bProcess, devendo o desenvolvedor tratar apenas questões especificas da rotina que façam uso de interface gráfica;
  • Tendo implementado corretamente os controles de progresso por meio dos metodos métodos SetRegua1 e IncRegua1, serão gerados automaticamente Eventos de Progresso no EventViewer para o usuário que solicitou o processamento (25%, 50%, 75% e Processamento ConcluidoConcluído);
    • Para geração dos eventos, necessário estar com dicionário da Lib atualizado por meio da execução do FwRebuildIndex;
    • Para maiores informações sobre Eventos de Progresso, consultar seção Eventos de Progresso do EventViewer.


TNewProcess simples

TNewProcess customizado

...