ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Delhphi Formulários.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Ter Jan 28, 2014 8:18 am    Assunto: Delhphi Formulários. Responder com Citação

Olá,
Preciso muito da ajuda de vocês,

Tenho uma grid onde constam os pedidos que estão prontos para serem liberados, tenho um botão ' Liberar'...
Queria fazer alguma função ou condição que ao clicar nele ele faça esse case para min.:

-- CASE WHEN (ESTOQUE_MINIMO + QTD_VENDIDA)> SALDO_ATUAL THEN
'GERAR ORDEM DE PRODUÇÃO'
ELSE
'NÃO GERAR ORDEM DE PRODUÇÃO'
END ORDEM_STATUS --
(ESTOQUE_MINIMO e SALDO_ATUAL estão na tabela PRODUTOS)
(QTD_VENDIDA esta na tabela PEDIDOS_VENDAS)

Ai caso tenha que 'Gerar Ordem de Produção' ele ira chamar o formulário de cadastro de ordens.
Caso ele 'Não gerar Ordem de Produção' ele ira chamar o formulário de 'Faturamento_pedido'


Obrigado desde já !
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 8:57 am    Assunto: Responder com Citação

se voce usa firebird, tem um componente chamado IbScript, voce pode executar comandos no banco de dados atravez dele.. (Falei sobre o IB pois nn tinha entendido a duvida...)
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower


Editado pela última vez por Jonatan500 em Ter Jan 28, 2014 10:14 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Ter Jan 28, 2014 9:02 am    Assunto: Responder com Citação

Desculpa esqueçi de informar o banco de dados: Firebird.

Você teria algum exemplo sobre este componente para me auxiliar na minha pesquisa. Ou ate mesmo o comando para executar ele e colocar o comando para efetuar a condição?

Obrigado =D
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 10:01 am    Assunto: Responder com Citação

Código:
var
Soma:String;
begin
 Soma:= floattostr(strtofloat(ESTOQUE_MINIMO) + strtofloat(QTD_VENDIDA));
 if StrToFloat(Soma) > StrtoFloat(SALDO_ATUAL ) then
    begin
        Showmessage(' Soma Maior que saldo' );
    end;
end;



amigo, mais ou menos assim..
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Ter Jan 28, 2014 10:10 am    Assunto: Responder com Citação

Entendi , só que o campo estoque_minimo e qtd_vendida e saldo_atual, são campos do banco de dados de uma tabela. Ai eu não estou conseguindo fazer por exemplo:
Clico sobre uma linha da grid e clico em liberar, ao clicar preciso que ele faça aquela função ali (estoque_minimo + qtd_vendida)> saldo_atual chamar form ordem de produção. Porem esses campos estoque_minimo e saldo_atual são trazidos de uma tabela do banco de dados e não consta na grid. Só consta na grid a qtd_vendida. Conseguiu entender oque eu me referi?

Obrigado...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 10:13 am    Assunto: Responder com Citação

Cara seria quase mesma coisa, me passa os campos do banco de dados me passa o nome da query me passa o tipo dos campos ai por favor
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Ter Jan 28, 2014 10:37 am    Assunto: Responder com Citação

Tabela : CADASTRO_PRODUTO

COD_PRODUTO (integer)
DESCRICAO (varchar)
ENTRADAS (integer)
SAIDAS (integer)
SALDO_ATUAL (integer)
ESTOQUE_MINIMO (integer)
ESTOQUE_MAXIMO (integer)
LEAD_TIME (integer)
LOTE_PRODUCAO (integer)
TIPO_PRODUTO (varchar)
PRECO_UNIT (float)

Tabela: PEDIDOS_VENDAS

COD_PEDIDO (integer)
DESCRICAO (varchar)
COD_PRODUTO (integer)
COD_ENTIDADE (integer)
DATA_ATUAL (date)
DATA_ENTREGA (date_
QTD (integer)
PRECO_UNIT (float)
PRECO_TOTAL (float)

Tabela : ORDEM_PRODUCAO

COD_ORDEM (integer)
COD_PRODUTO (integer)
DATA_ATUAL (date)
DATA_ENTREGA (date)
QTD (integer)


Na grid os dados são cadastrados referente a tabela PEDIDOS_VENDAS, ai ao clicar no botão liberar ele faz a consulta no CADASTRO_PRODUTOS e verfica(estoque_minimo + qtd_vendida)> saldo_atual .

Não usei Query ainda, usei o DataSource.
Obrigado cara , já já você vai conseguir me ajudar e muito !!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 12:03 pm    Assunto: Responder com Citação

Código:
var
Soma:String;
begin
 Soma:= IntToStr(ESTOQUE_MINIMO) + IntToStr(QTD_VENDIDA);
 if StrToInt(Soma) > SALDO_ATUAL then
    begin
        Showmessage(' Soma Maior que saldo' );
    end;


ESTOQUE_MININO você vai colocar o seu query e o nome do campo +- assim : DATASETESTOUE_MINIMO.Asinteger; e assim com os outros tambem
amigo e se seu campo SALDO_ATUAL for moeda o ideal seria usar float, abraços
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 12:07 pm    Assunto: Responder com Citação

pequenas Coreções do Código :


Código:
var
Soma:Integer;
begin
 Soma:= ESTOQUE_MINIMO + QTD_VENDIDA;
 if Soma > SALDO_ATUAL then
    begin
        Showmessage(' Soma Maior que saldo' );
end;

_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Ter Jan 28, 2014 12:26 pm    Assunto: Responder com Citação

Certo, mas acho que me perdi no meio do caminho.
Poderia me passar um guia por exemplo:

Ex: oque colocar no evento click do botão liberar?
oque colocar no comandtext da query?

Muito Obrigado , ta me ajuda e muito !!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Ter Jan 28, 2014 4:55 pm    Assunto: Responder com Citação

Amigão, ai você vai fazer tudo do jeito que quer seu sistema...., funcionou o código ?
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Qua Jan 29, 2014 9:47 am    Assunto: Responder com Citação

Olá, consegui sim amigo.

Agora tenho outra duvida, como eu consigo fazer a função somento com uma linha da Grid.

Por exemplo so com a linha que eu selecionar e clicar no botão, ai ele fazer a função e verificar.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Qua Jan 29, 2014 10:32 am    Assunto: Responder com Citação

se voce selecionar um produto no grid automaticamente ele ja estara selecionado no seu dataset..
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
jhonatanvaz
Novato
Novato


Registrado: Quinta-Feira, 24 de Outubro de 2013
Mensagens: 24

MensagemEnviada: Qua Jan 29, 2014 10:45 am    Assunto: Responder com Citação

Acho que não pq aqui por exemplo eu seleciono a linha 10 e clico em liberar e eu comparando, olhando na grid ela não deveria aparecer a msg 'Gerar Ordem' e ela aparece, isso acontece pq a primeira linha da grid, passada pela função ela necessita que 'Gerar Ordem', no caso ele não esta reconhecendo a linha selecionada e assim fazendo a função somente com a primeira linha da GRID.

Como eu faço para se eu selecionar a linha 10 da Grid ele fazer a função para aquela linha?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Jonatan500
Colaborador
Colaborador


Registrado: Sábado, 8 de Janeiro de 2011
Mensagens: 1064
Localização: Palmas/TO

MensagemEnviada: Qua Jan 29, 2014 4:14 pm    Assunto: Responder com Citação

cara seguinte sempre que você precisar editar um registro que não for do grid ou algo do tipo, você executa uma consulta, se no caso o grid que você esta utilizando não e onde se encontra os campos que quer alterar você tem que pegar o ID do que vai querer alterar e pesquisar, ai você pode editar que vai funcionar certim
_________________
"NESCIS QUIA EGO SUM PROGRAMMATOR"
#DelphiPower
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB