Histórico da Página
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | Financeiro |
Função: | FINA430 - Retorno de Comunicação Bancária - Pagar |
02. DESCRIÇÃO
O ponto de entrada F430VAR tem como finalidade tratar os dados para baixa CNAB. Antes de verificar a espécie do título,
...
permitirá que qualquer exceção ou necessidade seja tratada no ponto de entrada
...
através do paramIXB.
Esse ponto de entrada é executado em dois momentos diferentes, sendo uma durante a leitura do CNAB Modelo 1 (MV_PAR10 = 1) e CNAB Modelo 2 (MV_PAR10 = 2). A quantidade de posições passadas por parâmetro difere entre as duas execuções e está melhor descrita no item "3 - Parâmetros").
03. PARÂMETROS
Execução do ponto de entrada para CNAB Modelo 1 (MV_PAR10 = 1):
Nome | Tipo | Descrição | Conteúdo | |||||||||||||||||||||||||||||||||||||||||||||||||||
paramIXB[1] | Array | Array de valores referentes a linha atual lida. |
|
Execução do ponto de entrada para CNAB Modelo 2 (MV_PAR10 = 2):
Nome | Tipo | Descrição | Conteúdo |
paramIXB[1] |
lRefresh - se a execução é através do botão Atualizar ou não.
04. RETORNO
...
Nome
...
Tipo
...
Descrição
...
nIndex
...
array | Array de valores referentes a linha atual lida. |
|
04. RETORNO
Não se aplica.
05. EXEMPLO DE UTILIZAÇÃO
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#Include "TOTVS.CH" /*/{Protheus.doc} F240INDF430VAR Ponto de entrada para manipulaçãotratar deos índicedados dapara tela de borderô (FINA240). Baixa CNAB. @owner TOTVS @version P12 @since 1024/09/2021 @return numeric, índice a ser posicionado @obs Função utilizada nas rotinas FINA240 /*/ User Function F240INDF430VAR() As Numeric Local aIndices As Array//Carrega todos os dados Refrente ao titulo Local lRefreshaParam As LogicalArray Local nIndexcAlert As NumericCharacter nIndexaParam := AClone(paramIXB) := 1 lRefresh := paramIXB[1]//Variaveis disponivel para customização conforme atenda a necessidade do Cliente aIndicescAlert := "Numero do Titulo:= paramIXB[2] //somente é carregado" na execução via botão Atualizar (quando lRefresh está como verdadeiro) //Escolha do indice inicial da tabela + aParam[1][01] + CRLF cAlert += "Data: If !lRefresh " If+ MsgYesNo("Desejar ordenar por Código do Fornecedor?", "F240IND - Alterar o Indice") DToS(aParam[1][02]) + CRLF cAlert += "Tipo: nIndex" := 6 + aParam[1][03] + EndIfCRLF Else cAlert += "Nosso numero: //Chamada via botão refresh" da tabela de borderô - Permite a troca do índice atual+ aParam[1][04] + CRLF cAlert += "Valor da //Suadespesa: lógica para seleção de" índice - Exemplo utilizando List Box+ Str(aParam[1][05]) + CRLF cAlert += "Valor da nIndexdesconto: := U_SelIndex(aIndices) " + EndIf Return nIndex /*/{Protheus.doc} SelIndex Rotina para seleção de índice no botão refresh da tela de seleção de borderô. @version P12 @since 10/09/2021 @param Str(aParam[1][06]) + CRLF cAlert += "Valor de abatimento: " + Str(aParam[1][07]) + CRLF cAlert += "Valor pagamento: aIndices" array, array de índices que poderão ser selecionados @return numeric, indice a ser utilizado na tela de seleção de borderô /*/ User Function SelIndex(aIndices As Array) As Numeric Local nVar As Numeric Local nOpca As Numeric Local nSE2Index As Numeric Local oList As Object Local oDlg As Object nOpca := 2 DEFINE MSDIALOG oDlg TITLE "Seleção de Índice" From 9, 0 To 32, 74 OF oMainWnd @0.5, 0.3 TO 12.2, 32.2 LABEL "Índices" OF oDlg @2.3, 3.0 Say OemToAnsi(" ") @1.0, 0.7 LISTBOX oList VAR nVar Fields HEADER "Índice" SIZE 250, 150 NOSCROLL ON DBLCLICK (nSE2Index := aIndices[oList:nAt][1], nOpca := 1, oDlg:End()) oList:SetArray(aIndices) oList:bLine := {|| {aIndices[oList:nAt][2]}} DEFINE SBUTTON FROM 10.0, 260 TYPE 1 ACTION (nOpca := 1, nSE2Index := aIndices[oList:nAt][1], oDlg:End()) ENABLE OF oDlg DEFINE SBUTTON FROM 22.5, 260 TYPE 2 ACTION oDlg:End() ENABLE OF oDlg ACTIVATE MSDIALOG oDlg CENTERED //Caso cancelada a seleção, automaticamente seleciona o primeiro índice If nOpca == 2 nSE2Index := 1 EndIf Return nSE2Index+ Str(aParam[1][08]) + CRLF cAlert += "Valor juros: " + Str(aParam[1][09]) + CRLF cAlert += "Valor multa: " + Str(aParam[1][10]) + CRLF cAlert += "Fornecedor: " + aParam[1][11] + CRLF cAlert += "Ocorrência: " + aParam[1][12] + CRLF cAlert += "CGC: " + aParam[1][13] + CRLF cAlert += "CM: " + Str(aParam[1][14]) + CRLF FwAlertInfo(cAlert) //TODO - Lógica conforme necessidade do cliente Return Nil |
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |