| Exemplo: | #INCLUDE"PROTHEUS.CH" //------------------------------------------------------------------------------ /*/{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 LJ7115//------------------------------------------------------------------------------ UserFunctionLJ7015() Local cTESRet cFormaRet:="" // Forma de Pagamento retornada pelo P.E. LocalnPos :=0 // Posição da Forma de Pagamento no array aArray LocalaArray := {} LocallRecebe :=PARAMIXB[1] // Recebimento de Títulos LocalcCondicao:=PARAMIXB[2] // Forma de Pagamento (SX5->X5_CHAVE)
/* - Exemplos de Formas de Pagamentos: - BOL BOLETO BANCARIO - CH CHEQUE - CO CONVENIO // 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,{|x| Alltrim(Upper(x[1])) == "LR_CLIENT"}) // 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) Return(cTESRet - CR CREDITO - DB DEPOSITO BANCARIO - VA VALES - VP VALE PRESENTE */ // 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(Upper(x)) ==Alltrim(cCondicao)})
IfnPos>0 MsgAlert("Forma de Pagamento "+cCondicao+" bloqueada pelo P.E. LJ7015 !!!") cFormaRet:="XX" // Informar um retorno inválido EndIf
EndIf
Return(cFormaRet) |
|---|