• Nenhum resultado encontrado

4.5 Identificação dos Casos de Uso

4.5.3 Diagrama de Classes Conceitual

1.3 O Funcionário do Departamento de Administração Geral solicita a operação de consultar departamento

1.3.1 O Funcionário do Departamento de Administração Geral informa o nome do departamento

1.3.2 O Sistema localiza o Departamento e exibe as informações do mesmo.

1.3.2.1 O Sistema não localiza o Departamento e informa que o mesmo não está cadastrado e finaliza o caso de uso.

1.3.3 O Funcionário do Departamento de Administração Geral confere os dados do departamento, finalizando assim a operação.

5 O PROJETO

Com o intuito de ajudar na visualização do sistema, foram elaboradas algumas telas ilustrativas, conforme pode ser visto abaixo, mas vale ressaltar que este projeto não está concluído, faltando somente o cadastro da tela de compra e alguns relatórios.

Figura 20 - Tela de autenticação do sistema

A figura apresentada é a tela de login, ou seja, para que o funcionário possa utilizar o sistema, é necessário informar o seu nome de login e sua senha. Ao clicar no botão OK, o usuário é conduzido ao seu respectivo nível, conforme estabelecido no Controle de Acesso de Usuários por telas e operações (Quadro 3).

A figura 21 contém todas as funções referentes a este Sistema, na qual facilita a visualização do que se deseja utilizar/fazer. Apesar de ter todas as funções, estas só estarão habilitadas conforme a permissão pré-estabelecida, de acordo com o departamento cadastrado.

Figura 21 - Tela principal do sistema

No cadastro de clientes, identificado pela figura 22, consta todos os campos necessários para as operações básicas de alterar, adicionar, deletar (excluir), pesquisar, salvar e cancelar. As operações estão na mesma tela em virtude da reutilização de seus componentes, para evitar a criação de novas telas e novos componentes, fazendo com que o Sistema execute mais rapidamente.

Figura 22 - Tela de cadastro de clientes

As telas de Funcionários, Fornecedores, Departamentos, Receitas e Produtos, têm a mesma finalidade e entendimento da figura anterior. Diferenciando somente nas suas particularidades.

A figura 23 mostra o Cadastro de Vendas, que contém todos os dados da venda. A partir desta, podemos saber quais e quantos produtos foram vendidos, quando e para qual cliente. Com a saída de produtos, o controle de estoque é baixado automaticamente após a finalização da venda, facilitando o controle do administrador e/ou gerente. Consegue também verificar quanto que vendeu.

Figura 23 - Tela de cadastro de vendas

Observam-se que “as organizações estão usando os sistemas de informação para coordenar atividades e decisões para toda a empresa e até mesmo setores inteiros” (LAUDON E LAUDON, 2005). É na tela de relatório que isto é evidenciado, pois servirão de subsídio para os gerentes, obtendo informações essenciais para a tomada de decisão precisa, metas, planejamentos e criação de outras listas para diversos fins.

Os relatórios têm por finalidade apresentar resultados satisfatórios, no qual o leitor identifica as falhas, se houver, reajustam e alteram quando necessário para a obtenção de sucesso.

Através destes, a empresa responde mais rapidamente às exigências impostas e sempre planejando no crescimento e melhoria, agregando grandes vantagens.

Na figura 24, pode ser visto o relatório de Vendas por data, no qual relaciona todas as vendas efetuadas naquela data escolhida, os clientes que efetuaram a compra e em que horário.

Através desta tela a empresa sabe

Figura 24 - Tela de relatório de vendas por data

No relatório de cliente por cidade, apresentado pela figura 25, a tela foi filtrada pela cidade “Campos dos Goytacazes”, aparecendo o nome dos clientes e seus respectivos códigos cadastrados por este tipo de cidade.

Figura 25 - Tela de relatório de clientes por cidade

Por meio dos relatórios gerenciais, a organização formula estratégias mais coerentes, identificando e interpretando os sinais de mudança, analisando o ambiente no qual está inserida e sugerindo projeções em acordo com a missão e visão empresarial.

Há de se considerar que implementar qualquer ação na empresa envolve o uso de tomada de decisão.

A tomada de decisão não poderá prescindir em suposições, boatos e intuições, mas em informações reais e fatos devidamente comprovados, capaz de dirigir ou de aproveitar todas as informações oferecidas. As decisões advindas destes relatórios, podem ser simples ou complexas, específicas ou estratégicas e as consequências advindas podem ser imediatas, em curto prazo, longo prazo ou uma combinação dessas formas (GOMES et al, 2002).

Há um relatório gerencial especial, pois apresenta a classificação ABC (Pareto). Esta classificação “é uma ordenação dos itens consumidos em função de um valor financeiro. Uma vez ordenados os itens, dividimos em três categorias - A, B e C” (LAUGENI e MARTINS, 1999).

Laugeni e Martin (1999), afirmam que

Classe A - é constituída por poucos itens (até 10% ou 20% dos itens) e apresenta alto valor de consumo acumulado (acima de 50% até 80% em geral)

Classe B - é constituída por um número médio de itens (20% a 30% em geral) e apresenta um valor de consumo acumulado ao redor de 20% a 30%.

Classe C - é constituída por um grande número de itens (acima de 50%) e apresenta um baixo valor de consumo acumulado para a classe (5% a 10%).

(LAUGENI e MARTINS, 1999).

Figura 26 - Tela da classificação ABC

A figura 26 apresenta o explicado anteriormente, pois mostra todos os itens consumidos no mês anterior, devidamente listados conforme a classificação ABC. A classe A contém 2 itens, ou 18,18% dos itens vendidos (2 itens de 11 itens) e 50,76% do valor total vendido. A classe B contém 3 itens, representando 27,27% dos itens vendidos e aproximadamente 26,40% (77,16% - 50,76%) do valor total vendido. A classe C é constituída por 54,55% dos itens (6 itens de 11 itens) e apresenta 22,84% (100% - 77,16%) do valor total vendido.

Essa classificação tem por finalidade verificar quais os itens que têm o maior “peso” no faturamento mensal, para que a política de estoque possa ser traçada e o controle seja mais rigoroso. Observa-se que os produtos com códigos 3 e 2 possuem mais da metade da venda, com esta informação, o gerente deve monitorar minuciosamente o processo de venda e compra, se dedicando mais a esta classificação A, pois esta classe compõe um valor de estoque elevado, com isso, devem ser ressupridos por modelos de Just-in-time, Laugeni e Martins (1999). Garantindo o

abastecimento de materiais, neutralizando ou minimizando os efeitos de: atraso no fornecimento de materiais, sazonalidades e riscos de dificuldade no fornecimento.

Este controle rigoroso é pensando no cliente, pois a falta destes produtos ou inadequações para consumo, resulta em perda de venda e consequentemente de cliente. Ao verificar quais itens são mais movimentados, deve-se fazer um estudo quanto ao layout mais adequado para o fluxo de materiais e pessoas, reduzindo assim, o custo do transporte interno, porque sabemos que quanto maior a movimentação interna de um produto, menor será o lucro proporcionado pelo mesmo.

Os produtos pertencentes à classe C são aqueles que possuem o menor faturamento, podendo ser acompanhado com menor frequência, Laugeni e Martins (1999). Deve-se destacar que “a inconveniência a ser evitada é a oferta de alto desempenho de serviço em itens menos lucrativos adquiridos por clientes ocasionais e não preferenciais” (BOWERSOX e CLOSS, 2001).

Por outro lado “os itens B sempre terão critérios de nível de estoque e de controle, intermediários aos itens A e C” (LAUGENI e MARTINS, 1999).

Todo trabalho funcional deve ser executado de maneira integrada, para que se obtenha o máximo de vantagens, conforme relacionado a seguir:

 Confidencialidade - restrição no acesso, podendo as consultas serem restritas a um grupo de pessoas, para não haver exposição;

 Rapidez nas respostas para o suporte na tomada de decisão;

 Redução no tempo escasso;

 Facilidade na busca do histórico para a minimização de erros;

 Agilidade no atendimento;

 Legibilidade - facilidade na leitura;

 Inexistência ou redução na ambigüidade das informações - racionamento da informação, para que não haja perda, pois com o modo manual se tem dificuldade de pesquisa, há uma falta de padronização e dificuldade de acesso;

 Facilidade e controle na busca de informações;

 Melhoria na comunicação dentro da organização;

 Obtenção de preenchimentos obrigatórios - com a informatização pode-se exigir que determinados campos/ lacunas sejam preenchidos, e com o papel isso pode passar despercebido, dificultando em futuras pesquisas;

 Relatórios disponíveis a qualquer momento;

 Segurança;

 Melhora na qualidade do atendimento, devido ao vasto acesso de informações;

 Dados sempre atualizados;

 Gerenciamento dos recursos;

 Controle dos processos;

 Filtragem nos dados;

 Facilidade na avaliação da qualidade em comparação com as normas e procedimentos;

 Padronização - necessária para viabilizar o uso de sistemas de apoio à decisão e sistemas de alerta, bem como são indispensáveis para a interoperabilidade entre os sistemas;

 Classificação ABC;

 Redução da circulação de papéis;

 Entre outros.

Este sistema possibilita extrair informações que geram conhecimentos úteis, nos quais os dados são transformados em informações com potencial de uso. A necessidade de implementação de novas tecnologias é inevitável e com isso deverá haver mudanças na cultura, exigindo assim transformação de gestão.

.

CONCLUSÃO

Um projeto de informatização tem como principal função analisar as características da empresa e apontar os pontos onde são necessários controles informatizados, fazendo uma análise junto à gerência e funcionários capacitados dos setores.

O software desenvolvido apresenta uma interface amigável entre o usuário e o sistema, facilitando a aceitação das mudanças nos procedimentos até então adotados, mesmo por aquelas pessoas que não lidam com a informática no seu dia-a-dia.

Conforme visto, o software foi desenvolvido em Delphi, devido à sua facilidade de programação e também à facilidade de se introduzir componentes, pois linguagens mais modernas como é o caso do JAVA torna este processo muito mais complexos, tomando muito tempo na programação desnecessariamente, em comparação ao tipo de serviço prestado. Em relação ao banco de dados escolhido, optamos primeiramente pelo MySQL Essential, porém existiu uma dificuldade na conexão entre o Delphi e o MySQL, para solucionar esta dificuldades, modificamos o banco de dados para PostgresSQL e utilizamos o plugin ZEOSLib para realizar a conexão.

A automatização dos processos envolvidos neste ramo de negócio melhora sobremaneira a forma de organização da empresa, permitindo aos proprietários um total controle dos aspectos mais relevantes para o sucesso do negócio, como por exemplo, o cadastro de vendas e o cadastro de clientes, entre outros. Estes cadastros são referências, pois mostram que os processos repetitivos podem ser automatizados, não só para facilitar, agilizar e padronizar o atendimento dos clientes, internos ou externos, mas também para organizar o negócio como um todo. Vimos que o software auxilia o proprietário a manter seus contatos, seja com os fornecedores ou com os clientes, mais organizados e atualizados, facilitando assim a consulta de dados e a agilidade de se encontrar o que necessita.

Como o foco principal para a idealização deste projeto é o controle de estoque, este foi plenamente atingido, e ainda foi mais além no que se refere à administração, pois o sistema oferece a classificação ABC, que é uma ferramenta gerencial de auxilio na identificação dos itens, conforme definido previamente, que necessitam de atenção especial no ciclo PDCA - planejar, executar, verificar e agir - em relação à gestão do estoque (arrumação, layout,

transporte, organização, armazenagem, reposição, recebimento, lote econômico, entre outros) e gestão de compra e venda.

Este protótipo foi apresentado ao sócio proprietário e o mesmo ficou bastante satisfeito com o trabalho desenvolvido, foi informado que só falta o módulo de compra a ser desenvolvido e alguns relatórios. Então foi proposta uma nova reunião com as pessoas “chaves” para manusearem o protótipo, com o intuito de identificar alguma necessidade não informada anteriormente ou dificuldades encontradas, para que possa haver a correção necessária, conclusão do trabalho e implantação do mesmo.

REFERÊNCIAS

A ENCICLOPÉDIA LIVRE (WIKIPEDIA). Disponível em: <http://www.wikipedia.org.br>.

Acesso em 28/12/2008.

ASSOCIAÇÃO BRASILEIRA DA INDÚSTRIA DA PANIFICAÇÃO E CONFEITARIA (ABIP). Disponível em: <http://www.abip.org.br>. Acesso em: 02 maio 2008.

BENDLIN, Alexandre. Apostila de Delphi Básico: – Centro Politécnico Geraldo Werninghaus (CEPEG), Set. 2007.

BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar. UML Guia do Usuário. 6. ed. Rio de Janeiro: Campus, 2000.

BORGES, Rafael M. Integrando UML e métodos formais. 2004. Trabalho de Graduação - Universidade Federal de Pernambuco. Disponível em: <http://www.cin.ufpe.br/~tg/2004- 1/rmb2.pdf>. Acesso em 11/11/2008.

BOWERSOX, Donald J., CLOSS, David J. Logística Empresarial: O processo de Integração da Cadeia de Suprimento. São Paulo: Atlas, 2001.

BRASIL. Lei federal nº. 10.406, Art. 966, de 10 de janeiro de 2002. Institui o Código Civil Brasileiro. Diário Oficial (da) República Federativa do Brasil, Poder Executivo, Brasília, DF, 11/01/02.

CASTRO, Antônio B. de, POSSAS, Mário L., PROENÇA, Adriano. Estratégias empresariais na indústria brasileira: discutindo mudanças. Rio de Janeiro: Florence Universitária, 1998.

DECENZO, A. D.; ROBBINS, P. Stephen. Administração de recursos humanos. Rio de Janeiro:

LTC, 2001.

DEMO, P. Educação e Qualidade. 3. ed. São Paulo: Papiros, 1994.

DIVISÃO DE PROCESSAMENTO DE IMAGENS (DPI). Disponível em:

<http://www.dpi.inpe.br/~gribeiro/apresentacoes/uml_2008_02_29.pdf>. Acesso em 07/03/2009.

Elementos UML, 2008. Diagrama de Caso de Uso. Disponível em:

<http://docs.kde.org/stable/pt_BR/kdesdk/umbrello/uml-elements.html>, Acesso em 07/03/2009.

FREITAS, A. L. P., Emprego de Uma Abordagem Multicritério na Avaliação e Classificação da Qualidade de Serviços. 109f. Dissertação (Mestrado em Ciências de Engenharia)- Universidade Estadual do Norte Fluminense, Fundação Estadual do Norte Fluminense, Campos dos Goytacazes, Mar 1997.

FOWLER, Martin, SCOTT, Kendall, UML Essencial: uma breve guia para a linguagem-padrão de modelagem de objetos. 2. ed. Porto Alegre: Bookman, 2000.

GOMES, L. F. A. M.; GOMES, C. F. S.; ALMEIDA, A. T. Tomada de decisão gerencial:

enfoque multicritério. São Paulo: Atlas, 2002.

HAIDT, R. C. C. Curso de Didática Geral. São Paulo: Ática, 1996.

INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA (IBGE). Disponível em:

<http://www.ibge.gov.br>. Acesso em: 08/05/2008.

LARMAN, Craig. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos e ao processo unificado. 2. ed. Porto Alegre: Bookman, 2004.

LAUGENI, Fernando P., MARTINS, Petrônio G. Administração da Produção. São Paulo:

Saraiva, 1999.

LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de Informações gerenciais: administrando a empresa digital. 5. ed. São Paulo: Pearson, 2005.

LOBOS, Jorge. Qualidade através das pessoas. 10. ed. São Paulo: Instituto da Qualidade, 1991.

MANSUR, A. F. U., APLICAÇÃO DA METODOLOGIA ELEQUAL PARA AVALIAÇÃO DA QUALIDADE EM SERVIÇOS: Um estudo de caso. 55f. Dissertação (Mestrado em Ciências de Engenharia) - Universidade Estadual do Norte Fluminense, Fundação Estadual do Norte Fluminense, Campos dos Goytacazes, Set. 2000.

NIEDERAUER, Juliano. PostgreSQL. São Paulo: Novatec, 2002.

NOGUEIRA, Admilson. Histórico da UML. IMasters, 2005. Disponível em:

<http://imasters.uol.com.br/artigo/2994/uml/historico_da_uml> Acesso em 07/03/2009.

POSTGRESQL. Disponível em: <www.postgresql.org.br> Acesso em 07/07/2009.

PROGRAMA DE APERFEIÇOAMENTO DA PANIFICAÇÃO (PROPAN). Disponível em:

<http://www.propan.com.br> Acesso em: 08/05/2008.

RAMOS, Flávio. A grande dimensão da pequena empresa: Perspectivas de ação. Brasília:

SEBRAE, 1995.

RIBEIRO, Kíssila da C., Contribuição da análise multicritério à avaliação de fatores que interferem nos resultados de melhoria da empresa K. 91f. Monografia (Graduação em Administração) - Universidade Candido Mendes, Campos dos Goytacazes, Mar 2007.

RIBEIRO, Tania Aparecida A. da C., Avaliação Institucional de IES: Um estudo de caso sob a óptica do corpo discente. 110f. Dissertação (Mestrado em Ciências de Engenharia) - Universidade Estadual do Norte Fluminense, Fundação Estadual do Norte Fluminense, Campos dos Goytacazes, Mar 2003.

SAUVÉ, Jacques P. Diagrama de Use Cases. Departamento de Sistemas e Computação – UFCG.

Disponível em:

<http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/diagramas/usecases/usecases.htm>, Acesso em 07/03/2009.

SANDHUSEN, Richard L. Marketing básico. 2. Ed. São Paulo: Saraiva 1998.

SERVIÇO BRASILEIRO DE APOIO À MICRO E PEQUENAS EMPRESAS (SEBRAE).

Disponível em: <http://www.sebrae.com.br>. Acesso em: 08/05/2008.

SLACK, Nigel. CHAMBERS, Stuart, HARLAND Christine. HARRISON, Alan. JOHNSTON, Robert. Administração da Produção. Edição Compactada. São Paulo: Atlas, 1999.

SILVA, Flávia Gomes da, TEIXEIRA Joana de Souza, GONÇALVES, Lidiani Sales.

Modelagem de um Sistema de Registro Acadêmico para o CEFET Campos. 109f. Trabalho de Conclusão de Curso (Tecnologia em Desenvolvimento de Software) – Centro Federal de Educação Tecnológica de Campos, Campos dos Goytacazes/RJ, Abr 2008.

STARUML. Disponível em: <http://staruml.sourceforge.net> Acesso em 15/10/2008.

TACHIZAWA, E. T. Determinação de indicadores de qualidade para avaliação do processo de gestão de pequenas e médias empresas do setor de construção civil habitacional. Brasília:

SEBRAE, 1995.

VARGAS, Thânia Clair de Souza. A história de UML e seus diagramas. Disponível em

<http://projetos.inf.ufsc.br/arquivos_projetos/projeto_721/artigo.tcc.pdf>. Acesso em 02/01/2009.

ANEXO

Código Fonte da Tela de Cadastro de vendas:

unit UCadVenda;

interface

uses

Windows, DB, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Mask, DBCtrls, ComCtrls, ExtCtrls,

ZAbstractRODataset, ZAbstractDataset, ZDataset;

type

TFormCadVenda = class(TForm) GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

StatusBar1: TStatusBar;

DBListBox1: TDBListBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

DBEdit3: TDBEdit;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

BitBtn3: TBitBtn;

DBEdit4: TDBEdit;

Timer1: TTimer;

GroupBox4: TGroupBox;

BitBtn2: TBitBtn;

BitBtn4: TBitBtn;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

BitBtn1: TBitBtn;

BitBtn5: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

QueryVendas: TZQuery;

QueryVendasvendid: TIntegerField;

QueryVendasvendcliente: TIntegerField;

QueryVendasvenddatavenda: TDateField;

QueryVendasvendvalorprodutos: TFloatField;

QueryVendasvenddesconto: TFloatField;

QueryVendasvendacrescimo: TFloatField;

QueryVendasvendqtd: TIntegerField;

QueryVendasvendhora: TTimeField;

procedure Timer1Timer(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure DBLookupComboBox1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure DBLookupComboBox2Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } total,valor,porc,teste : real;

qtd : integer;

end;

var

FormCadVenda: TFormCadVenda;

implementation

uses ULogin, UMenuPrincipal, UDM;

{$R *.dfm}

procedure TFormCadVenda.Timer1Timer(Sender: TObject);

begin

StatusBar1.Panels[0].Text := ' Usuário:' + FormLogin.EdtLogin.Text + ' - '+

FormMenuPrincipal.FunDepto;

StatusBar1.Panels[2].Text := ' ' + FormatDateTime('hh:nn:ss',now); //

StatusBar1.Panels[1].Text := ' ' + FormatDateTime ('dddd", "dd" de "mmmm" de

"yyyy',now);

end;

procedure TFormCadVenda.FormShow(Sender: TObject);

begin inherited;

Dm.Tab_Vendas.Open;

Dm.Tab_ItemVendas.Open;

Dm.Tab_Clientes.Open;

Dm.Tab_Produtos.Open;

Dm.Tab_Vendas.Last;

teste := Dm.Tab_Vendasvendtotal.Value;

Dm.Tab_Vendas.First;

{If (FormMenuPrincipal.FunDepto = 'Limpeza') then begin

BtnAdicionar.Enabled := false;

BtnSalvar.Enabled := false;

BtnAlterar.Enabled := false;

BtnCancelar.Enabled := false;

BtnDeletar.Enabled := false;

end;}

DBLookupComboBox1.Enabled := false;

DBLookupComboBox2.Enabled := false;

end;

procedure TFormCadVenda.FormClose(Sender: TObject;

var Action: TCloseAction);

begin inherited;

Dm.Tab_Vendas.Close;

Dm.Tab_Clientes.Close;

Dm.Tab_ItemVendas.Close;

DM.Tab_Produtos.Close;

end;

procedure TFormCadVenda.BitBtn2Click(Sender: TObject);

begin inherited;

Dm.Tab_Vendas.Insert;

Dm.Tab_VendasVendDataVenda.Value := StrToDate(FormatDateTime ('dd"/"MM"/"yyyy',now));

Dm.Tab_Vendasvendhora.Value := StrToTime(FormatDateTime('hh:nn:ss',now));

DBLookupComboBox1.Enabled := true;

total:=0;

end;

procedure TFormCadVenda.BitBtn4Click(Sender: TObject);

begin

FormCadVenda.Close;

end;

procedure TFormCadVenda.DBLookupComboBox1Click(Sender: TObject);

begin

Dm.Tab_VendasVendCliente.Value := Dm.Tab_ClientesCliCodigo.Value;

end;

procedure TFormCadVenda.BitBtn1Click(Sender: TObject);

begin inherited;

Dm.Tab_ItemVendas.Insert;

valor := 0;

DBLookupComboBox1.Enabled := False;

DBLookupComboBox2.Enabled := true;

end;

procedure TFormCadVenda.DBLookupComboBox2Click(Sender: TObject);

begin

Dm.Tab_ItemVendasitveproduto.Value := Dm.Tab_Produtosprodcodigo.Value;

valor := Dm.Tab_ProdutosProdPrecoVenda.Value;

Dm.Tab_ItemVendasItVePreco.Value := Dm.Tab_ProdutosProdPrecoVenda.Value;

end;

procedure TFormCadVenda.BitBtn5Click(Sender: TObject);

begin

qtd := Dm.Tab_ItemVendasItVeQtd.Value;

total := total + (valor*qtd);

DBEdit4.Text := FloatToStr(total);

DBListBox1.Items.Add('Produto: ' + DM.Tab_ProdutosProdDescricao.Value + ' ---> Preço Unitário: ' + FloatToStr(Dm.Tab_ItemVendasItVePreco.Value) + ' Quantidade: ' +

IntToStr(Dm.Tab_ItemVendasItVeQtd.Value));

Dm.Tab_Produtos.Edit;

Dm.Tab_ProdutosProdQtdEst.Value := Dm.Tab_ProdutosProdQtdEst.Value - qtd;

Dm.Tab_Produtosprodqtdvend.Value := Dm.Tab_Produtosprodqtdvend.Value + qtd;

Dm.Tab_Produtosprodvalortotal.Value := Dm.Tab_Produtosprodprecovenda.Value * Dm.Tab_Produtosprodqtdvend.Value;

Dm.Tab_ItemVendasItVeVenda.Value := Dm.Tab_VendasVendID.Value;

Dm.Tab_Produtos.Post;

Dm.Tab_ItemVendas.Post;

DBLookupComboBox2.Enabled := false;

end;

procedure TFormCadVenda.BitBtn3Click(Sender: TObject);

begin

Edit2.Text := FloatToStr(StrToFloat(Edit1.Text) - total);

Dm.Tab_VendasVendValorProdutos.Value := total;

Dm.Tab_Vendasvendtotal.Value := Dm.Tab_VendasVendValorProdutos.Value + teste;

Dm.Tab_Vendas.Post;

end;

end.

Código Fonte da Tela de Gerar Relatório Gerencial

unit UABCGerar;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math;

type

TFormABCGerar = class(TForm) Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

var

FormABCGerar: TFormABCGerar;

implementation

uses UDM, ZAbstractRODataset;

{$R *.dfm}

procedure TFormABCGerar.Button1Click(Sender: TObject);

var fporcentagem_acumulada, ftotal_vendas, fporcentagem_valor_total: Real;

itotal_registros, i, x, y, z, qtde_classe_a, qtde_classe_b, qtde_classe_c, a, b, c: Integer;

steste, steste1, steste2, steste3 : String;

begin

with Dm.QrAcao_1 do begin

Close;

SQL.Clear;

SQL.Add('UPDATE produtos SET classificacao=''Classe C'';');

ExecSQL;

end;

Dm.Tab_Produtos.Open;

fporcentagem_acumulada:=0;

iTotal_Registros := Dm.Tab_Produtos.RecordCount;

qtde_classe_a:=Round(iTotal_Registros*0.1);

qtde_classe_b:=Round(iTotal_Registros*0.4);

qtde_classe_c:=iTotal_Registros-(qtde_classe_a+qtde_classe_b);

z:=0;

a:=qtde_classe_a;

b:=qtde_classe_a+qtde_classe_b;

c:=qtde_classe_c;

showmessage(Inttostr(iTotal_Registros));

showmessage(Inttostr(a));

showmessage(Inttostr(b));

with Dm.QrAcao do begin

Close;

SQL.Clear;

SQL.Add('SELECT SUM(prodvalortotal) AS total FROM produtos;');

Open;

Documentos relacionados