Páginas filhas
  • Definição de Static Function SchedDef para o novo Schedule

Versões comparadas

Chave

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

...

SCHEDDEF()

No novo Schedule existe uma forma para a definição dos Perguntes para o botão Parâmetros, além do cadastro das funções no SXD.

Ao definir em sua rotina a static function SchedDef(), no cadastro da rotina no Agendamento do Schedule será verificado se existe esta static function e irá executá-la habilitando o botão Parâmetros com as informações do retorno da SchedDef(), deixando de verificar na assim as informações na SXD. O retorno da SchedDef deverá ser um array com o seguinte padrão:

 aReturnaReturn[1] - Tipo: "P" - para Processo, "R" -  para Relatórios

aReturn[2] - Nome do Pergunte  

aReturn[3] - Alias  (para Relatório)

aReturn[4] - Array de ordem  (para Relatório)

aReturn[5] - Título (para Relatório)

 

Observações:

  • Válido para Function e User Function, lembrando que uma vez definido a SchedDef, ao chamar a rotina o ambiente já está inicializado.
  • Uma vez definido a Static Function SchedDef(), a rotina deixa de ser uma execução como processo especial, ou seja, não se deve cadastrá-la no Agendamento passando parâmetros de linha. Ex: Funcao("A","B") ou U_Funcao("A","B").

...

  • O nome da função principal deve ter o mesmo nome do fonte. No exemplo abaixo, o nome do fonte seria TSTSCHD.prw.
  • Para maiores informações sobre o novo Schedule, acesse o Help do Protheus.

Exemplo de definição da SchedDef:

 

User function TSTSCHD()

Pergunte("ACA070", .F.)    

If IsBlind() 

BatchProcess("Teste","Teste",,{ || TSTExec() })

EndIf

Return

Static Function TSTExec()

conout("MV_PAR01 " +  MV_PAR01)

conout("MV_PAR02 " +  MV_PAR02)

conout("MV_PAR03 " +  MV_PAR03)

...

Return        

Static Function Scheddef()

Local aParam

Local aOrd     := {OemToAnsi(" Por Codigo         "),OemToAnsi(" Alfabetica         ")}

...

aParam := {

...

"P",;                      //Tipo R para relatorio P para

...

processo   

"ACA070",;// Pergunte do relatorio, caso nao use passar

...

ParamDef            

"SA1",;  //

...

Alias            

aOrd,;   //Array de

...

ordens   

"Teste SchedDef"}

...

    

Return aParam