39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

11
Home Delphi Downloads Eleições 2010 Firebird Noticias Off Topics Outros sql Tutoriais veja Pesquisar no Blog... Home > Firebird, Tutoriais > controle de estoque – como baixar estoque em varias filiais usando trigger – 1/3 controle de estoque – como baixar estoque em varias filiais usando trigger – 1/3 June 7th, 2010 Fernando Medeiros Leave a comment Go to comments Olá pessoal, É bem comum programadores iniciantes, desenvolverem um pequeno controle de estoque. A maior dificuldade não está no desenvolvimento, a técnica muitos dominam. O maior problema é analisar os requisitos sem ter aquela visão além do alcance, rs. Alguns, depois de algum tempo, percebem que a pequena criação precisa de muitas mudanças e pensam seriamente em replanejar uma nova versão do software. Voltando ao controle de estoque, um exemplo prático da falta de visão dos iniciantes: Uma pequena confecção cresce e o controle de estoque deve ser distribuído entre 3 filiais. Se o software não foi planejado para essa situação, nosso programador vai ter um pouco de trabalho. Já vimos que ele precisa amadurecer e é nessa situação que o profissional mais aprende. O nível de aprendizado vai depender da atitude e coragem do profissional, já que o conhecimento da regra de negócio deixou a desejar. Alguns programadores resolvem dessa forma: Criando 3 campos para controlar o estoque na tabela produtos, mas eu já vi coisa pior: 18/10/2010 controle de estoque – como baixar esto… fernandomedeiros.com.br/…/controle-d… 1/4

Transcript of 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Page 1: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

HomeDelphiDownloadsEleições 2010FirebirdNoticiasOff TopicsOutrossqlTutoriaisveja

Pesquisar no Blog...

Home > Firebird, Tutoriais > controle de estoque – como baixar estoque em varias filiais usando trigger – 1/3

controle de estoque – como baixar estoque em varias filiais usando

trigger – 1/3

June 7th, 2010 Fernando Medeiros Leave a comment Go to comments

Olá pessoal,

É bem comum programadores iniciantes, desenvolverem um pequeno controle de estoque.A maior dificuldade não está no desenvolvimento, a técnica muitos dominam. O maior problema é analisar osrequisitos sem ter aquela visão além do alcance, rs.

Alguns, depois de algum tempo, percebem que a pequena criação precisa de muitas mudanças e pensamseriamente em replanejar uma nova versão do software.

Voltando ao controle de estoque, um exemplo prático da falta de visão dos iniciantes:

Uma pequena confecção cresce e o controle de estoque deve ser distribuído entre 3 filiais. Se o software não foiplanejado para essa situação, nosso programador vai ter um pouco de trabalho. Já vimos que ele precisaamadurecer e é nessa situação que o profissional mais aprende.

O nível de aprendizado vai depender da atitude e coragem do profissional, já que o conhecimento da regra denegócio deixou a desejar.

Alguns programadores resolvem dessa forma:

Criando 3 campos para controlar o estoque na tabela produtos, mas eu já vi coisa pior:

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 1/4

Page 2: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Preciso falar alguma coisa ?

Mas nosso programador analisou bem a situação e resolveu dessa forma:

Primeiro ele removeu qualquer referência ao estoque na tabela produtos ( claro que existem outros campos masvamos comentar apenas sobre os relacionados ao estoque )

A confecção cresceu, ele percebe que deve criar uma tabela para cadastrar as filiais:

Nessa tabela ele identifica a filial e o produto, fica muito mais fácil baixar qualquer produto em qualquer filial

A tabela de vendas, ele incluiu o campo filialid que identifica em qual filial deve ser dado a baixa naqueleproduto.

No próximo tutorial, veremos como o programador fez a baixa no estoque através de triggers

Firebird, Tutoriais | controle de estoque, Firebird, tutfb06, tutorial

Comments (4) Trackbacks (0) Leave a comment Trackback

1. Aloisio PiresJanuary 14th, 2010 at 20:56 | #1Reply | Quote

Olá Fernando!

Parabéns por compartilhar com os companheiros programadores sua experiência. Sou programadorDelphi e nesse longo caminho da evolução estava buscando um forma mais inteligente de controlarestoques em vários locais (filiais e depósitos) foi aí que encontrei este excelente artigo que me mostrouuma forma eficiente de fazer isto.

Grande abraço!

2. Fernando MedeirosJanuary 15th, 2010 at 00:53 | #2Reply | Quote

Olá Aloísio,O bom de compartilhar é a satisfação de ter ajudado alguem. Quantos de nós não já ficou perdido comuma regra de negócio ? Obrigado por comentar e pelo elogio. Abracos

3. AnselmoAugust 27th, 2010 at 12:05 | #3Reply | Quote

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 2/4

Page 3: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Se eu fosse juntar todos os tutorias otimos como este aqui, diria que nao existe coisas ruim nesse mundo.Parabens!!!

4. Fernando MedeirosAugust 27th, 2010 at 13:05 | #4Reply | Quote

Opa Anselmo, obrigado pelo apoio.Espero te-lo ajudado com algum tutorial.Abraços

1. No trackbacks yet.

Name (required)

E-Mail (will not be published) (required)

Website

Security Code:

Subscribe to comments feed

Submit Comment

XML Generator – Stored Procedure Firebird controle de estoque – como baixar estoque em varias filiaisusando trigger – 2/3RSSNewsletter TwitterNotebook Dell 15R com 4gb e i5 sem frete

DevMedia Posts:

Ponteiros Clube Delphi 118

Neste artigo abordaremos ponteiros: sua sintaxe atual e mudança...

Introdução Métodos Ágeis ���� Curso Scrum Parte 1Nesta vídeo aula, será mostrado alguns problemas no dese...

Curso online Aplicações Client/Server com dbExpress e Firebird

Veja nesse curso online todas as características de uma aplica&...

www.devmedia.com.br

Categories

DelphiDownloadsEleições 2010FirebirdNoticiasOff TopicsOutrossqlTutoriaisveja

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 3/4

Page 4: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Blogroll

Firebird

Instalação e Configuração

No Windows, No Linux, FirewallWindows

Básico

Banco de Dados, Tabela, Generators Triggers, Prefixos New e Old

Alguns Erros

Lock conflict... Wrong or...Unsupported on... Unavaliable...Arithmetic exception...

Estoque

Planejando tabelas, Eventos "afterinsert/update", Evento "after delete"

Curso Stored Procedures

Lição 1 - Parâmetros de Saída Lição 2 - Parâmetros de Entrada Lição 3 - Condições ( if...then...else) Lição 4 - Declarando Variáveis Lição 5 - Loop's ( while...end ) Lição 6 - Suspend - Retornando dados Lição 7 - Cursores - for select...do

Controle de Saldos

Saldo anterior, Listar Extrato, Saldo atual

Intermediário

Listar Produtos, Vendas Anuais Vendas Mensais, Referência CruzadaReferência Cíclica, Recursividade

Avançado

XML Generator

Passagens Aéreas com Ofertas OnlineExclusivasCompre na Decolar e programe todawww.Decolar.com/passagem

Venha P/ o Atual SantanaApto de 4 dorms e até 284m² em.www.Lopes.com.br/aptoatualsantana

Loja Aves da MataVenda de papagaios, araras e passarinhos.www.avesdamata.com.br

Links Patrocinados

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 4/4

Page 5: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

HomeDelphiDownloadsEleições 2010FirebirdNoticiasOff TopicsOutrossqlTutoriaisveja

Pesquisar no Blog...

Home > Firebird, Tutoriais > controle de estoque – como baixar estoque em varias filiais usando trigger – 2/3

controle de estoque – como baixar estoque em varias filiais usando

trigger – 2/3

June 7th, 2010 Fernando Medeiros Leave a comment Go to comments

Nesse tutorial vamos criar 2 procedures para dar baixa no estoque de cada produto.

Duas triggers serão necessárias na tabela vendas.

Uma no evento after insert (depois de inserir) e outra no evento after update (depois de alterar).

Como identificar em que evento colocar seus códigos ?

Sempre que quiser alterar/incluir/excluir um registro em outra tabela que não seja a atual (vendas), coloque

seu código no evento after e quando quiser alterar um registro na tabela atual, é no evento before que deve

inserir seu código.

Para tratar a inclusão de um registro na tabela vendas:

Neste código, estamos atualizando o campo estoque na tabela estoques assim que um registro na tabela vendas

for incluido.

Os campos new.filialid e new.produtoid da tabela vendas vão auxiliar na identificação do registro na tabela

estoques.

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 1/4

Page 6: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Na trigger acima, vamos devolver a quantidade antiga ao estoque (+old.quantidade) e tirar a quantidade nova (-

new.quantidade).

Viram como os sufixos new e old ajudam ?

No próximo tutorial vamos tratar a exclusão do registro na tabela vendas.

Firebird, Tutoriais | controle de estoque, Firebird, tutfb06, tutorial

Comments (5) Trackbacks (0) Leave a comment Trackback

1. Dário

March 23rd, 2010 at 18:11 | #1

Reply | Quote

Cara eu fiz as duas trigger testei as duas foi um beleza, mas se for possivél poderia mim tirar a seguinte

duvida. No caso de um retorno ao estoque como eu utilizo a trigger ex. Nota Fiscal

De qualquer forma valeu!

2. admin

March 24th, 2010 at 01:57 | #2

Reply | Quote

Amigo,

Não entendi mas considerando que esteja falando sobre nota fiscal de entrada, você faria da mesma

forma, so que ao inves de tirar(-) do estoque você vai adicionar(+). Dai você vai criar as 3 triggers

insert/update/delete.

Se eu nao entendi, por favor, detalhe mais. Abracos

3. Dário

March 25th, 2010 at 12:31 | #3

Reply | Quote

Dário :

Desculpa acho que eu escrevi de forma errada! Veja criei essa trigger com uma instrução if

no caso ela vai verificar se o campo negado esta com valor 1 se o valor for 1, não sera dado

baixa no estoque, mas quando eu colocar outro valor dara baixa normalmente.

CREATE TRIGGER “Saida_Estoque” FOR “SERVPROD”

ACTIVE AFTER INSERT POSITION 1

AS

begin

/* Trigger text */

if (new.negado = ‘1′) then

update estoque

SET QTD = QTD + NEW.qtd

WHERE CODPRO = NEW.CODPRO;

end

O codigo fuciona o problema é que eu quero ver se é possivel que na hora que altere o

campo negado para ‘2′ ele baixe o estoque. Fucionaria como um orçamento que não dar

baixa no estoque de imediato so com aprovação do cliente! ok

De qualquer forma eu agradeço pela atenção!

4. admin

March 25th, 2010 at 20:46 | #4

Reply | Quote

Sim Dario. Mas recomendo criar uma outra tabela para separar uma regra de negocio da outra.

Orcamento e uma coisa, Vendas é outra.

(minha opiniao).

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 2/4

Page 7: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

5. Dário

March 26th, 2010 at 10:49 | #5

Reply | Quote

Valeu de certo! Muito obrigado pela dica!

1. No trackbacks yet.

Name (required)

E-Mail (will not be published) (required)

Website

Security Code:

Subscribe to comments feed

Submit Comment

controle de estoque – como baixar estoque em varias filiais usando trigger – 1/3 controle de estoque – como

baixar estoque em varias filiais usando trigger – 3/3

RSS

Newsletter Twitter

Notebook Dell 15R com 4gb e i5 sem frete

DevMedia Posts:

Ponteiros Clube Delphi 118

Neste artigo abordaremos ponteiros: sua sintaxe atual e mudança...

Introdução Métodos Ágeis ���� Curso Scrum Parte 1Nesta vídeo aula, será mostrado alguns problemas no dese...

Curso online Aplicações Client/Server com dbExpress e Firebird

Veja nesse curso online todas as características de uma aplica&...

www.devmedia.com.br

Categories

Delphi

Downloads

Eleições 2010

Firebird

Noticias

Off Topics

Outros

sql

Tutoriais

veja

Blogroll

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 3/4

Page 8: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Firebird

Instalação e Configuração

No Windows, No Linux, Firewall

Windows

Básico

Banco de Dados, Tabela, Generators

Triggers, Prefixos New e Old

Alguns Erros

Lock conflict... Wrong or...

Unsupported on... Unavaliable...

Arithmetic exception...

Estoque

Planejando tabelas, Eventos "after

insert/update", Evento "after delete"

Curso Stored Procedures

Lição 1 - Parâmetros de Saída

Lição 2 - Parâmetros de Entrada

Lição 3 - Condições ( if...then...else)

Lição 4 - Declarando Variáveis

Lição 5 - Loop's ( while...end )

Lição 6 - Suspend - Retornando dados

Lição 7 - Cursores - for select...do

Controle de Saldos

Saldo anterior, Listar Extrato, Saldo atual

Intermediário

Listar Produtos, Vendas Anuais

Vendas Mensais, Referência Cruzada

Referência Cíclica, Recursividade

Avançado

XML Generator

Imóvel em Vila Medeiros - Consulte umCorretor OnlineSeu Imóvel está aqui. Clique e façawww.Lopes.com.br

Serviço Autorizado Hobart Curitiba (32844661)Assistencia Técnica e Peças Hobartwww.hobartcuritiba.com.br

Building ConectoresConectores Eletro-Eletronicos, Placa de Bornes,Tomadas e interruptor.www.building.ind.br

Links Patrocinados

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 4/4

Page 9: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

HomeDelphiDownloadsEleições 2010FirebirdNoticiasOff TopicsOutrossqlTutoriaisveja

Pesquisar no Blog...

Home > Firebird > controle de estoque – como baixar estoque em varias filiais usando trigger – 3/3

controle de estoque – como baixar estoque em varias filiais usando

trigger – 3/3

June 7th, 2010 Fernando Medeiros Leave a comment Go to comments

Agora que já entenderam como trabalhar com as triggers after insert e after update, vamos escrever a trigger

after delete:

Não tem mistério, sempre que um registro na tabela vendas for excluído, a trigger acima será responsável por

devolver ao estoque a quantidade que foi tirada anteriormente.

Espero que tenham gostado. Até a próxima.

Firebird | controle de estoque, Firebird, triggers, tutfb06, tutorial

Comments (0) Trackbacks (0) Leave a comment Trackback

1. No comments yet.

1. No trackbacks yet.

Name (required)

E-Mail (will not be published) (required)

Website

Security Code:

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 1/3

Page 10: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Subscribe to comments feed

Submit Comment

controle de estoque – como baixar estoque em varias filiais usando trigger – 2/3 stored procedure – como

calcular o saldo anterior de uma conta bancaria 1/3

RSS

Newsletter Twitter

Notebook Dell 15R com 4gb e i5 sem frete

DevMedia Posts:

Ponteiros Clube Delphi 118

Neste artigo abordaremos ponteiros: sua sintaxe atual e mudança...

Introdução Métodos Ágeis ���� Curso Scrum Parte 1Nesta vídeo aula, será mostrado alguns problemas no dese...

Curso online Aplicações Client/Server com dbExpress e Firebird

Veja nesse curso online todas as características de uma aplica&...

www.devmedia.com.br

Categories

Delphi

Downloads

Eleições 2010

Firebird

Noticias

Off Topics

Outros

sql

Tutoriais

veja

Blogroll

Firebird

Instalação e Configuração

No Windows, No Linux, Firewall

Windows

Curso Stored Procedures

Lição 1 - Parâmetros de Saída

Lição 2 - Parâmetros de Entrada

Lição 3 - Condições ( if...then...else)

Lição 4 - Declarando Variáveis

Lição 5 - Loop's ( while...end )

Lição 6 - Suspend - Retornando dados

Avançado

XML Generator

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 2/3

Page 11: 39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1

Windows

Básico

Banco de Dados, Tabela, Generators

Triggers, Prefixos New e Old

Alguns Erros

Lock conflict... Wrong or...

Unsupported on... Unavaliable...

Arithmetic exception...

Estoque

Planejando tabelas, Eventos "after

insert/update", Evento "after delete"

Lição 6 - Suspend - Retornando dados

Lição 7 - Cursores - for select...do

Controle de Saldos

Saldo anterior, Listar Extrato, Saldo atual

Intermediário

Listar Produtos, Vendas Anuais

Vendas Mensais, Referência Cruzada

Referência Cíclica, Recursividade

Programas Culturais para Família com umSuper DescontoAproveite para conhecer os Museus,www.ClickOn.com.br/entretenimento

Pousadas com Desconto na Peixe UrbanoAs melhores pousadas com 60% de desconto!Confira e junta-se hoje!www.peixeurbano.com.br

Telas Guara 35 Anos Cercando Você deSegurança e QualidadeVariada linha de telas, grade,www.telasguara.com.br

Links Patrocinados

18/10/2010 controle de estoque – como baixar esto…

fernandomedeiros.com.br/…/controle-d… 3/3