É possível gerar boletos em customizações utilizando a classe gfin.api.banks.bills.BanksBillsService. Vale ressaltar que a classe só gera boletos para os borderôs que foram enviados ao banco pela API(Application Programming Interface), EA_BORAPI = S e EA_TRANSF = S, para saber mais sobre esse processo acesse a documentação Contas a receber (Comunicação bancária online)
Caso exista a necessidade de gerar um boleto onde o borderô não foi enviado pela API, ou até mesmo alterar o boleto padrão gerado pela rotina, será necessário verificar e implementar o PE NGFBXBOL – Permite o download do boleto em PDF dos boletos personalizados.
Métodos
downloadPDF(cBody as character)
Esse método gera um arquivo PDF no servidor com os boletos informados no parâmetro cBody.
Parâmetros
Ordem | Nome | Tipo | Descrição |
---|---|---|---|
1 | cBody | character | String representando um JSON que implementa a interface DownloadPDFBody definida abaixo, baseando-se nos dados do título conforme tabela SEA. |
Interface DownloadPDFBody
bills: [ { ea_filial: string, ea_numbor: string, ea_prefixo: string, ea_num: string, ea_parcela: string, ea_tipo: string } ]
Propriedades
Pripriedade | Tipo | Descrição |
---|---|---|
lOk | Logical | Quando falso, indica que houve um erro na geração do arquivo PDF. |
cPathPDF | Character | Nome completo do arquivo PDF gerado no servidor. |
cFilePDF | Character | Conteúdo do arquivo PDF gerado no servidor codificado em BASE64, útil para retornar em requisições HTTP. |
jMsgErro | Json | Objeto JSON contendo as informações do erro na geração do boleto |
Exemplo
User Function BaixaBoleto() Local cBillsList := "" as character Local oService := gfin.api.banks.bills.BanksBillsService():New() as object Local cBase64 := "" as character Local jError := JsonObject():new() as json BeginContent Var cBillsList { "bills": [ { "ea_filial": "D MG 01", "ea_numbor": "111245", "ea_prefixo": "NGF" , "ea_num": "NGFWEB006", "ea_parcela": "", "ea_tipo": "NF " } ] } EndContent oService:downloadPdf(cBillsList, .T.) If oService:lOk cBase64 := oService:cFilePDF Else jError := oService:jMsgErro //Recupera o erro na geração do boleto Endif //Apaga arquivo do diretorio if File(oService:cPathPDF) FERASE(oService:cPathPDF) endIf return