Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Parâmetros
  4. Variáveis
  5. Tabelas utilizadas


01. VISÃO GERAL

Este documento tem por objetivo listar os Pontos de Entrada disponíveis na rotina de Câmbio de Importação, para permitir customização da rotina.


02. EXEMPLO DE UTILIZAÇÃO


Exemplo de Utilização
#INCLUDE "PROTHEUS.CH"  EXIBE_MSG_ADTO User Function EICAP100()
 
   Local nPosMotBx := 0
   Local nPos := 0
   Local cParam := If(Type("ParamIxb") == "A",ParamIxb[1],If(Type("ParamIxb") == "C",ParamIxb,""))
 
   If cParam == "MOVI_LIMITE_FIN"
      MsgInfo("Entrou no ponto de entrada 'MOVI_LIMITE_FIN'.")
      lMoviFin := .F.
   elseif cParam == "VALID_VINCULACAO"
      msginfo("Entrou no ponto de entrada 'VALID_VINCULACAO'")
      lRetvalid := .F.
   elseif cParam == "MANUT_SWA"
      msginfo("Entrou no ponto de entrada 'MANUT_SWA'")
      lSair := .T.
   elseif cParam == "ELIMINAR_SALDO_MOTBX"
      msginfo("Entrou no ponto de entrada 'MOTBX'")
      If ( nPosMotBx := aSCan(aTitBx,{|x|x[1]=="AUTMOTBX"} ) ) > 0
         aTitBx[nPosMotBx][2] := "DEB"
      endif
   elseif cParam == "EXIBE_MSG_ADTO"
        lExibeMsAd := .F.
   elseif cParam == "COND_PAG"
        lCondPa := .F.
   elseif cParam == "TABINV"                                                   
        AADD(aPRITabInv,{cInvoice+cFornecedor+cLoja,nValorInvoice,dDataVencimento,'A PRAZO',cNumeroParcela,cNumeroPO,nValorComissao})
   elseif cParam == "FINAL_EICCALCPAGTO"
        AADD(aPRITabInv,{cInvoice+cFornecedor+cLoja,nValorInvoice,dDataVencimento,'A PRAZO',cNumeroParcela,cNumeroPO,nValorComissao})
   elseif cParam == "GRAVA SWB"
        msginfo("Permite a alteração durante a gravação de cada parcela da tabela SWB")
   elseif cParam == "APOS GRAVAR SWB"
        msginfo("Permite a alteração da tabela SWB após a gravação de todas as parcelas")
   elseif cParam == "ANTES_TELA_SWB"
        M->WB_INVOICE:= "ABCDEF"
   elseif cParam == "VALIDA_HAWB"
  		If M->WA_HAWB=="EMB-613304          "
            MsgInfo("Não é possível confirmar a gravação.","Aviso")
            lValidHawb := .F.
        EndIf
   elseif cParam == "ALTERA_COLUNA"
        //Retirando o botão Liquidar Parcela
        nPos := aScan(aBotoes,{|x| x[1]="LIQCHECK"})
        if nPos > 0
           ADEL(aBotoes,nPos)
           ASIZE(aBotoes,LEN(aBotoes)-1)
        EndIf   
        // Incluindo uma coluna a ser apresentada na tela
        AADD(aCampoSWB,{"WB_SEQLOTE", "", "Seq.Lote" } ) 
   elseif cParam == "BOTAO_LIQUIDA_OK"   
       //Validando a liquidação
       MsgInfo("Liquidação inválida")
       Return .f.
   elseIf cPAram == "INIMEMO"
       M->WB_BANCO  := "BCo01"
EndIf
 
Return nil

03. PARÂMETROS


NomeTipoDescrição
MOVI_LIMITE_FINCaracter

Permite a alteração para pular a validação da data do parâmetro MV_DATAFIN, assim fazendo a liquidação do controle do cambio.

ARRAYSWBCaracterPermite adicionar campos customizados nos arrays aSWB (para ser exibido na tela) e aGet_SWB (para ser editável).
VALID_VINCULACAOCaracterPermite a customização da validação de vinculação de adiantamento no controle de câmbio
CONFIRMA_EXCLUIRCaracterPermite a confirmação da exclusão do titulo no controle de câmbio
VALIDA_TELA_CAMBIOCaracter

Permite alterar o valor da pergunta referente a divergêngia entre o valor total das invoices e o valor das parcelas. Se a pergunta é confirmada, o câmbio será gravado mesmo com divergência, caso cancelada, o câmbio não será gravado.

Neste ponto de entrada, a variável lRetVal é igual a .T. ao confirmar a gravação com divergêngia, .F. (False) caso cancelar. Se essa variável, por exemplo, é alterada para .T. no ponto de entrada, o câmbio será gravado independentemente da escolha do usuário na pergunta.

A variável lInvDifere é igual a .T. se existe diferença entre o valor total das invoices e o valor total das parcelas do câmbio.

ELIMINAR_SALDO_MOTBX

CaracterPermite alterar o motivo da baixa do título quando utilizado a rotina de eliminar o saldo
EXIBE_MSG_ADTOBooleanaPermite alterar a variável lExibeMsAd para que não seja exibida a mensagem de adiantamentos disponíveis ao alterar um câmbio de Desembaraço.
COND_PAGBooleana

Permite gerar as parcelas de câmbio para o tipo de cobrança igual a 4, este tipo de cobrança por padrão é sem cobertura cambial, mas pode ser alterada via cadastro.

TABINVArrayPermite manipular, incluir, alterar e excluir os elementos do array referente a geração de câmbio a cada parcela gerada.
FINAL_EICCALCPAGTOArrayPermite manipular, incluir, alterar e excluir os elementos do array referente a geração de câmbio após todas as parcela geradas.
GRAVA SWBCaracterPermite a alteração durante a gravação de cada parcela da tabela SWB.
APOS GRAVAR SWBCaracter

Permite a alteração da tabela SWB após a gravação de todas as parcelas.

ANTES_TELA_SWBCaracterPermite alterar as variáveis de memória da parcela de câmbio antes de efetuar o carregamento da tela
VALIDA_HAWBCaracterPermite adicionar validações customizadas na confirmação da gravação do câmbio, podendo permitir ou não que a gravação seja confirmada através da variável lValidHawb
ALTERA_COLUNACaracter

Permite manipular o array aBotoes, adicionando ou retirando funcionalidades.

Permite manipular o array aCampoSWB incluindo ou retirando campos que serão exibidos na tela.

BOTAO_LIQUIDA_OKCaracter

Permite validar a liquidação do câmbio e impedir a sua finalização.

Retornando .t. continua a liquidação.

Retornando .f. aborta a liquidação.

INIMEMOArray of Record

Permite atribuir valor a qualquer variável de memória da tela correspondente aos dados das parcelas de câmbio.


04. VARIÁVEIS


NomeTipoEscopoPode AlterarParâmetroDescrição
lRetvalidBooleanaPrivateSimVALID_VINCULACAOVariável que controla a validação da vinculação de adiantamento do controle de câmbio
nManutNuméricoPrivateSim
Código da operação a ser realizada (Inclusão, Alteração, Exclusão, Liquidação, Estorno da Liquidação, etc)
lExcluiuBooleanaPrivateSimCONFIRMA_EXCLUIRVariável responsável para verificar se o titulo posicionado foi excluido
lRetValBooleanaPrivateSimVALIDA_TELA_CAMBIOSe .T., o câmbio será gravado independentemente se haver divergência ou não de valores, Se .F., o cambio não será gravado.
lInvDifereBooleanaPrivateSimVALIDA_TELA_CAMBIOlInvDifere é .T. se existe divergência entre o valor total das invoices e o valor total das parcelas, .F. caso contrário. Essa variável não tem efeito ao alterá-la, pois seu objetivo é de apenas leitura.

aTitBx

ArrayPrivateSim

ELIMINAR_SALDO_MOTBX

Array contendo as informações para a realização da baixa do título, via rotina automática FINA080, ao eliminar o saldo do mesmo e para alterar o motivo da baixa é preciso localizar a linha do array contendo o campo AUTMOTBX para então alterar o motivo da baixa no array antes da execução da baixa. Além do motivo da baixa, outras informações podem ser manipuladas dentro deste array, respeitando as regras de negócio da rotina de destino, conforme a documentação https://tdn.totvs.com/display/public/PROT/Baixa+e+Cancelamento+Contas+a+Pagar.
lExibeMsAdBooleanaPrivateSimEXIBE_MSG_ADTOVariável que permite desabilitar a mensagem com os adiantamentos disponíveis para utilização, que é exibida ao alterar um câmbio de desembaraço.
lCondPaBooleanaPrivateSimCOND_PAGVariável que permite gerar parcelas de câmbio mesmo para tipo de cobrança igual a 4, deve retornar .F. para sair do padrão e gerar a parcela.
aPRITabInvArrayPrivateSim

TABINV

FINAL_EICCALCPAGTO

Array com as informações para a geração das parcelas de câmbio com os seguintes campos:

Chave = Invoice+Fornecedor+Loja

Valor da Invoice

Data de Vencimento

Tipo de pagamento 'A PRAZO' ou 'A VISTA'

Numero da Parcela

NumeroPO

ValorComissao

lVoltaLógicoPrivateSimANTES_TELA_SWBPermite forçar o retorno para a tela principal do câmbio antes que o sistema conclua o carregamento da tela de parcela de câmbio
lValidHawbLógicoPrivateSimVALIDA_HAWBPermite criar validações customizadas para permitir ou não gravar o câmbio. Caso a variável lValidHawb seja alterada para .T., a gravação do câmbio seguirá. Caso seja alterada para .F., a gravação não será confirmada.
aBotoesArrayPrivateSimALTERA_COLUNAPermite retirar ou incluir funcionalidades do botão "Outras Ações" da tela da operação de câmbio.
aCampoSWBArray of RecordPrivateSimALTERA_COLUNAPermite retirar ou incluir campos a serem exibidos na tela da operação de câmbio.



05. TABELAS UTILIZADAS

  • SWA - Capa de Câmbio
  • SWB - Itens de Câmbio