Árvore de páginas

Versões comparadas

Chave

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

Ponto de Entrada

Descrição:

Permite incluir condição no where da select a ser executada para o Monitor Vendas PDVs x Reducao Z

Localização:

Controle de Lojas

Eventos:

Este Ponto de Entrada é acionado no momento em que são verificadas as vendas para calcular os valores a serem incluídos no acumulados diários.executadas as query para montar o monitor de vendas PDV x Redução Z.

Importante: É de extrema importância que o ponto de entrada retorne a condição junto com as palavras "AND" ou "OR" para juntar com as demais condições padrões no 'Where' da query a ser executada.Obs.: No momento da execução do ponto de entrada a tabela SL1 ja esta posicionada no registro a ser para inclusão no valor do acumulado.

Programa Fonte:

LOJA320LOJA782.PRW

Função:

LJ320ProcessaFiltraDados()

Parâmetros

Não possui parâmetros, visto que a tabela SL1 já encontra-se posicionada para verificação das informações necessárias.

Retorno:

NomeTipoDescriçãoObrigatóriolExp
cExpCaracterLógico (booleano)

Retorno Verdadeiro (.T.): Quando se desejar que o registro da tabela (SL1) não seja considerado no calculo do acumulado diário, ou seja, é solicitado que pule o registro pois devido ao critério customizado é irregular para o calculo.

Retorno Falso (.F.): Quando se deseja que o registro da tabela (SL1) seja considerado para o calculo do acumulado diário, ou seja, o registro não apresenta nenhuma irregularidade perante a validação customizada.

S

 

Exemplo:

#Include 'Protheus.ch'

//Exemplo fictício do uso do ponto de entrada, no exemplo a seguir, as venda do PDV de numero '001' não serão consideradas nos acumulados diários: 

User Function LJVLD320()

//.T. -> Ignora o registro
//.F. -> Contabiliza o registro (venda)
Local lRet := .F.

//o SL1 ja esta posicionado
If Upper(SubStr(AllTrim(SL1->L1_PDV),1,1)) == "001"
    lRet := .T. //pula o registro
EndIf

: O retorno do ponto de entrada dever ser obrigatoriamente um string (caracter), e caso exista alguma condição a ser incluida na condição padrão do WHERE da query, este retorno deve possuir as palavras "AND" ou "OR" no inicio da condição do WHERE retorando pelo ponto de entrada. Caso nao exista nenhum condição de verificação customizada, basta retornar uma string (carater) vazio.

S

 

Exemplo:

User Function LJ782WHERE()

Local cWhere := " AND SL1.L1_PDV <> '001' "

 

Return cWhereReturn lRet


Importante:

  • Antes da chamada do PE são executadas verificações de critérios padrões para desconsiderar as vendas irregulares, exemplo, registros de vendas do tipo entrega.
  • É realizado consistência do retorno do PE, o registro só será desconsiderado se o retorno for do tipo booleano (logico) e for verdadeiro (.T.).
  • Processo possui logs, para habilitar logs do varejo verifique: http://tdn.totvs.com.br/pages/viewpage.action?pageId=203764807
    • Exemplo de Logs: 

      18:29:27 [6128] Function LJ320Processa Line 165
      [Acumulados Diarios] Antes da Chamada do Ponto de Entrada:LJVLD320 -> Caracter ( 9) [01/053695]
      18:29:27 [6128] Function LJ320Processa Line 167
      [Regra de Desconto] Apos a Chamada do Ponto de Entrada:LJVLD320 -> Logico ( 1) [.T.]

 

User Function LJ782WHERE()Local cWhere := "AND SL1.L1_PDV <> '001'"Return cWhere