Descrição

O Ponto de Entrada é executado no momento da importação do orçamento no TOTVS PDV. Sua função é receber as informações do orçamento que serão importadas, e retornar se o orçamento pode ou não ser importado.

Também pode ser utilizado para realizar a gravação de campos importados da retaguarda que não são gravados pelo padrão. 

Retorno

Logico : .T. orçamento pode ser importado e .F. orçamento não pode ser importado, conforme exemplo 1.

Array : Também pode ser retornado um array conforme informado no exemplo 2. Nesse Ponto de Entrada não é possível alterar campos da tabela SL4.

Caracter : "1" O orçamento pode ser importado; "2" Não importa o orçamento e caso tenha iniciado uma venda de auto serviço, cancela todo o processo, conforme exemplo 3. 

Caracter : "1" O orçamento pode ser importado; "3" Não importa o orçamento e caso tenha iniciado uma venda de auto serviço, cancela somente o orçamento e mantem o auto serviço informado, conforme exemplo 4. 

Exemplos

Retorno logico, em que: 

  • .T. Orçamento pode ser importado  
  • .F. Orçamento não pode ser importado.


Exemplo 1

#INCLUDE "PROTHEUS.CH"

User Function STIMPSALE()

Local lRet      := .T. // Orçamento pode ser importado 
Local aOrcSL1   := PARAMIXB[1] // Dados do SL1 importado
Local aOrcSL2   := PARAMIXB[2] // Dados do SL2 importado
Local aOrcSL4   := PARAMIXB[3] // Dados do SL4 importado
Local cCodProd  := Iif(Len(aOrcSL2) > 0,aOrcSL2[1][2][2], "") // Filtra o primeiro item do orçamento 

If AllTrim(cCodProd) == "301"
    lRet := .F. 
EndIf

Return lRet


Retorno em array, o retorno deve ser:

  • A primeira posição deve ser Logica .T.
  • Segunda posição deve ser um caracter com os campos da SL1
  • Terceira posição deve ser um caracter com os campos da SL2.


Exemplo 2 :

#INCLUDE "PROTHEUS.CH"

User Function STIMPSALE()

Local aCposL1 := {}
Local aCposL2 := {}
Local aRet := {}
Local aOrcSL1 := PARAMIXB[1] // Dados do SL1 importado
Local aOrcSL2 := PARAMIXB[2] // Dados do SL2 importado
Local aOrcSL4 := PARAMIXB[3] // Dados do SL4 importado

aAdd(aRet,.T.) // INDICA QUE O ORCAMENTO PODE SER IMPORTADO

// Adiciona um campo que deve ser incluido na gravacao do PDV no SL1
aAdd(aCposL1,{"L1_TESTE",1})
aAdd(aRet,aCposL1)

// Adicionado um capom que devera ser incluido no SL2 do PDV
aAdd(aCposL2,{"L2_TESTE",1})
aAdd(aRet,aCposL2)

Return aRet


Retorno em caracter, quando retornado:

  • "1" O orçamento pode ser importado.
  • "2" A importação de orçamento será cancelada e caso tenha iniciado a venda ela também será cancelada.   
  • "3" A importação de orçamento será cancelada e caso tenha iniciado a venda de auto serviço ela será mantida, cancelando somente o orçamento. 


Exemplo 3 :

#INCLUDE "PROTHEUS.CH"

User Function STIMPSALE()

Local cRet      := "1" // Orçamento pode ser importado 
Local aOrcSL1   := PARAMIXB[1] // Dados do SL1 importado
Local aOrcSL2   := PARAMIXB[2] // Dados do SL2 importado
Local aOrcSL4   := PARAMIXB[3] // Dados do SL4 importado
Local cCodProd  := Iif(Len(aOrcSL2) > 0,aOrcSL2[1][2][2], "") // Filtra o primeiro item do orçamento 

If AllTrim(cCodProd) == "301"
    MsgInfo("Orçamento não pode ser importado, será cancelado todo o processo")
    cRet := "2" // Seguira o comportamento padrão enterior, onde ao cancelar um orçamento será cancelado a venda inciada. 
EndIf

Return cRet


Retorno em caracter, quando retornado:

  • "1" O orçamento pode ser importado.
  • "3" A importação de orçamento será cancelada e caso tenha iniciado a venda de auto serviço ela será mantida, cancelando somente o orçamento. 


Exemplo 4 :

#INCLUDE "PROTHEUS.CH"

User Function STIMPSALE()

Local cRet      := "1" // Orçamento pode ser importado 
Local aOrcSL1   := PARAMIXB[1] // Dados do SL1 importado
Local aOrcSL2   := PARAMIXB[2] // Dados do SL2 importado
Local aOrcSL4   := PARAMIXB[3] // Dados do SL4 importado
Local cCodProd  := Iif(Len(aOrcSL2) > 0,aOrcSL2[1][2][2], "") // Filtra o primeiro item do orçamento 

If AllTrim(cCodProd) == "300"
    MsgInfo("Orçamento não pode ser importado, será cancelado somente o orçamento")
    cRet := "3" // Será cancelado somente o orçamento o auto serviço permanecerá. 
EndIf

Return cRet

Versões

Microsiga_Protheus11

Parâmetros

aSl1, aSl2 e aSl4 ambos arrays com os conteúdos dos campos gravados na base de dados.

Programa Fonte

STBImpSale.prw


IMPORTANTE: Ao utilizar o Ponto de Entrada acima verificar as Documentações abaixo para configuração do Ambiente: