Clique aqui para ler esse artigo em PDF.
Mini-curso
Contas a Pagar e Cobrança
Crie um sistema completo com Delphi, Firebird 2.0 e dbExpress - Parte 4
Chegamos a quarta parte do nosso mini-curso Sistema de Contas a Pagar e Cobrança onde estamos vendo alguns dos principais recursos em aplicações dessa natureza. Uma aplicação de contas a pagar e cobrança não se resume apenas em entradas e saídas de caixa. Deve-se pensar também em fluxo de caixa e geração de boletos bancários para cobrança, um dos carros-chefe da aplicação.
Para iniciarmos nosso artigo, veremos rapidamente o que foi criado no exemplo anterior:
·Cadastro de contas a receber;
·Manutenção do Data Module principal para criação da tabela Contas_Receber;
·Criação do recurso de duplicação de contas parceladas;
Daremos continuidade ao curso entendendo e desenvolvendo outro recurso bastante importante: Geração de texto para Cobrança Escritural. Nesse artigo veremos como fazer a geração do arquivo texto para envio à instituição bancária que por sua vez se encarregará de gerar os boletos e envio dos mesmos efetuando desta forma a cobrança bancária.
Alterando o banco de dados de exemplo
Diferentemente dos artigos anteriores não precisaremos criar tabelas. Dessa vez criaremos uma Stored Procedure selecionável que resultará os dados necessários para geração dos arquivos de remessa.
Uma Stored Procedure selecionável é basicamente uma função criada no banco de dados capaz de preencher um ou mais parâmetros de saída que posteriormente serão usados pela aplicação Delphi como se fosse uma tabela comum.
Nossa Stored Procedure fará um filtro na tabela de contas a receber usando como parâmetros de entrada duas datas. Essas datas serão usadas na cláusula Where da SP (“Stored Procedure”) onde faremos o filtro no campo DT_VECTO, ou seja, filtraremos todos os registros de contas a receber que estejam entre as duas datas recebidas.
Será levado em consideração também se o registro é diferente de “I” (“inativo”) e “B” (“baixado”). Assim evitamos enviar um título inativo por meio de cancelamento/exclusão ou ainda que tenha sido liquidado (“baixado”).
Para criar nossa SP selecionável abra o IBExpert e conecte-se a base de dados de exemplo SysPague. Em seguida clique com o botão direito em Procedure e selecione New Procedure. Repare que o IBExpert exibe, em seu editor, uma divisão onde encontramos os botões Input Parameters, Output Parameters, Variables e Cursor. E mais acima podemos ver uma área vazia com os títulos Name, Type, Size, Scale, Default Source, Subtype, Charset e Description. É nessa área que criaremos os parâmetros de entrada (“Input Parameters”) e saída (“Output Parameters”) que por sinal se assemelha bastante com a criação de campos em uma tabela.
Pois bem, clique
Nesse momento acabamos de criar dois parâmetros de entrada que serão usados em nossa aplicação. Enviaremos para a Stored Procedure uma data de início e outra de fim, assim nossa SP selecionará automaticamente o que deverá ser enviado à instituição.
Agora vamos aos parâmetros de saída chamados de Output Parameters. São eles que nossa SP alimentará e que serão utilizados pelo nosso sistema como se fosse uma tabela comum do banco. Portanto clique no item Output Parameters e repita os passos anteriores incluindo os parâmetros da Tabela 1.
Campo |
Tipo/Tamanho |
CNPJ |
VarChar(18) |
VALOR_REAL |
Numeric (15,2) |
DT_CADASTRO |
TimeStamp |
DT_VECTO |
TimeStatmp |
CODIGO |
"