Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Retornar um array de um TFieldList Bom dia pessoal. Estou precisando retornar os IDs de um campo TDBCombo escolhidos em uma TFieldlist. Com estes IDs eu pretendo carregar outra TDBCombo em outra aba. Com o código abaixo eu carrego a segunda TDBCombo, mas se eu tiver mais de um item na TFieldlist a Tdbcombo é autalizada com o último id escolhido. public static function onChangeCliente($param) { ...
CS
Retornar um array de um TFieldList  
Bom dia pessoal.
Estou precisando retornar os IDs de um campo TDBCombo escolhidos em uma TFieldlist.
Com estes IDs eu pretendo carregar outra TDBCombo em outra aba.

Com o código abaixo eu carrego a segunda TDBCombo, mas se eu tiver mais de um item na TFieldlist a Tdbcombo é autalizada com o último id escolhido.

public static function onChangeCliente($param) { $input_id = $param['_field_id']; $f001_id_cliente_prog = $param['_field_value']; $input_pieces = explode('_', $input_id); $unique_id = end($input_pieces); if ($f001_id_cliente_prog) { $response = new stdClass; //$obj = new stdClass; try { TTransaction::open('ceccato'); $cliente = P001Pessoa::find($f001_id_cliente_prog); $response->{'cnpj_cliente_'.$unique_id} = $cliente->p001_cnpj_numero; $response->{'cidade_cliente_'.$unique_id} = $cliente->p001_cidade; $response->{'uf_cliente_'.$unique_id} = $cliente->p001_uf; TForm::sendData('form_F001Fatura', $response); $criterio = new TCriteria; $criterio->add(new TFilter('p001_TipoPessoa', '=', '1')); $criterio->add(new TFilter('id', '=', $f001_id_cliente_prog)); TDBCombo::reloadFromModel('form_F001Fatura', 'f001_id_cliente_prog_ad[]' , 'ceccato', 'P001Pessoa', 'id', 'p001_nome', 'p001_nome', $criterio, TRUE); TTransaction::close(); } catch (Exception $e) { TTransaction::rollback(); } } }



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

Você precisa passar o id da combo ao invés de passar o nome "f001_id_cliente_prog_ad[]", pois todas as combos possuem o mesmo nome, mas o id é diferente.
  1. <?php
  2. $id_combo 'nome_combo_' $unique_id;
  3. TDBCombo::reloadFromModel('form_F001Fatura'$id_combo'ceccato''P001Pessoa''id''p001_nome''p001_nome'$criterioTRUE);
  4. ?>