Á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 customizar o valor do desconto no Item

Localização:

Totvs PDV

Eventos:

Este Ponto de Entrada é acionado no momento do registro do item, permite customizar o valor do desconto no item.

Obs.: o PE não anula a execução da regra cadastrada no padrão, ou seja, acumula o desconto se for o caso.

Programa Fonte:

STBRULESDISCOUNTITEM.PRW

Função:

STBItemRlDi()

Parâmetros
NomeTipoModoDescrição
cExpC1 CaractereSomente LeituraCódigo do item que será registrado
nExpN1 NuméricoSomente LeituraValor total do item
nExpN2 NuméricoSomente LeituraQuantidade do item

Retorno:

NomeTipoDescriçãoObrigatório
aExpArray

Array contendo duas posições:

aExp[1] =.T. ou .F.

aExp[2] = Novo valor do item

aExp[

2

3] = Valor do desconto

S

 

Exemplo:

#Include 'Protheus.ch'

//Exemplo fictício do uso do ponto de entrada, no exemplo sera aplicado o desconto de 5,00 para produtos com codigo = 1 e quantidade maior ou igual a 10
User function STItRlDisc()

//Recebe valores: Codigo do Item, Valor e desconto
Local cItemCode := PARAMIXB[1]
Local nValueItem := PARAMIXB[2]
Local nAmount := PARAMIXB[3]
Local aRet := {}

//Valida desconto para item com Codigo 1 e quantidade maior ou igual a 2
If AllTrim(cItemCode) == "1" .AND. nAmount >= 10

  Aadd(aRet,.T.) //Define se aplica o desconto
  Aadd(aRet,nValueItem-5) //Define o novo valor do item
  Aadd(aRet,5) //Para validacoes de consistencias, informa qual o valor do desconto aplicado
EndIf

Return aRet

Exemplos de cenários:

1- Exemplo de valor válido:
 Total do Item antes do Ponto de Entrada : 100,00
 Novo valor total do Item (após o Ponto de Entrada) : 95,00
 Novo valor de desconto (após Ponto de Entrada) : 5,00
 Cenário acima o valor confere.

2 - Exemplo de valor inválido:
Total do Item antes do Ponto de Entrada : 100,00
Novo valor total do Item (após o Ponto de Entrada) : 95,00
Novo valor de desconto (após Ponto de Entrada) : 2,00  //valor do desconto deveria ser 5,00
Cenário acima o valor não confere, existe uma diferença de 3,00 no novo valor de desconto.

Importante:

  • PE não anula a execução da regra cadastrada no padrão, ou seja, acumula o desconto.
  • É realizado consistência do retorno do PE, desconto só será aplicado se o total do item antes da execução do ponto de entrada for igual a soma do novo valor com o desconto aplicado
  • 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 STBITEMRLDI Line 111
      [Regra de Desconto] Antes da Chamada do Ponto de Entrada:STItRlDisc -> ARRAY ( 3) [...]
      [1] -> C ( 15) [1 ]
      [2] -> N ( 15) [ 100.0000]
      [3] -> N ( 15) [ 10.0000]
      18:29:27 [6128] Function STBITEMRLDI Line 113
      [Regra de Desconto] Apos a Chamada do Ponto de Entrada:LJ7083 -> ARRAY ( 2) [...]
      [1] -> N ( 15) [ 95.0000]
      [2] -> N ( 15) [ 2.0000]
      18:29:27 [6128] Function STBITEMRLDI Line 123