duvida no TDBCombo com criterio Tenho uma duvida com a utilização do TDBCombo com criterio no ato do cadastro de um novo registro o campo id_orcamento ficará livre para ser escolhido um orcamento desejado. o codigo funciona conforme a primeira descricao abaixo: ...
MC
duvida no TDBCombo com criterio  
Tenho uma duvida com a utilização do TDBCombo com criterio

no ato do cadastro de um novo registro o campo id_orcamento ficará livre para ser escolhido um orcamento desejado.
o codigo funciona conforme a primeira descricao abaixo:


 
  1. <?php
  2. // master fields
  3. $id = new TEntry('id');
  4. $id->setSize('10%');
  5. $id_cliente_erp = new TDBCombo('id_cliente_erp', 'alimento', 'ClienteERP', 'id', 'nome');
  6. $id_cliente_erp->setEditable(FALSE);
  7. $id_cliente_erp->setSize('35%');
  8. $id_empresa = new TDBCombo('id_empresa', 'alimento', 'Empresa', 'id', 'nome');
  9. $id_empresa->setSize('30%');
  10. $id_empresa->setEditable(FALSE);
  11. $criteria_cli = new TCriteria();
  12. $criteria_cli->add(new TFilter('tipo_vinculo','=','C'));
  13. $criteria_cli->add(new TFilter('id_cliente_erp','=',$unit_erp));
  14. $id_cliente = new TDBCombo('id_cliente', 'alimento', 'Pessoa', 'id', 'nome','',$criteria_cli);
  15. $id_cliente->setSize('40%');
  16. $id_cliente->enableSearch();
  17. $criteria_id_orc = new TCriteria;
  18. $criteria_id_orc->add(new TFilter('id', '<', '0'));
  19. $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id', '', $criteria_id_orc);
  20. $id_orcamento->setSize('50%');
  21. $id_orcamento->enableSearch();
  22. ?>



no ato de alterar um registro de pedido cujo o campo id_orcamento já esteja preenchido, como posso testar o criterio para nao perder o conteudo do campo?

 
  1. <?php
  2. // master fields
  3. $id = new TEntry('id');
  4. $id->setSize('10%');
  5. $id_cliente_erp = new TDBCombo('id_cliente_erp', 'alimento', 'ClienteERP', 'id', 'nome');
  6. $id_cliente_erp->setEditable(FALSE);
  7. $id_cliente_erp->setSize('35%');
  8. $id_empresa = new TDBCombo('id_empresa', 'alimento', 'Empresa', 'id', 'nome');
  9. $id_empresa->setSize('30%');
  10. $id_empresa->setEditable(FALSE);
  11. $criteria_cli = new TCriteria();
  12. $criteria_cli->add(new TFilter('tipo_vinculo','=','C'));
  13. $criteria_cli->add(new TFilter('id_cliente_erp','=',$unit_erp));
  14. $id_cliente = new TDBCombo('id_cliente', 'alimento', 'Pessoa', 'id', 'nome','',$criteria_cli);
  15. $id_cliente->setSize('40%');
  16. $id_cliente->enableSearch();
  17. $criteria_id_orc = new TCriteria;
  18. $criteria_id_orc->add(new TFilter('id', '<', '0'));
  19. // -- como posso testar a condicao abaixo 01 ou 02 -- //
  20. // -- 01 == no caso de um novo registro -- //
  21. $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id', '', $criteria_id_orc);
  22. // -- 02 == no caso de uma alteracao de um registro ja existente -- //
  23. $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id');
  24. $id_orcamento->setSize('50%');
  25. $id_orcamento->enableSearch();
  26. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


NR

Defina $param como parâmetro da função construct e teste pelo id:
 
  1. <?php
  2. function __construct($param=null)
  3. {
  4. if ($param['id'])
  5. .....
  6. else
  7. ....
  8. }
  9. ?>