Árvore de páginas


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Serviços
Módulo:SIGAFIN
Função:FINA060
Requisito/Story/Issue (informe o requisito relacionado) :DSERFINR-19055


02. SITUAÇÃO/REQUISITO

Implementação da transferência de título por rotina automática (execauto) FINA060.

03. SOLUÇÃO

Disponibilizado a transferência por rotina automática.

04. DEMAIS INFORMAÇÕES

  • Parâmetros para a transferência de título por rotina automática FINA060:

    Elemento

    Tipo

    Descrição

    Parâmetro 1NumériconOpcAuto - 2 Transferência de título.
    Parâmetro 2ArrayArray com 3 dimensões sem a terceira com conteúdo NIL.
  • Estrutura do array da transferência de título deve ter sua terceira posição com o conteúdo NIL {Elemento , Conteúdo, NIL} :

    Elemento

    Tipo

    Descrição

    AUTBANCOCaracter

    Código do banco.

    AUTAGENCIACaracterCódigo da agência.
    AUTCONTACaracterCódigo da conta.
    AUTSITUACACaracterSituação a ser transferida o título.
    AUTNUMBCOCaracterNúmero do título no banco.
    AUTDATAMOVDataData do movimento.
    AUTDESCONTNúmericoValor do desconto para carteira descontada.
    AUTCREDITNúmericoValor do crédito para carteira descontada.
    AUTIOFNúmericoValor do IOF para carteira descontada.
    AUTGRVFI2LógicoDefine se deve ou não gravar a tabela de ocorrências CNAB (FI2).
    E1_PREFIXOCaracterPrefixo do título.
    E1_NUMCaracterNúmero do título.
    E1_PARCELACaracterParcela do título.
    E1_TIPOCaracterTipo do do título.
  • Para situação descontada(2) e caucionada(7), devemos informar o valor de crédito, IOF e desconto já calculado. O sistema realizará a verificação dos valores informados e o saldo do título conforme parametrização (pergunte MV_PAR09), considera acréscimos e decréscimos.

AUTO060TRA
#Include "Protheus.ch"
#Include "TBICONN.ch"

User Function AUTO060TRA()

    Local aTit          := {}
    Local cPrefixo      := "001"
    Local cNumero       := "000000001"
    Local cParcela      := "001"
    Local cTipo         := "NF"
    Local cBanco        := "001"
    Local cAgencia      := "001"
    Local cConta        := "001"
    Local cSituaca      := "1"
    Local cNumBco       := "132456"
    Local dDataMov      := CToD("29/03/2019")

    //-- Variáveis utilizadas para o controle de erro da rotina automática
    Local aErroAuto     := {}
    Local cErroRet      := ""
    Local nCntErr       := 0

    Private lMsErroAuto     := .F.
    Private lMsHelpAuto     := .T.
    Private lAutoErrNoFile  := .T.

    PREPARE ENVIRONMENT EMPRESA "XX" FILIAL "XX" USER "admin" 

    //Para retornar o título para carteira é necessário informar o banco em "branco"
    If cSituaca == "0"
        cBanco      := ""
        cAgencia    := ""
        cConta      := ""
        cNumBco     := ""
    EndIf

    //Chave do título

    AAdd(aTit, {"E1_PREFIXO",   PadR(cPrefixo,  TamSX3("E1_PREFIXO")[1]),   Nil})
    AAdd(aTit, {"E1_NUM",       PadR(cNumero,   TamSX3("E1_NUM")[1]),       Nil})
    AAdd(aTit, {"E1_PARCELA",   PadR(cParcela,  TamSX3("E1_PARCELA")[1]),   Nil})
    AAdd(aTit, {"E1_TIPO",      PadR(cTipo,     TamSX3("E1_TIPO")[1]),      Nil})

    //Informações bancárias

    AAdd(aTit, {"AUTDATAMOV",   dDataMov,       Nil})
    AAdd(aTit, {"AUTBANCO",     PadR(cBanco,    TamSX3("A6_COD")[1]),       Nil})
    AAdd(aTit, {"AUTAGENCIA",   PadR(cAgencia,  TamSX3("A6_AGENCIA")[1]),   Nil})
    AAdd(aTit, {"AUTCONTA",     PadR(cConta,    TamSX3("A6_NUMCON")[1]),    Nil})
    AAdd(aTit, {"AUTSITUACA",   PadR(cSituaca,  TamSX3("E1_SITUACA")[1]),   Nil})
    AAdd(aTit, {"AUTNUMBCO",    PadR(cNumBco,   TamSX3("E1_NUMBCO")[1]),    Nil})
    AAdd(aTit, {"AUTGRVFI2",    .T.,            Nil})

    //Carteira descontada deve ser encaminhado o valor de crédito, desconto e IOF já calculados
    If cSituaca $ "2|7"
        AAdd(aTit, {"AUTDESCONT",   090,    Nil})
        AAdd(aTit, {"AUTCREDIT",    750,    Nil})
        AAdd(aTit, {"AUTIOF",       010,    Nil})
    EndIf

    MsExecAuto({|operacao, titulo| FINA060(operacao, titulo)}, 2, aTit)

    If lMsErroAuto
        aErroAuto := GetAutoGRLog()
        
        For nCntErr := 1 To Len(aErroAuto)
            cErroRet += aErroAuto[nCntErr]
        Next nCntErr

        Conout(cErroRet)
    EndIf

	RESET ENVIRONMENT

Return Nil


05. ASSUNTOS RELACIONADOS