Árvore de páginas

Versões comparadas

Chave

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

LJ7115LJ7015

Descrição:

Este ponto de entrada permite selecionar a TES conforme regra definida pelo Cliente. 
A chamada do ponto de entrada ocorre no momento em que o Código Produto é informadoas Formas de Pagamentos, que não devem permitir com a continuação da finalização da venda.

Programa Fonte:LOJA701ALOJA701B.PRW
Parâmetros:Sem parâmetros

lRecebe: Recebimento de Títulos;
cCondicao: Forma de Pagamento selecioda; 

Retorno:TES definida pela regra do Cliente"XX" - Informar um conteúdo retorno(cFormaRet) inválido
Exemplo:

#INCLUDE "PROTHEUS.CH"

User Function LJ7115()
Local cTESRet   := ""


//------------------------------------------------------------------------------
/*/{Protheus.doc} Lj7015
Bloquear selecionar e Condições de Pagamentos para não permitir finalizar venda 
@type      User Function
@author  Developer
@since   26/06/2024
@param     PARAMIXB[1],    Logic    
@param   PARAMIXB[1],      Character    
@version P12
@return  .T. ou .F.,     Logic
/*/
//------------------------------------------------------------------------------
User Function LJ7015()
Local cFormaRet    := ""            // Forma de Pagamento retornada pelo P.E.
Local nPos        := 0            // Posição da Forma de Pagamento no array aArray    
Local aArray     := {}
Local lRecebe    := PARAMIXB[1]     // Recebimento de Títulos 
Local cCondicao := PARAMIXB[2]    // Forma de Pagamento (SX5->X5_CHAVE) 

/*
- Exemplos de Formas de Pagamentos:
    - BOL       BOLETO BANCARIO                                        
    - CH        CHEQUE                                                
    - CO        CONVENIO                                              
    - CR        CREDITO                                                
    - DB        DEPOSITO BANCARIO                                      
    - VA        VALES                                                  
    - VP        VALE PRESENTE                                          
*/
//

Atribiu a TES que será retornada
Local nPosProd    := Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "LR_PRODUTO"})  // Posicao da codigo do produto
Local nPosClEntr:= Ascan(aPosCpo

aArray - Contém as Formas de Pagamentos inválidas para finalizar a venda
aArray := Aadd(aArray,{"BOL","CH","CO","FP","DC","CR","VA","VP"})

// lRecebe - Recebimennto de Títulos
If !lRecebe
    nPos := Ascan(aArray,{|x|

Alltrim

AllTrim(Upper(x

[1]

)) ==

"LR_CLIENT"

Alltrim(cCondicao)})

    If nPos > 0
       

// Cliente de entrega
Local nPosLjEntr:= Ascan(aPosCpo,{|x| Alltrim(Upper(x[1])) == "LR_CLILOJA"})        // Filial do cliente de entrega

Local cProduto  := aCols[n,nPosProd]
Local cCliente  := aCols[n,nPosClEntr]
Local cLojaCli  := aCols[n,nPosLjEntr]

Local cTipOper  := "01"

If Empty(cCliente)
    cCliente  := M->LQ_CLIENTE
    cLojaCli  := M->LQ_LOJA 
EndIf
// Executa a função MatesInt para buscar TES Inteligente;
// Chamada de função MaTesInt é opcional, sendo possível definir de outra forma, conforme regra do Cliente.
cTESRet := MaTesInt( 2, cTipOper, cCliente, cLojaCli, "C", cProduto, NIL)

MsgAlert("Forma de Pagamento "+ cCondicao + " bloqueada pelo P.E. LJ7015 !!!")
        cFormaRet := "XX"     // Informar um retorno inválido
    EndIf    

EndIf    

Return(cFormaRet)

Resultado:

Image Added

Return(cTESRet)