CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Parâmetros
- Variáveis
- 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
#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
Nome | Tipo | Descrição |
---|---|---|
MOVI_LIMITE_FIN | Caracter | 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. |
ARRAYSWB | Caracter | Permite adicionar campos customizados nos arrays aSWB (para ser exibido na tela) e aGet_SWB (para ser editável). |
VALID_VINCULACAO | Caracter | Permite a customização da validação de vinculação de adiantamento no controle de câmbio |
CONFIRMA_EXCLUIR | Caracter | Permite a confirmação da exclusão do titulo no controle de câmbio |
VALIDA_TELA_CAMBIO | Caracter | 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 | Caracter | Permite alterar o motivo da baixa do título quando utilizado a rotina de eliminar o saldo |
EXIBE_MSG_ADTO | Booleana | Permite 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_PAG | Booleana | 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. |
TABINV | Array | Permite manipular, incluir, alterar e excluir os elementos do array referente a geração de câmbio a cada parcela gerada. |
FINAL_EICCALCPAGTO | Array | Permite manipular, incluir, alterar e excluir os elementos do array referente a geração de câmbio após todas as parcela geradas. |
GRAVA SWB | Caracter | Permite a alteração durante a gravação de cada parcela da tabela SWB. |
APOS GRAVAR SWB | Caracter | Permite a alteração da tabela SWB após a gravação de todas as parcelas. |
ANTES_TELA_SWB | Caracter | Permite alterar as variáveis de memória da parcela de câmbio antes de efetuar o carregamento da tela |
VALIDA_HAWB | Caracter | Permite 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_COLUNA | Caracter | 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_OK | Caracter | 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. |
INIMEMO | Array 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
Nome | Tipo | Escopo | Pode Alterar | Parâmetro | Descrição |
---|---|---|---|---|---|
lRetvalid | Booleana | Private | Sim | VALID_VINCULACAO | Variável que controla a validação da vinculação de adiantamento do controle de câmbio |
nManut | Numérico | Private | Sim | Código da operação a ser realizada (Inclusão, Alteração, Exclusão, Liquidação, Estorno da Liquidação, etc) | |
lExcluiu | Booleana | Private | Sim | CONFIRMA_EXCLUIR | Variável responsável para verificar se o titulo posicionado foi excluido |
lRetVal | Booleana | Private | Sim | VALIDA_TELA_CAMBIO | Se .T., o câmbio será gravado independentemente se haver divergência ou não de valores, Se .F., o cambio não será gravado. |
lInvDifere | Booleana | Private | Sim | VALIDA_TELA_CAMBIO | lInvDifere é .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 | Array | Private | Sim | 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. |
lExibeMsAd | Booleana | Private | Sim | EXIBE_MSG_ADTO | Variável que permite desabilitar a mensagem com os adiantamentos disponíveis para utilização, que é exibida ao alterar um câmbio de desembaraço. |
lCondPa | Booleana | Private | Sim | COND_PAG | Variá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. |
aPRITabInv | Array | Private | Sim | 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 |
lVolta | Lógico | Private | Sim | ANTES_TELA_SWB | Permite 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 |
lValidHawb | Lógico | Private | Sim | VALIDA_HAWB | Permite 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. |
aBotoes | Array | Private | Sim | ALTERA_COLUNA | Permite retirar ou incluir funcionalidades do botão "Outras Ações" da tela da operação de câmbio. |
aCampoSWB | Array of Record | Private | Sim | ALTERA_COLUNA | Permite 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