Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Serviços |
Módulo: | SIGAFIN |
Função: | FINA060 |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERFINR-19055 |
Implementação da transferência de título por rotina automática (execauto) FINA060.
Disponibilizado a transferência por rotina automática.
Parâmetros para a transferência de título por rotina automática FINA060:
Elemento | Tipo | Descrição |
---|---|---|
Parâmetro 1 | Numérico | nOpcAuto - 2 Transferência de título. |
Parâmetro 2 | Array | Array 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 |
---|---|---|
AUTBANCO | Caracter | Código do banco. |
AUTAGENCIA | Caracter | Código da agência. |
AUTCONTA | Caracter | Código da conta. |
AUTSITUACA | Caracter | Situação a ser transferida o título. |
AUTNUMBCO | Caracter | Número do título no banco. |
AUTDATAMOV | Data | Data do movimento. |
AUTDESCONT | Númerico | Valor do desconto para carteira descontada. |
AUTCREDIT | Númerico | Valor do crédito para carteira descontada. |
AUTIOF | Númerico | Valor do IOF para carteira descontada. |
AUTGRVFI2 | Lógico | Define se deve ou não gravar a tabela de ocorrências CNAB (FI2). |
E1_PREFIXO | Caracter | Prefixo do título. |
E1_NUM | Caracter | Número do título. |
E1_PARCELA | Caracter | Parcela do título. |
E1_TIPO | Caracter | Tipo 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.
#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 |
User Function AUT60TRA()
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")
//-- 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"
nDesconto := 90
nValCred := 750
nVlIof := 10
aAdd(aTit, {"AUTDESCONT" , nDesconto ,Nil})
aAdd(aTit, {"AUTCREDIT" , nValCred ,Nil})
aAdd(aTit, {"AUTIOF" , nVlIof ,Nil})
EndIf
MSExecAuto({|a, b| FINA060(a, b)}, 2,aTit)
If lMsErroAuto
aErroAuto := GetAutoGRLog()
For nCntErr := 1 To Len(aErroAuto)
cErroRet += aErroAuto[nCntErr]
Next
Conout(cErroRet)
EndIf
Return
<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> |