Histórico da Página
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: |
|
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.]
- Exemplo de Logs:
AND SL1.L1_PDV <> '001' ]