Árvore de páginas

LJ7109 - Ponto de Entrada executado antes da abertura do sistema de Varejo.

Descrição:

Disponibilizado Ponto de Entrada para atuar no momento da entrada do sistema de varejo.

Eventos:

O Ponto de Entrada é executado assim que o sistema começa a inicializar o modulo, não é passado nenhuma variável de parâmetro ou é esperado algum retorno para tomada de ação, ou seja a ação realizada no ponto de entrada não vai modificar o procedimento do sistema ao termino da execução do ponto de entrada.

Programa Fonte:LOJXFUNB.PRW
Parâmetros:Não é passado nenhum parâmetro para esse Ponto de Entrada, como o modulo esta realizando ainda a inicialização o sistema não possui informação para ser adicionada a esse ponto de entrada.
Retorno:

Não é esperado retorno para esse Ponto de Entrada, é realizado a chamada desse Ponto de Entrada e logo em seguida o sistema continua o processo de inicialização do modulo.

Exemplo: 

Vamos Realizar uma validação de data e inibir a entrada no sistema caso essa data do novo movimento seja inferior a última data de movimento, assim o usuário não realizará lançamentos com data retroativa.

#include 'Protheus.ch'

//--------------------------------------------------------------
/*/{Protheus.doc} LJ7109
Descrição: Ponto de Entrada LJ7109 realiza a validação 

da data de movimento dDataBase com a data do ultimo 

movimento gravado na tabela de orçamentos do loja.
@author - Vendas Varejo
@since 11/2017
/*/
//--------------------------------------------------------------

User Function LJ7109()

Local aArea := GetArea("SL1")
Local dDtMov := StoD(" / / ")
Local nRecSL1 := 0 // Ultimo Recno do SL1
Local cMensagem := ""

DbSelectArea("SL1")
DbSetOrder(1) //L1_FILIAL+L1_NUM

nRecSL1 := LastRec() // pego o ultimo Recno inserido

If nRecSL1 > 0
         DbGoTo(nRecSL1) // Posiciona no ultimo registro
         dDtMov := SL1->L1_EMISSAO
         cMensagem := "A data do ultimo movimento ("+ DtoC(dDtMov)+ ") é maior que a data do dia("+ DtoC(dDataBase)+ ")." + Chr(13)+ chr(10)
          If dDtMov > dDataBase
                    MsgStop(cMensagem)
                    Final()  // Aborta o sistema
          EndIf
EndIf

RestArea(aArea)


Return