Pagetitle |
---|
| LJ7009 - Validação de Alteração de Pagamento |
---|
| LJ7009 - Validação de Alteração de Pagamento |
---|
|
Ponto-de-Entrada: LJ7009 - Validação de Alteração de Pagamento Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 | Versões: | Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10 , Microsiga Protheus 11 | Idiomas: | Português (Brasil) , Espanhol , Inglês | Descrição: Esse ponto Ponto de entrada Entrada é chamado na confirmação da tela de alteração das parcelas na rotina Venda Assistida.
Deve retornar um boleano ou um vetor. Se retornar falso, não permite que os dados informados sejam confirmados. Se retornar um vetor, a parcela atual será atualizada com os dados do vetor.
A estrutura do vetor retornado é: [1] Data (data) [2] Valor (numérico) [3] Descrição da forma de pagamento (3 x caracteres) [4] Checkbox "Utiliza nas próximas parcelas" (lógico) [5] Identificação seqüencial sequencial do cartão (1 caractercarácter) [6] Código da forma de pagamento (3 caracteres)
SintaxeLJ7009 - Validação de Alteração de Pagamento ( < Array> ) --> xRet Parâmetros:
| Nome |
|
| Tipo |
|
| Descrição |
|
| Default |
|
| Obrigatório |
|
| Referência |
|
| Array |
|
| Array of Record |
|
| Descrição abaixo (em Observações). |
|
|
|
|
| X |
|
|
|
|
RetornoxRet(qualquer)- 2 Tipos de RetornoLógico = False (.F.) para não continuar com o processoArray = Parcelas para considerar na Alteração
Observações Array contendo as informações originais e as que foram alteradas: 1º Array 1º Array com informações originais e 2º e 2º Array com as informações alteradas pelo usuário, ambos conforme as posições indicadas na "descrição". Importante: A edição é realizada por linha e as informações recebidas correspondem a linha que está sendo está sendo editada, quando é realizada uma inserção inserção (escolha de um pagamento pela ação dos botões DINHEIRO, CHEQUE, CARTAO DE CREDITOCARTAO DE CREDITO, etc), o valor correspondente o valor correspondente ao "original" é o valor sugerido na tela de edição. Exemplos /*** Exemplo do PE LJ7009, validação de forma de pagamento */ User Function LJ7009() // variáveis com os valores alterados // e com os valores originais Local aParams := iIf( PARAMIXB<>nil, aClone(PARAMIXB), {} ) Local aParcResul := iIf( Len(aParams) > 0, aParams[1], {} ) // dados originais do pagamento Local aParcAlter := iIf( Len(aParams) > 1, aParams[2], {} ) // novos dados para o pagamento Local xRet := .T. Local nQtdParcs := Len(aParcAlter) Local nI := 0 Local aAuxRet := {} // verifica se possui informação If ( nQtdParcs > 0 ) If (Alltrim(aParcAlter[3])== 'Cartao de Credito' ) // avalia qual o tipo de pagamento xRet := .F. // sendo cartão de crédito aborta a operação, mantendo a informação antiga Else xRet := .T. // do contrário efetua o processamento EndIf EndIf If( xRet ) // quando o processo pode continuar, é preciso retornar um vetor com os novos dados xRet := aParcAlter EndIf Return xRetDisponibilizado o sexto parâmetro como código da forma de pagamento, como alternativa ao parâmetro de entrada 3 (descrição da forma de pagamento). Este parâmetro dispensa colocar no Ponto de Entrada a descrição de sua forma idêntica ao que está na tabela SX5/24, evitando forçar, dentro do ponto de entrada, a substituição do parâmetro 3 da descrição pelo código. O exemplo abaixo de ponto de entrada altera a data da primeira parcela para Cartão de Crédito para 70 dias após a data da emissão, o Cartão de Débito sem processamento (bloqueio), e o restante das condições de pagamento, finalizados normalmente sem alterações.
User Function LJ7009() // variáveis com os valores alterados // e com os valores originais Local aParams := iIf( PARAMIXB<>nil, aClone(PARAMIXB), {} ) Local aParcResul := iIf( Len(aParams) > 0, aParams[1], {} )// dados originais do pagamento Local aParcAlter := iIf( Len(aParams) > 1, aParams[2], {} ) // novos dados para o pagamento Local xRet := .T. Local nQtdParcs := Len(aParcAlter) Local nI := 0 Local aAuxRet := {} // verifica se possui informação
If ( nQtdParcs > 0 ) If (Alltrim(aParcAlter[6]) == 'CC' ) // avalia qual o tipo de pagamento CC-Cartão de Crédito xRet := .T. //se cartão de credito, efetua a alteração aParcAlter[1] := ( dDataBase +70 ) //Altera em 70 dias a primeira parcela aParcAlter[4] := .T. ElseIf (Alltrim(aParcAlter[6]) == 'CD' ) // avalia qual o tipo de pagamento CD-Cartão de Débito xRet := .F. // do contrário aborta o processamento Else xRet := .T. // As demais condições de pagamento irão finalizar normalmente EndIf EndIf
If( xRet ) // quando o processo pode continuar, é preciso retornar um vetor com os novos dados xRet := aParcAlter EndIf
Return xRet
|