Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

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.ParamIxb[1] - Numérico - Opção de Filtro em execução: 1 - Redução Z x Orçamentos (SFI x SL1), 2 - Redução Z x Vendas (SFI x SD2), 3 - Vendas x Orçamentos (SD2 x SL1)

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: 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:

#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

Return lRet

Importante:

User Function LJ782WHERE()

Local cWhere := ""

Local nOpc := ParamIxb[1] //1 - Redução Z x Orçamentos (SFI x SL1), 2 - Redução Z x Vendas (SFI x SD2), 3 - Vendas x Orçamentos (SD2 x SL1)

//Customiza query do primeiro filtro: Redução Z x Orçamentos (SFI x SL1)

If nOpc == 1 

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

EndIf

Return cWhere


Importante:

  • A condição padrão do WHERE será mantida, assim a condição do PE será adicionado a condição padrãoAntes 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 do PE for diferente do tipo booleano de string (logico) e for verdadeiro (.T.).Caracter) a condição customizada será ignorada.
  • 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 165FiltraDados Line 544
      [Acumulados DiariosMonitor de vendas] Antes da Chamada do Ponto de Entrada:LJVLD320 LJ782WHERE -> Caracter ( 925) [01/053695 AND SL1.L1_PDV <> '001' ]
      18:29:27 [6128] Function LJ320Processa Line 167FiltraDados Line 546
      [Regra Monitor de Descontovendas] Apos  Apos a Chamada do Ponto de Entrada:LJVLD320 LJ782WHERE -> Logico Caracter ( 125) [.T.]

 
    •  AND SL1.L1_PDV <> '001' ]