Á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 inclusão de borderô por rotina automática (execauto) FINA060.

03. SOLUÇÃO

Disponibilizada a inclusão de borderô por rotina automática.

04. DEMAIS INFORMAÇÕES

  • Parâmetros para a inclusão de borderô por rotina automática FINA060:

    Elemento

    Tipo

    Descrição

    Parâmetro 1NumériconOpcAuto - 3 Inclusão de borderô.
    Parâmetro 2ArrayArray com 2 dimensões, sendo a primeira um array com informações do borderô e a segunda um array com os títulos.
  • Estrutura do array com informações do borderô: 

    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.
    AUTNUMBORCaracterNúmero do borderô.
    AUTDATAMOVDataData do movimento.
    AUTTXDESCNuméricoTaxa de desconto para carteira descontada.
    AUTTXIOFNuméricoTaxa de IOF para carteira descontada.
    AUTSUBCONTACaracterNúmero da subconta do banco
    AUTESPECIECaracterCódigo da espécie do pagamento (contida na tabela F77)
    AUTBOLAPILogicoDefine se o borderô em questão será transmitido via API (Boletos)
  • Estrutura do array com informações dos títulos ( chave de busca para o índice 1 ): 

    Elemento

    Tipo

    Descrição

    E1_FILIALCaracter

    Filial do título

    E1_PREFIXOCaracterPrefixo do título.
    E1_NUMCaracterNúmero do título.
    E1_PARCELACaracterParcela do título.
    E1_TIPOCaracterTipo do do título.
  • Exemplo:

User function AUTO060BOR()

Local cTmp := "TMPBOR"
Local cFiltro := ""
Local aTit := {}
Local aBor := {}

Local cBanco := "001"
Local cAgencia := "001"
Local cConta := "001"

Local cSituaca := "1"
Local cNumBor := ""
Local dDataMov := ""

Local cEspecie := '99'

Local cSubconta := '001'


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

dDataMov := Ctod("19/04/2019")

// Filtro SQL para para adicionar os titulos no borderô
cFiltro := "%"+"E1_PREFIXO = 'BOR' AND E1_TIPO ='NF'"+"%"

If Select( cTmp ) > 0

(cTmp)->( dbCloseArea() )

EndIf

BeginSQL Alias cTmp

SELECT

E1_FILIAL,
E1_PREFIXO,
E1_NUM,
E1_PARCELA,
E1_TIPO

FROM

%table:SE1%

WHERE

%exp:cFiltro%
AND E1_SALDO > 0
AND %NotDel%

EndSQL

//Adiciona os títulos no array
While (cTmp)→(!EOF())

aAdd(aTit,;
{;

{"E1_FILIAL" ,(cTmp)->E1_FILIAL },;
{"E1_PREFIXO" ,(cTmp)->E1_PREFIXO },;
{"E1_NUM" ,(cTmp)->E1_NUM },;
{"E1_PARCELA" ,(cTmp)->E1_PARCELA },;
{"E1_TIPO" ,(cTmp)->E1_TIPO };

})
(cTmp)→(dbSkip())

EndDo

(cTmp)->(dbCloseArea()) //Fecho a tabela temporária

If Empty(aTit) .OR. cSituaca == "0" //Caso não encontre títulos ou situação 0 deve sair da rotina.

RETURN(.F.)

EndIf

//Informações bacárias para o borderô
aAdd(aBor, {"AUTBANCO" , PadR(cBanco ,TamSX3("A6_COD")[1]) })
aAdd(aBor, {"AUTAGENCIA" , PadR(cAgencia ,TamSX3("A6_AGENCIA")[1]) })
aAdd(aBor, {"AUTCONTA" , PadR(cConta ,TamSX3("A6_NUMCON")[1]) })
aAdd(aBor, {"AUTSITUACA" , PadR(cSituaca ,TamSX3("E1_SITUACA")[1]) })
aAdd(aBor, {"AUTNUMBOR" , PadR(cNumBor ,TamSX3("E1_NUMBOR")[1]) }) // Caso não seja passado o número será obtido o próximo pelo padrão do sistema
aAdd(aBor, {"AUTSUBCONTA" , PadR(cSubconta,TamSX3("EA_SUBCTA")[1]) })
aAdd(aBor, {"AUTESPECIE" , PadR(cEspecie,TamSX3("EA_ESPECIE")[1]) })


If cSituaca $ "2|7" // Carteira descontada deve ser informada as taxas e data do movimento

aAdd(aBor, {"AUTTXDESC" ,10})
aAdd(aBor, {"AUTTXIOF" ,5})
aAdd(aBor, {"AUTDATAMOV" ,dDataMov})

EndIf

MSExecAuto({|a, b| FINA060(a, b)}, 3,{aBor,aTit})

If lMsErroAuto

aErroAuto := GetAutoGRLog()
For nCntErr := 1 To Len(aErroAuto)

cErroRet += aErroAuto[nCntErr]

Next

Conout(cErroRet)

EndIf

Return

05. ASSUNTOS RELACIONADOS