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:
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?
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:
- <?php
- // master fields
- $id = new TEntry('id');
- $id->setSize('10%');
- $id_cliente_erp = new TDBCombo('id_cliente_erp', 'alimento', 'ClienteERP', 'id', 'nome');
- $id_cliente_erp->setEditable(FALSE);
- $id_cliente_erp->setSize('35%');
- $id_empresa = new TDBCombo('id_empresa', 'alimento', 'Empresa', 'id', 'nome');
- $id_empresa->setSize('30%');
- $id_empresa->setEditable(FALSE);
- $criteria_cli = new TCriteria();
- $criteria_cli->add(new TFilter('tipo_vinculo','=','C'));
- $criteria_cli->add(new TFilter('id_cliente_erp','=',$unit_erp));
- $id_cliente = new TDBCombo('id_cliente', 'alimento', 'Pessoa', 'id', 'nome','',$criteria_cli);
- $id_cliente->setSize('40%');
- $id_cliente->enableSearch();
- $criteria_id_orc = new TCriteria;
- $criteria_id_orc->add(new TFilter('id', '<', '0'));
- $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id', '', $criteria_id_orc);
- $id_orcamento->setSize('50%');
- $id_orcamento->enableSearch();
- ?>
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?
- <?php
- // master fields
- $id = new TEntry('id');
- $id->setSize('10%');
- $id_cliente_erp = new TDBCombo('id_cliente_erp', 'alimento', 'ClienteERP', 'id', 'nome');
- $id_cliente_erp->setEditable(FALSE);
- $id_cliente_erp->setSize('35%');
- $id_empresa = new TDBCombo('id_empresa', 'alimento', 'Empresa', 'id', 'nome');
- $id_empresa->setSize('30%');
- $id_empresa->setEditable(FALSE);
- $criteria_cli = new TCriteria();
- $criteria_cli->add(new TFilter('tipo_vinculo','=','C'));
- $criteria_cli->add(new TFilter('id_cliente_erp','=',$unit_erp));
- $id_cliente = new TDBCombo('id_cliente', 'alimento', 'Pessoa', 'id', 'nome','',$criteria_cli);
- $id_cliente->setSize('40%');
- $id_cliente->enableSearch();
- $criteria_id_orc = new TCriteria;
- $criteria_id_orc->add(new TFilter('id', '<', '0'));
- // -- como posso testar a condicao abaixo 01 ou 02 -- //
- // -- 01 == no caso de um novo registro -- //
- $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id', '', $criteria_id_orc);
- // -- 02 == no caso de uma alteracao de um registro ja existente -- //
- $id_orcamento = new TDBCombo('id_orcamento', 'alimento', 'Orcamento', 'id', 'id');
- $id_orcamento->setSize('50%');
- $id_orcamento->enableSearch();
- ?>
Defina $param como parâmetro da função construct e teste pelo id: