Páginas filhas
  • Definição de Static Function SchedDef para o 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.

...

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

aReturn[6] - Nome do relatório (parâmetro 1 do método new da classe TReport)

  • Utilizado a partir da lib 20241007


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.
  • A partir da lib 20241007 será possivel selecionar o layout do relatório TReport no agendamento.
    • Necessário ser passado o parâmetro 6 no retorno da função scheddef.
    • Esse parametro deve ter o nome do relatório (parâmetro 1 do método new da classe TReport)
    • Caso não seja passado será feita uma tentativa de encontrar layout pelo nome da função do agendamento
    • Por questão de segurança, apenas layouts sem usuário e senha definida serão considerados no agendamento.
    • Caso o layout tenha sofrido alguma alteração nesse sentido (senha ou usuário) entre a inclusão do agendamento e a execução, será utilizado o layout padrão.

Exemplo de definição da SchedDef:

...

 

User function TSTSCHD()

If IsBlind() 

Bloco de código
languagec#
titleExemplo de fonte com scheddef
//-------------------------------------------------------------------
/*/{Protheus.doc} TSTSCHD
    Função TSTSCHD
@author Totvs
@since 12/08/2024
//-----------------------------------------------------------------*/
User function TSTSCHD()
    If IsBlind()
        BatchProcess("Teste","Teste",,{ || TSTExec() })

...

EndIf

Return

Static Function TSTExec()


    EndIf
Return

//-------------------------------------------------------------------
/*/{Protheus.doc} TSTExec
    Função TSTExec
@author Caio Lima
@since 12/08/2024
//-----------------------------------------------------------------*/
Static Function TSTExec()
    conout("MV_PAR01 " +

...

 MV_PAR01)

...


    conout("MV_PAR02 " +

...

 MV_PAR02)

...


    conout("MV_PAR03 " +

...

 MV_PAR03)

...

Return        

Static Function Scheddef()

Local aParam

...


Return

//-------------------------------------------------------------------
/*/{Protheus.doc} Scheddef
    Função para definição de parametros na tela de schedule
@author Totvs
@since 12/08/2024
//-----------------------------------------------------------------*/
Static Function Scheddef()
    Local aParam as array
    Local aOrd as array

    aParam := {}
    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"}    

...



    Aadd(aParam, "R"            ) // 01 - Tipo R para relatorio P para processo
    Aadd(aParam, "ACA070"       ) // 02 - Pergunte do relatorio, caso nao use passar ParamDef
    Aadd(aParam, "SA1"          ) // 03 - Alias
    Aadd(aParam, aOrd           ) // 04 - Array de ordens
    Aadd(aParam, "Titulo teste" ) // 05 - Titulo
    Aadd(aParam, "report01"     ) // 06 - Nome do relatório (parametro 1 do metodo new da classe TReport)

Return aParam