Orçamento e venda e baixa em estoque..

09/12/2005

0

e aí ? alguém poderia me dar uma idéia de como resolver este problema...tenho um sistema que que vair gerar um orçamento a partir de um estoque cadastrado....e este orçamento tem uma tabela para isto...exemplo...o fulano me pede um orçamento de um Micro...aí coloco todos os ítens nescessários HD, placa e ETC...a primeira pergunta vem aí ,neste procedimento é nescessário dar baixa no estoque ? se a resposta for não, como faria para aproveitar este orçamento posteriormente..exemplo o cliente fez o orçamento hoje comigo ele vem no outro dia para fechar o negócio, aí busco o orçamento que fiz para ele eu clicaria em um botão Venda...aí os dados naquela orçamento teriam que dar baixa nos ítens no estoque...ou me indiquem um processo menos complicado....flw...t+


Gigatel

Gigatel

Responder

Posts

09/12/2005

Marlon Spiess

Bom, em primeiro lugar, vc deve verificar qual a necessidade do seu ´cliente´, pois dependendo da estrutura física, qtde de pessoas, modo operacional, etc.....

Mas seguindo uma linha geral:
- crie um field estoque reservado na table de produtos;
- ao gravar o orçamento atualize o estoque reservado;
- faça uma ´confirmação´ de orçamento, nesse momento se tranforma em pedido;
- no momento da emissão da nota fiscal le o pedido da baixa da qtde em estoque e no estoque reservado;
- no cancelamento / desistência do orçamento baixa o estoque reservado

Espero ter ajudado


Responder

09/12/2005

Gigatel

[quote:afac43920e=´Marlon Henrique Spiess´]Bom, em primeiro lugar, vc deve verificar qual a necessidade do seu ´cliente´, pois dependendo da estrutura física, qtde de pessoas, modo operacional, etc.....

Mas seguindo uma linha geral:
- crie um field estoque reservado na table de produtos;
- ao gravar o orçamento atualize o estoque reservado;
- faça uma ´confirmação´ de orçamento, nesse momento se tranforma em pedido;
- no momento da emissão da nota fiscal le o pedido da baixa da qtde em estoque e no estoque reservado;
- no cancelamento / desistência do orçamento baixa o estoque reservado

Espero ter ajudado[/quote:afac43920e]


é um sistema para mono usuario.....




- crie um field estoque reservado na table de produtos;


O que seria este field ? e que valor ele receberia ?

- ao gravar o orçamento atualize o estoque reservado;


eu num entendí direito esta parte naum...pode explicar melhor ?

vlw...


Responder

09/12/2005

Marlon Spiess

é o seguinte, se vc faz o orçamento, não pode baixar o estoque pois o produto não saiu ainda, mas, vc deve deixar ele reservado para q não faça mais orçamentos q a qtde em estoque então: estoque disponivel pra venda é: saldo em estoque - estoque reservado

mas isso é uma informação, não deve impedir o orçamento.

Espero ter ajudado


Responder

10/12/2005

Gigatel

[quote:3555678e3d=´Marlon Henrique Spiess´]é o seguinte, se vc faz o orçamento, não pode baixar o estoque pois o produto não saiu ainda, mas, vc deve deixar ele reservado para q não faça mais orçamentos q a qtde em estoque então: estoque disponivel pra venda é: saldo em estoque - estoque reservado

mas isso é uma informação, não deve impedir o orçamento.

Espero ter ajudado[/quote:3555678e3d]

Achei interessante a idéia..más tem como vc me exemplificar...o que eu prescisaria ter na minha tabela para proceder ? veja um exemplo de tabela o que eu prescisaria á mais...

* Itens
* Valor bruto
* Valor Total
* Desconto
* Unidade
* Valor Unidade
* Data de cadstro
* Data de validade
* Quantidade

na questão da reserva..eu prescisaria de algum campo na tabela de estoque ou prescisaria criar uma nova tabela só para isto ..e como eu faria isto.....sinceramente eu sou bem crú nesta parte, pois nunca fiz nada parecido nesta questão de vendas...vlw..pela ajuda...vc num teria um exemplo pronto para mandar para mim não ?... eu estudando a função acho que daria menos trabalho...más vlw mesmo o que vc achar melhor é o que vale... t+


Responder

10/12/2005

Gigatel

Em meu estoque tenho um campo QUANTIDADE onde coloco o quanto tenho em estoque, no Orçamento eu tenho que subtrair o estoque ? estou tendo dúvidas, se num for assim eu prescisaria tbm de uma tabela só paraesta operação ? e depois como faria para fazer subtrair no estoque ? to meio perdido nisto...vou ser sincero estava prescisando de algo assim...alguém falar pra mim...faz x tabelas a primeira é blabla a segunda faz isso ....é porque num tenho nem ídeia de como começar isto e tbm tem o lance do estorno que eu presciso botar funcionar...desculpe a insitencia más tá osso...t+ vlw


Responder

10/12/2005

Edilcimar

Para fazer orçamento não ´guardo´ parte do estoque como reserva, dou o orçamento para o cliente com o ´enquanto durar o estoque´, portanto se ele voltar depois e eu já tiver vendido, não vai ter mais o produto para ele.
Se vc quer guardar a mercadoria para o orçamento, existem diversas maneiras de fazer isto
1) Coloque um campo ´reserva´ para manter as quantidades do orçamento, porém no arquivo de orçamento, coloque uma ´datadevalidadedoorçamento´, cada vez que abrir o programa, quer para vender ou para fazer novo orçamento, o estoque será o campo ´estoque´ - o campo ´reserva´, e além disto tem que verificar no arquivo de reserva se existe algum item com data ´expirada´ para tirá-lo do campo reserva e passá-lo para o campo estoque, e apagar este orçamento.
2) Todo o processo pode ser feito no arquivo de orçamento, sendo que o estoque atual neste caso será a diferença entre o estoque constante nos produtos - o estoque constante no orçamento, não se esquecendo de que pode haver diversos orçamentos contendo o mesmo item, e de apagar o os orçamentos com data anterior a atual
3) Estes 2 processos podem sofrer diversos tipos de variações de forma a atender a necessidade específica de cada usuário, ficando mais os menos complexo


Responder

11/12/2005

Gigatel

Aí galera.. estou fazendo assim....

o Orçamento eu faço sem dar baixa no estoque, fica mais ou menos assim...fiz uma tabela onde recebo dados do cliente...e outra onde recebe os dados das mercadorias ...vamos supor q o orçamento tenha o codigo ´100´ aí eu passo este mesmo código para um campo que eu chamo de GS_VENDA_CODACES ou seja se eu colocar 10 produtos ele terá 10 códigos ´100´ no campo GS_VENDA_CODACES, aí é só usar um filtro para lista-los corretamente...Agora que vem chumbo....tenho estes 10 ítens e naum foram dado saida no estoque... vamos supor que eu quero pegar este orçamento e tranformar em venda..como eu pegaria este montante ( 10 ítens ) e daria baixa no estoque com apenas um clicke no botão ?

vlw...


Responder

11/12/2005

Edilcimar

Coloque o código do produto, faça um locate na tabela produtos e dê baixa no estoque de acordo com o campo quantidade do orçamento


Responder

12/12/2005

Gigatel

Eu tenho uma parte no programa que funiona parcialmente e tem que funcionar basicamente o que vou prescisar na vendas...o que vou prescisar neste módulo...Tento a tabela qye se chama BD_ORCA_ITENS nela tenho os seguintes campos....

GS_OOEI_QNT - recebe quantidade
GS_OOEI_UNIT - o tipo de unidade
GS_OOEI_CAD_SERIE - o n de série
GS_OOEI_CODIGO - código gerado pela tabela
GS_OOEI_DESCRICAO - recebe descrição
GS_OOEI_VALOR_UNIT - valor unitário
GS_OOEI_VALOR_TOTAL - valor total
GS_OOEI_CODACES - recebe o código da Ordem de serviço
GS_OOEI_CODPROD - recebe o código do produto que vem do estoque...

e tenho a tabela de estoque que se chama BD_ESTOQUE

e tenho este campos que julgo nescessarios para esta transação

GS_EST_CODIGO - código do produto ( gerado pelo sistema )
GS_EST_QNT - onde tem a quantidade atual no estoque ...

o que eu estava pensando é o seguinte na primeira tabela (BD_ORCA_ITENS) recebe os valores da segunta (DB_ESTOQUE) somente para fins de orçamento ou seja nada de baixa no estoque onde tem dez ficaria com 10....

digamos que o orçamento seja aceito, agora eu tenho que dar saida neste materia cotado....agora que o bicho pega...a primeira tabela recebeu vários itens, entaum agora tenho que atualizar o estoque..e aí qeu está o problema.. eu tenho que pegar o campo da primeira tabela GS_OOEI_CODPROD associar a campo da segunda tabela GS_EST_CODIGO e atualizar este campo GS_EST_QNT ..um por um... estou encontrando muita dificuldade nisto...vlw...t+


Responder

12/12/2005

Edilcimar

pegue a tabela orçamento e faça um while not eof, pegue o código do produto e a quantidade, vá para a tabela estoque, procure o código do produto, atualize o estoque.


Responder

12/12/2005

Gigatel

pegue a tabela orçamento e faça um while not eof, pegue o código do produto e a quantidade, vá para a tabela estoque, procure o código do produto, atualize o estoque.


tem como vc montar um código com base nestas inf que passei ? e tbm tem o lance do locate que num faço nem idéia de como colocar-lo aí...


Responder

12/12/2005

Edilcimar

usando ibquery, onde ibquery1 é o orçamento e ibquery2 são os produtos

with ibquery1 do
begin
first;
try
while not eof do
begin
codigoproduto := fieldbyname(´codigo´).value;
quantidade := fieldbyname(´qtd´).value;
with ib query2 do
begin
locate(´codigo´, codigoproduto,[lopartialkey]);
if fieldbyname(´codigo´).value = codigoproduto then
begin
edit;
fieldbyname(´estoque´).value = fieldbyname(estoque´).value - quantidade;
post;
end;
end;
next;
end;
end;
ibtransction2.commit;
except
showmessage(´problema com o banco de dados´);
ibtransaction2.rollback;
end;


Responder

12/12/2005

Gigatel

Acho que me perdí neste LOCATE...dá uma olhada num to sabe em qual das tabelas colocar

begin
  with BD_VENDA_ITENS do
  begin
  First;
  try
  while not eof do
  begin
  BD_VENDA_ITENSGS_VEI_CODPROD.Value := Fieldbyname(´GS_VEI_CODPROD´).value;
  BD_VENDA_ITENSGS_VEI_QNT.Value := fieldbyname(´GS_VEI_QNT´).value;
  with BD_ESTOQUE do
  begin
  locate(´codigo´, codigoproduto,[lopartialkey]);
  if fieldbyname(´codigo´).value = codigoproduto then
  begin
  edit;
  fieldbyname(´estoque´).value = fieldbyname(estoque´).value - quantidade;
  post;
  end;
  end;
  next;
  end;
  end;
  DM1.IBTransaction1.CommitRetaining;
  except
  showmessage(´problema com o banco de dados´);
  DM1.IBTransaction1.rollback;
end;




dá uma confirida..


Responder

12/12/2005

Gigatel

Modifiquei deste jeito....

begin
  with BD_VENDA_ITENS do
  begin
  First;
  try
  while not eof do
  begin
  BD_VENDA_ITENSGS_VEI_CODPROD.Value := Fieldbyname(´GS_VEI_CODPROD´).value;
  BD_VENDA_ITENSGS_VEI_QNT.Value := fieldbyname(´GS_VEI_QNT´).value;
  with BD_ESTOQUE do
  begin
  locate(´GS_VEI_CODPROD´, BD_VENDA_ITENSGS_VEI_CODPROD.Value,[lopartialkey]);
  if fieldbyname(´GS_VEI_CODPROD´).value = BD_VENDA_ITENSGS_VEI_CODPROD.Value then
  begin
  edit;
  fieldbyname(´GS_EST_QNT´).value := fieldbyname(´GS_EST_QNT´).value - BD_VENDA_ITENSGS_VEI_QNT.Value;
  post;
  end;
  end;
  next;
  end;

  DM1.IBTransaction1.CommitRetaining;
  except
  showmessage(´problema com o banco de dados´);
  DM1.IBTransaction1.rollback;
end;
end;
end;


e deu este erro



[img][URL=http://imageshack.us][img:0a8a673920]http://img216.imageshack.us/img216/4946/imagem9nn.jpg[/img:0a8a673920][/URL][/img]



com certeza deve ser alguma coisa entre as tabelas...


Responder

13/12/2005

Edilcimar

desculpe=me pelo locate, eu escrevi sobre ibquery como se fosse ibtable, em vez de locate coloque um select codigo, estoque from produtos where codigo =: codigoproduto


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar