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

#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


05. ASSUNTOS RELACIONADOS




<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>