39617374 Controle de Estoque 226 Como Baixar Estoque Em Varias Filiais Usando Trigger 226 1
-
Upload
jailson-silva -
Category
Documents
-
view
301 -
download
17
Transcript of 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
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
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
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
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
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
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
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
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
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
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