Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • 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.
    AUTDESCONTCaracterNúmericoValor do desconto para carteira descontada.
    AUTCREDITCaracterNúmericoValor do crédito para carteira descontada.
    AUTIOFCaracterNú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.

Bloco de código
languagevb
theme

...

Midnight
titleAUTO060TRA
linenumberstrue
#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

Return Nil



  • Exemplo:

User Function AUT60TRAUser 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 nDesconto := 0
Local nValCred := 0
Local nVlIof := 0
Local dDataMov := Ctod("29/03/2019")

...

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"

...