Árvore de páginas

 Ponto de Entrada: STValidRec - Habilita/Desabilita edição dos valores do recebimento de títulos - TOTVS PDV

Descrição:

Este Ponto de Entrada é executado após acionamento da opção Editar Valores, presente na tela de seleção de recebimentos de títulos do TOTVS PDV. Possui como parâmetros de entrada array com todas as informações do recebimento de título, selecionado para edição de seus valores.

Adição dos parâmetros PARAMIXB[2] até PARAMIXB[4] e desconto global foi ajustado a partir da solicitação do chamado TTXRCB

Programa Fonte:

StwReceiptTitle

Observação: É necessário atualização dos fontes pertencentes a rotina de recebimento de títulos do TOTVS PDV.

Função:

A função recebe os parâmetros:

PARAMIXB[1], que no fonte é passado pela variável aVldTitulo - Array com as informações do recebimento de título selecionado. 

PARAMIXB[2], que no fonte é passado pela variável cTpOp - Tipo de Operação do Recebimento , que pode ser R (Recebimento) ou E(Estorno).

 PARAMIXB[3], que no fonte é passado pela variável aLista - Array com todos os títulos do cliente selecionado.

PARAMIXB[4], que no fonte é passado pela variável aSelecionado - Array com todos os títulos selecionados na tela.

PARAMIXB[1] [1] Campo reservado 
PARAMIXB[1] [2]Prefixo do título (E1_PREFIXO) 
PARAMIXB[1] [3] Número do título (E1_NUM) 
PARAMIXB[1] [4]Parcela do título (E1_PARCELA) 
PARAMIXB[1] [5]Valor real do título (E1_VENCREA) 
PARAMIXB[1] [6]Valor do título (E1_VALOR) 
PARAMIXB[1] [7] Valor de multa do título (E1_MULTA) 
PARAMIXB[1] [8]Valor de juros do título (E1_JUROS) 
PARAMIXB[1] [9]Valor de desconto do título
PARAMIXB[1] [10]Valor do título - saldo do título (E1_VALOR-E1_SALDO) 
PARAMIXB[1] [11]Tipo do título (E1_TIPO) 
PARAMIXB[1] [12]Número do contrato de financiamento (E1_NUMCRD) 
PARAMIXB[1] [13]Cliente do título (E1_CLIENTE) 
PARAMIXB[1] [14]Loja do título (E1_LOJA) 
PARAMIXB[1] [15]Filial do título (E1_FILIAL) 
PARAMIXB[1] [16]Número do RECNO do título (R_E_C_N_O_) 
PARAMIXB[1] [17]Valor de acréscimo do título (E1_ACRESC) 
PARAMIXB[1] [18]Campo reservado 
PARAMIXB[1] [19]Valor dos Abatimentos do título 
PARAMIXB[1] [20]Data de vencimento do título (E1_VENCTO) 
PARAMIXB[1] [21]Campo reservado 
PARAMIXB[1] [22]Moeda do título (E1_MOEDA) 
PARAMIXB[1] [23]Campo reservado 
PARAMIXB[1] [24]Data de baixa do título (E1_BAIXA) 
PARAMIXB[1] [25]Saldo do título (E1_SALDO)
Retorno:

Pode ser de dois modos :

lRet (logico), sendo : 

 - Verdadeiro (.T.) - caso seja permitido alterar os valores dos campos multa, juros e desconto do título selecionado. 
- Falso (.F.) - caso não seja permitido alterar os valores dos campos multa, juros e desconto do título selecionado.

aRet(array), sendo:

-aret[1] - Reservado

-aret[2] - habilita/desabilita a edição do campo de Multa

-aret[3] - habilita/desabilita a edição do campo de Juros. 

-aret[4] - habilita/desabilita a edição do campo de Desconto. 

-aret[5] - habilita/desabilita a edição do campo Valor Total. 

 

Exemplo:

#Include 'Protheus.ch'

#INCLUDE 'PROTHEUS.CH'

Local lRet := .F.

Local aRet := {.T.,.T.,.T.,.T.,.T.}

Local nI     :=  0

Local nVlrTot := 0

Local nMulta := 0

Local nJuros := 0

Local nDesconto := 0 // Valor do desconto a ser aplicado

Local _aVldTitulo := PARAMIXB[1]

Local _cTpOp     := PARAMIXB[2]   // tipo de Operacao , R-  recebimento , E - Estorno de recebimento

Local _aLista       := PARAMIXB[3]

Local _aSelec     := PARAMIXB[4]

lRet   := .T.

aRet[2] := .F.      // habilita campo Multa

aRet[3] := .F.      // habilita campo Juros

aRet[4] := lRet     // habilita campo Desconto

aRet[5] := .F.      // habilita campo total

                   

For nI := 1 To Len(_aSelec)  //tutilos selecionados na tela 

       If _aSelec[nI]

              /* logica cliente */

             // Exemplo:se desejar alterar os valores em tela, usar o bloco abaixo

             nDescTit     := 10

             nValTot      := (_aLista[nI][06]+_aLista[nI][07]+_aLista[nI][08]) - ( nDescTit /*desconto*/ )

             nMulta              := _aLista[nI][07]    // preserva o valor que ja esta informado

             nJuros              := _aLista[nI][08]    // preserva o valor que ja esta informado

             STIUpdTit(.T.,nI,nDescTit,nValTot,nMulta,nJuros)

       EndIf

Next

 

Return aRet