Artigo Clube Delphi 89 - Contas a Pagar e Cobrança

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Nessa terceira parte do nosso mini-curso do Sistema de Contas a Pagar e Cobrança, onde estamos desenvolvendo o aplicativo SysPague, veremos como criar a tela de cadastro de Contas a Receber.

Esse artigo faz parte da revista Clube Delphi Edição 89. Clique aqui para ler todos os artigos desta edição

Mini-Curso

Contas a Pagar e Cobrança

Crie um sistema completo com Delphi, Firebird 2.0 e dbExpress - Parte 3

 

Nessa terceira parte do nosso mini-curso do Sistema de Contas a Pagar e Cobrança, onde estamos desenvolvendo o aplicativo SysPague, veremos como criar a tela de cadastro de Contas a Receber. Veremos também como criar um recurso bastante útil ao usuário: duplicação de lançamentos de contas a pagar e a receber.

Esse recurso pode ser utilizado para duplicar contas que se repetem naturalmente todo mês (contas parceladas), tais como financiamentos, leasings, compras a prazo e parcelamentos de modo geral. Esse recurso foi recomendado pelo leitor Francisco J. Riva que enviou e-mail com a dica.

Daremos continuidade ao curso desenvolvendo o cadastro de contas a receber como mencionado anteriormente, para isso precisamos alterar o banco de dados incluindo mais uma tabela.

 

Alterando o banco de dados de exemplo

Assim como fizemos nos artigos anteriores criaremos mais uma tabela no banco de dados utilizando o aplicativo IBExpert. Após conectar ao banco de dados, clique com o botão direito sobre o item Tables e escolha a opção New Table. No alto da janela, aparecerá o nome da tabela sugerido, troque-o para “Contas_Receber”.

Em seguida para criar um campo, digite o nome em Field Name, selecione seu tipo em Field Type e marque o item Not Null (caso seja necessário). Caso prefira, execute o script da Listagem 1.

 

Listagem 1. Criação da tabela e índices da Contas_Receber

CREATE TABLE CONTAS_RECEBER (

  CODIGO        VARCHAR(20) NOT NULL,

  CNPJ          VARCHAR(18) NOT NULL,

  DESCRICAO     VARCHAR(60) NOT NULL,

  VLR_REAL      NUMERIC(15,2),

  VLR_PAGO      NUMERIC(15,2),

  JUROS         NUMERIC(15,2),

  MORA          NUMERIC(15,2),

  DT_CADASTRO   TIMESTAMP,

  DT_VECTO      TIMESTAMP,

  DT_PAGTO      TIMESTAMP,

  BANCO         INTEGER,

  AGENCIA       VARCHAR(10),

  CONTA         VARCHAR(10),

  STATUS        VARCHAR(1),

  DT_ALTERACAO  TIMESTAMP

);

 

ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT

  PK_CONTAS_RECEBER PRIMARY KEY (CODIGO, CNPJ);

ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT

  FK_CONTAS_RECEBER_BANCO FOREIGN KEY

  (BANCO, AGENCIA, CONTA) REFERENCES CONTAS

  (BANCO, AGENCIA, CONTA) ON UPDATE CASCADE;

ALTER TABLE CONTAS_RECEBER ADD CONSTRAINT

  FK_CONTAS_RECEBER_CNPJ FOREIGN KEY (CNPJ)

  REFERENCES CLIENTES (CNPJ) ON UPDATE CASCADE;

 

Note que estamos criando uma tabela exatamente igual a criada no artigo anterior (Contas_Pagar). Poderíamos ter criado uma única tabela onde diferenciaríamos cada registro usando uma flag para indicar se o registro é uma entrada ou saída, ou seja, um campo que recebesse tal indicação. "

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?