Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Abrir form externo com dados de edicao Segundo a pagina : http://www.adianti.com.br/doc-framework-Presentation-Datagrid-DatagridCustom. Gostaria que a janela abrir os dados da tabela para edicao. codigo: ...
LG
Abrir form externo com dados de edicao  
Fechado
Segundo a pagina : www.adianti.com.br/doc-framework-Presentation-Datagrid-DatagridCusto

Gostaria que a janela abrir os dados da tabela para edicao.

codigo:

  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14.       public function set_unidadefederacao(Cidade $object)
  15.     {
  16.         $this->unidadefederacao $object;
  17.         $this-> ID_CIDADE$object->ID;  //Seu erro está aqui!!! ***
  18.     }
  19.     
  20.       public function get_unidadefederacao()
  21.     {
  22.         // loads the associated object
  23.         if (empty($this->unidadefederacao))
  24.             $this->unidadefederacao = new cidade($this->ID_CIDADE); // E aqui!!!***
  25.     
  26.         // returns the associated object
  27.         return $this->unidadefederacao;
  28.     }
  29.     
  30.     
  31.     
  32. ?>



  1. <?php
  2. /**
  3.  * ClienteList Listing
  4.  * @author  <your name here>
  5.  */
  6. class ClienteList extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('conexao');            // defines the database
  23.         parent::setActiveRecord('Cliente');   // defines the active record
  24.         parent::setDefaultOrder('ID_CLIENTE''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('CODIGO''=''CODIGO'); // filterField, operator, formField
  27.         parent::addFilterField('RAZAO_SOCIAL''like''RAZAO_SOCIAL'); // filterField, operator, formField
  28.         parent::addFilterField('CPF''like''CPF'); // filterField, operator, formField
  29.         parent::addFilterField('CNPJ''like''CNPJ'); // filterField, operator, formField
  30.         parent::addFilterField('ID_CIDADE''like''ID_CIDADE'); // filterField, operator, formField
  31.         parent::addFilterField('FONE''like''FONE'); // filterField, operator, formField
  32.         parent::addFilterField('SITUACAO''like''SITUACAO'); // filterField, operator, formField
  33.       
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_Cliente');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Cliente');
  40.        // $cliente = new Cliente(1);
  41. //echo $cliente->cidade->nome;
  42.         // create the form fields
  43.         $CODIGO = new TEntry('CODIGO');
  44.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  45.         $CPF = new TEntry('CPF');
  46.         $CNPJ = new TEntry('CNPJ');
  47.         $ID_CIDADE = new TEntry('ID_CIDADE');
  48.         $FONE = new TEntry('FONE');
  49.         $SITUACAO = new TEntry('SITUACAO');
  50.       
  51.         // add the fields
  52.         $this->form->addQuickField('Código:'$CODIGO70 );
  53.         $this->form->addQuickField('Razão Social:'$RAZAO_SOCIAL,  400 );
  54.         $this->form->addQuickField('CPF/CNPJ:'$CPF,  200 );
  55.         $this->form->addQuickField('Situação:'$SITUACAO,  200 );
  56.    
  57.         
  58.         // keep the form filled during navigation with session data
  59.         $this->form->setDataTSession::getValue('Cliente_filter_data') );
  60.         
  61.         // add the search form actions
  62.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  63.         $this->form->addQuickAction(_t('New'),  new TAction(array('ClienteForm''onEdit')), 'bs:plus-sign green');
  64.         
  65.         // creates a DataGrid
  66.         $this->datagrid = new TDataGrid;
  67.          $this->datagrid->disableDefaultClick(); // important!
  68.         
  69.         $this->datagrid->style 'width: 100%';
  70.         $this->datagrid->setHeight(320);
  71.         // $this->datagrid->datatable = 'true';
  72.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  73.         
  74.         // creates the datagrid columns
  75.         $column_CODIGO = new TDataGridColumn('CODIGO''Código''center');
  76.         $column_RAZAO_SOCIAL = new TDataGridColumn('RAZAO_SOCIAL''Razão Social''left');
  77.         $column_CPF = new TDataGridColumn('CPF''CPF/CNPJ''center');
  78.         $column_CNPJ = new TDataGridColumn('CNPJ''CNPJ''center');    
  79.         $column_ID_CIDADE = new TDataGridColumn('unidadefederacao->DESCRICAO''Cidade''center');
  80.         $column_FONE = new TDataGridColumn('FONE''Telefone''center');
  81.         $column_SITUACAO = new TDataGridColumn('situacao_cli''Situação''center');
  82.          //$COL= compara_cpfcnpj( $column_CPF, $column_CNPJ );
  83.        // $column_CPFCNPJ = new TDataGridColumn( compara_cpfcnpj   , 'CPF/CNPJ', 'center');
  84. $column_CPF->setTransformer(function($value,$object){ 
  85. if ($value
  86. return $value
  87. else 
  88. return $object->CNPJ
  89. }); 
  90.         
  91.         // add the columns to the DataGrid
  92.         $this->datagrid->addColumn($column_CODIGO);
  93.         $this->datagrid->addColumn($column_RAZAO_SOCIAL);
  94.         $this->datagrid->addColumn($column_CPF);
  95.        // $this->datagrid->addColumn($column_CNPJ);
  96.         $this->datagrid->addColumn($column_ID_CIDADE);
  97.         $this->datagrid->addColumn($column_FONE);
  98.         $this->datagrid->addColumn($column_SITUACAO);
  99.      
  100.         // creates the datagrid column actions
  101.         $order_CODIGO = new TAction(array($this'onReload'));
  102.         $order_CODIGO->setParameter('order''CODIGO');
  103.         $column_CODIGO->setAction($order_CODIGO);
  104.         
  105.         $order_RAZAO_SOCIAL = new TAction(array($this'onReload'));
  106.         $order_RAZAO_SOCIAL->setParameter('order''RAZAO_SOCIAL');
  107.         $column_RAZAO_SOCIAL->setAction($order_RAZAO_SOCIAL);
  108.         
  109. // create EDIT action
  110.         $action_edit = new TDataGridAction(array('ClienteForm''onEdit'));
  111.         $action_edit->setUseButton(TRUE);
  112.         $action_edit->setButtonClass('btn btn-default');
  113.         $action_edit->setLabel(_t('Edit'));
  114.         $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  115.         $action_edit->setField('ID_CLIENTE');
  116.         $this->datagrid->addAction($action_edit);
  117.         
  118.         // create DELETE action
  119.         $action_del = new TDataGridAction(array($this'onDelete'));
  120.         $action_del->setUseButton(TRUE);
  121.         $action_del->setButtonClass('btn btn-default');
  122.         $action_del->setLabel(_t('Delete'));
  123.         $action_del->setImage('fa:trash-o red fa-lg');
  124.         $action_del->setField('ID_CLIENTE');
  125.         $this->datagrid->addAction($action_del);
  126.         
  127.      
  128.         
  129.         // create the datagrid model
  130.         $this->datagrid->createModel();
  131.         
  132.         // create the page navigation
  133.         $this->pageNavigation = new TPageNavigation;
  134.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  135.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  136.         
  137.         // vertical box container
  138.         $container = new TVBox;
  139.         $container->style 'width: 100%';
  140.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  141.         $container->add($this->form);
  142.         $container->add($this->datagrid);
  143.         $container->add($this->pageNavigation);
  144.         
  145.         parent::add($container);
  146.     }
  147.     
  148. }

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 (9)


NR

Não sei se entendi o que você precisa. Você quer abrir o formulário de edição em uma nova janela?
LG

Sim. Com os respectivos dados escolhidos por mim que estao na mesma tabela.
NR

Você já criou o control ClienteForm? Por padrão ele teria o método onEdit e já deveria funcionar a edição.
LG

gostaria que os dados abrissem numa janela estilo popup
NR

Poste o código da classe ClienteForm
LG

ClientForm.class.php:

  1. <?php
  2. /**
  3.  * ClienteForm Master/Detail
  4.  * @author  <your name here>
  5.  */
  6. class ClienteForm extends TPage
  7. {
  8.     protected $form// form
  9.     protected $formFields;
  10.     protected $detail_list;
  11.     
  12.     /**
  13.      * Page constructor
  14.      */
  15.     public function __construct()
  16.     {
  17.         parent::__construct();
  18.         
  19.         // creates the form
  20.         $this->form = new TForm('form_Cliente');
  21.         $this->form->class 'tform'// CSS class
  22.         $this->form->style 'max-width:700px'// style
  23.         parent::include_css('app/resources/custom-frame.css');
  24.         
  25.         $table_master = new TTable;
  26.         $table_master->width '100%';
  27.         
  28.         $table_master->addRowSet( new TLabel('Cliente'), '''')->class 'tformtitle';
  29.         
  30.         // add a table inside form
  31.         $table_general = new TTable;
  32.         $table_detail  = new TTable;
  33.         $table_general-> width '100%';
  34.         $table_detail-> width  '100%';
  35.         
  36.         $frame_general = new TFrame;
  37.         $frame_general->setLegend('Cliente');
  38.         $frame_general->style 'background:whiteSmoke';
  39.         $frame_general->add($table_general);
  40.         
  41.         $table_master->addRow()->addCell$frame_general )->colspan=2;
  42.         $row $table_master->addRow();
  43.         $row->addCell$table_detail );
  44.         
  45.         $this->form->add($table_master);
  46.         
  47.         // master fields
  48.         $ID_CLIENTE = new TEntry('ID_CLIENTE');
  49.         $CODIGO = new TEntry('CODIGO');
  50.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  51.         $NOME_FANTASIA = new TEntry('NOME_FANTASIA');
  52.         $ENDERECO = new TEntry('ENDERECO');
  53.         $NUMERO = new TEntry('NUMERO');
  54.         $COMPLEMENTO = new TEntry('COMPLEMENTO');
  55.         $BAIRRO = new TEntry('BAIRRO');
  56.         $ID_CIDADE = new TEntry('ID_CIDADE');
  57.         $FONE = new TEntry('FONE');
  58.         $FAX = new TEntry('FAX');
  59.         $CELULAR = new TEntry('CELULAR');
  60.         $CONTATO = new TEntry('CONTATO');
  61.         $CNPJ = new TEntry('CNPJ');
  62.         $INSCRICAO = new TEntry('INSCRICAO');
  63.         $EMAIL = new TEntry('EMAIL');
  64.         $CPF = new TEntry('CPF');
  65.         $IDENTIDADE = new TEntry('IDENTIDADE');
  66.         $TITULO_ELEITOR = new TEntry('TITULO_ELEITOR');
  67.         $CART_PROFIS = new TEntry('CART_PROFIS');
  68.         $CART_SERIE = new TEntry('CART_SERIE');
  69.         $CART_ORGAO = new TEntry('CART_ORGAO');
  70.         $FILIACAO_PAI = new TEntry('FILIACAO_PAI');
  71.         $FILIACAO_MAE = new TEntry('FILIACAO_MAE');
  72.         $DATA_NASCIMENTO = new TDate('DATA_NASCIMENTO');
  73.         $DATA_CADASTRO = new TDate('DATA_CADASTRO');
  74.         $DATA_ALTERACAO = new TDate('DATA_ALTERACAO');
  75.         $DEPENDENTES = new TEntry('DEPENDENTES');
  76.         $COMPROVANTE_ENDERECO = new TEntry('COMPROVANTE_ENDERECO');
  77.         $DATA_ENDERECO = new TDate('DATA_ENDERECO');
  78.         $TIPO_CASA = new TEntry('TIPO_CASA');
  79.         $VALOR_ALUGUEL = new TEntry('VALOR_ALUGUEL');
  80.         $VALOR_DESPESAS = new TEntry('VALOR_DESPESAS');
  81.         $ABERTURA_CADASTRO = new TEntry('ABERTURA_CADASTRO');
  82.         $NATURALIDADE = new TEntry('NATURALIDADE');
  83.         $EMPREGO_ANTERIOR = new TEntry('EMPREGO_ANTERIOR');
  84.         $TEMPO_SERVICO = new TEntry('TEMPO_SERVICO');
  85.         $EMPRESA_NOME = new TEntry('EMPRESA_NOME');
  86.         $EMPRESA_ID_CIDADE = new TEntry('EMPRESA_ID_CIDADE');
  87.         $EMPRESA_FUNCAO = new TEntry('EMPRESA_FUNCAO');
  88.         $EMPRESA_ADMISSAO = new TDate('EMPRESA_ADMISSAO');
  89.         $EMPRESA_FONE = new TEntry('EMPRESA_FONE');
  90.         $RENDA_CLIENTE = new TEntry('RENDA_CLIENTE');
  91.         $RENDA_CONJUGE = new TEntry('RENDA_CONJUGE');
  92.         $LIMITE_CREDITO = new TEntry('LIMITE_CREDITO');
  93.         $CONCEITO = new TEntry('CONCEITO');
  94.         $ESTADO_CIVIL = new TEntry('ESTADO_CIVIL');
  95.         $SEXO = new TEntry('SEXO');
  96.         $SITUACAO = new TEntry('SITUACAO');
  97.         $CONJUGE_NOME = new TEntry('CONJUGE_NOME');
  98.         $CONJUGE_NASCIMENTO = new TDate('CONJUGE_NASCIMENTO');
  99.         $CONJUGE_TRABALHO = new TEntry('CONJUGE_TRABALHO');
  100.         $CONJUGE_ADMISSAO = new TDate('CONJUGE_ADMISSAO');
  101.         $CONJUGE_FONE = new TEntry('CONJUGE_FONE');
  102.         $ENTREGA_NOME = new TEntry('ENTREGA_NOME');
  103.         $ENTREGA_ENDERECO = new TEntry('ENTREGA_ENDERECO');
  104.         $ENTREGA_BAIRRO = new TEntry('ENTREGA_BAIRRO');
  105.         $ENTREGA_ID_CIDADE = new TEntry('ENTREGA_ID_CIDADE');
  106.         $ENTREGA_FONE = new TEntry('ENTREGA_FONE');
  107.         $NOME_CONHECIDO1 = new TEntry('NOME_CONHECIDO1');
  108.         $NOME_CONHECIDO2 = new TEntry('NOME_CONHECIDO2');
  109.         $REF_BANCO1 = new TEntry('REF_BANCO1');
  110.         $REF_BANCO2 = new TEntry('REF_BANCO2');
  111.         $REF_BANCO3 = new TEntry('REF_BANCO3');
  112.         $REF_BANCO1_CONTA = new TEntry('REF_BANCO1_CONTA');
  113.         $REF_BANCO2_CONTA = new TEntry('REF_BANCO2_CONTA');
  114.         $REF_BANCO3_CONTA = new TEntry('REF_BANCO3_CONTA');
  115.         $REF_COM_NOME1 = new TEntry('REF_COM_NOME1');
  116.         $REF_COM_NOME2 = new TEntry('REF_COM_NOME2');
  117.         $REF_COM_NOME3 = new TEntry('REF_COM_NOME3');
  118.         $REF_COM_FONE1 = new TEntry('REF_COM_FONE1');
  119.         $REF_COM_FONE2 = new TEntry('REF_COM_FONE2');
  120.         $REF_COM_FONE3 = new TEntry('REF_COM_FONE3');
  121.         $REF_COM_VALOR1 = new TEntry('REF_COM_VALOR1');
  122.         $REF_COM_VALOR2 = new TEntry('REF_COM_VALOR2');
  123.         $REF_COM_VALOR3 = new TEntry('REF_COM_VALOR3');
  124.         $REF_COM_PONTUALIDADE1 = new TEntry('REF_COM_PONTUALIDADE1');
  125.         $REF_COM_PONTUALIDADE2 = new TEntry('REF_COM_PONTUALIDADE2');
  126.         $REF_COM_PONTUALIDADE3 = new TEntry('REF_COM_PONTUALIDADE3');
  127.         $INDICADOR_1 = new TEntry('INDICADOR_1');
  128.         $INDICADOR_2 = new TEntry('INDICADOR_2');
  129.         $INDICADOR_3 = new TEntry('INDICADOR_3');
  130.         $INDICADOR_4 = new TEntry('INDICADOR_4');
  131.         $INDICADOR_5 = new TEntry('INDICADOR_5');
  132.         $INDICADOR_6 = new TEntry('INDICADOR_6');
  133.         $INDICADOR_7 = new TEntry('INDICADOR_7');
  134.         $INDICADOR_8 = new TEntry('INDICADOR_8');
  135.         $INDICADOR_9 = new TEntry('INDICADOR_9');
  136.         $INDICADOR_10 = new TEntry('INDICADOR_10');
  137.         $SPC_DATA_ENVIO = new TDate('SPC_DATA_ENVIO');
  138.         $SPC_VALOR_COMPRA = new TEntry('SPC_VALOR_COMPRA');
  139.         $SPC_DATA_BAIXA = new TDate('SPC_DATA_BAIXA');
  140.         $SERASA_DATA_ENVIO = new TDate('SERASA_DATA_ENVIO');
  141.         $SERASA_VALOR_COMPRA = new TEntry('SERASA_VALOR_COMPRA');
  142.         $SERASA_DATA_BAIXA = new TDate('SERASA_DATA_BAIXA');
  143.         $OUTRA_DATA_ENVIO = new TDate('OUTRA_DATA_ENVIO');
  144.         $OUTRA_VALOR_COMPRA = new TEntry('OUTRA_VALOR_COMPRA');
  145.         $OUTRA_DATA_BAIXA = new TDate('OUTRA_DATA_BAIXA');
  146.         $OBSERVACOES = new TEntry('OBSERVACOES');
  147.         $TABELA_PRECO = new TEntry('TABELA_PRECO');
  148.         $TIPO_PAGAMENTO = new TEntry('TIPO_PAGAMENTO');
  149.         $FORMA_PAGAMENTO = new TEntry('FORMA_PAGAMENTO');
  150.         $ALTERAR_PRECO = new TEntry('ALTERAR_PRECO');
  151.         $ID_CLIENTE_COBRANCA = new TEntry('ID_CLIENTE_COBRANCA');
  152.         $IND_TIPO_PAGAMENTO = new TEntry('IND_TIPO_PAGAMENTO');
  153.         $RECEBE_COBRANCA = new TEntry('RECEBE_COBRANCA');
  154.         $COBRAR_TAXA_CARTORIO = new TEntry('COBRAR_TAXA_CARTORIO');
  155.         $COBRAR_TAXA_BANCARIA = new TEntry('COBRAR_TAXA_BANCARIA');
  156.         $ID_USUARIO = new TEntry('ID_USUARIO');
  157.         $DATA_HORA_ALT = new TEntry('DATA_HORA_ALT');
  158.         $ID_VENDEDOR = new TEntry('ID_VENDEDOR');
  159.         $ID_TIPO_ATIVIDADE = new TEntry('ID_TIPO_ATIVIDADE');
  160.         $ID_PRACA = new TEntry('ID_PRACA');
  161.         $ID_EMPRESA = new TEntry('ID_EMPRESA');
  162.         $CONCORRENCIA = new TEntry('CONCORRENCIA');
  163.         $EMAIL_NFE = new TEntry('EMAIL_NFE');
  164.         $ID_FOTO = new TEntry('ID_FOTO');
  165.         $UNIDADE_VENDA = new TEntry('UNIDADE_VENDA');
  166.         $ID_EMPRESA_NF = new TEntry('ID_EMPRESA_NF');
  167.         $EMITE_NOTA = new TEntry('EMITE_NOTA');
  168.         $CEP = new TEntry('CEP');
  169.         $ID_TRANSPORTADOR = new TEntry('ID_TRANSPORTADOR');
  170.         $SALDO_CREDITO = new TEntry('SALDO_CREDITO');
  171.         $CODIGO_CONVENIO = new TEntry('CODIGO_CONVENIO');
  172.         $ID_CAIXA = new TEntry('ID_CAIXA');
  173.         $HISTORICO_VENDAS = new TText('HISTORICO_VENDAS');
  174.         $HISTORICO_ITENS = new TText('HISTORICO_ITENS');
  175.         $DESCONTO = new TEntry('DESCONTO');
  176.         $ID_BANCO = new TEntry('ID_BANCO');
  177.         $EMAIL_BOLETO = new TEntry('EMAIL_BOLETO');
  178.         $ID_REDE = new TEntry('ID_REDE');
  179.         $DIA_VENCTO = new TEntry('DIA_VENCTO');
  180.         $DIA_VIRADA = new TEntry('DIA_VIRADA');
  181.         $ID_FORMA = new TEntry('ID_FORMA');
  182.         $MATRICULA = new TEntry('MATRICULA');
  183.         $AUTORIZADO1 = new TEntry('AUTORIZADO1');
  184.         $AUTORIZADO2 = new TEntry('AUTORIZADO2');
  185.         $AUTORIZADO3 = new TEntry('AUTORIZADO3');
  186.         $AUTORIZADO4 = new TEntry('AUTORIZADO4');
  187.         $AUTORIZADO5 = new TEntry('AUTORIZADO5');
  188.         $AUTORIZADO6 = new TEntry('AUTORIZADO6');
  189.         $TRANSMITIDO = new TEntry('TRANSMITIDO');
  190.         $OBS_SPC1 = new TEntry('OBS_SPC1');
  191.         $OBS_SPC2 = new TEntry('OBS_SPC2');
  192.         $OBS_SPC3 = new TEntry('OBS_SPC3');
  193.         $ROUPA_CALCA = new TEntry('ROUPA_CALCA');
  194.         $ROUPA_CAMISA = new TEntry('ROUPA_CAMISA');
  195.         $ROUPA_SAPATO = new TEntry('ROUPA_SAPATO');
  196.         $ROUPA_BLAZER = new TEntry('ROUPA_BLAZER');
  197.         $DIRETORIO = new TText('DIRETORIO');
  198.         $DESC_FINANCEIRO = new TEntry('DESC_FINANCEIRO');
  199.         $IND_TPAGTO = new TEntry('IND_TPAGTO');
  200.         $DESPESAS_CLIENTE = new TEntry('DESPESAS_CLIENTE');
  201.         $NOME_USER_LIBEROU = new TEntry('NOME_USER_LIBEROU');
  202.         $ID_USER_LIBEROU = new TEntry('ID_USER_LIBEROU');
  203.         $MOTIVO_LIBERACAO = new TEntry('MOTIVO_LIBERACAO');
  204.         $LIBERA_CREDIARIO = new TEntry('LIBERA_CREDIARIO');
  205.         $DATA_HORA_LIBERACAO = new TDate('DATA_HORA_LIBERACAO');
  206.         $QUAL_PRECO = new TEntry('QUAL_PRECO');
  207.         $CARENCIA = new TEntry('CARENCIA');
  208.         $ID_FOTO_A1 = new TEntry('ID_FOTO_A1');
  209.         $ID_FOTO_A2 = new TEntry('ID_FOTO_A2');
  210.         $ID_FOTO_A3 = new TEntry('ID_FOTO_A3');
  211.         $ID_FOTO_A4 = new TEntry('ID_FOTO_A4');
  212.         $ID_FOTO_A5 = new TEntry('ID_FOTO_A5');
  213.         $ID_FOTO_A6 = new TEntry('ID_FOTO_A6');
  214.         $VALOR_AUTORIZADO1 = new TEntry('VALOR_AUTORIZADO1');
  215.         $VALOR_AUTORIZADO2 = new TEntry('VALOR_AUTORIZADO2');
  216.         $VALOR_AUTORIZADO3 = new TEntry('VALOR_AUTORIZADO3');
  217.         $VALOR_AUTORIZADO4 = new TEntry('VALOR_AUTORIZADO4');
  218.         $VALOR_AUTORIZADO5 = new TEntry('VALOR_AUTORIZADO5');
  219.         $VALOR_AUTORIZADO6 = new TEntry('VALOR_AUTORIZADO6');
  220.         $DI_AUTORIZADO1 = new TDate('DI_AUTORIZADO1');
  221.         $DI_AUTORIZADO2 = new TDate('DI_AUTORIZADO2');
  222.         $DI_AUTORIZADO3 = new TDate('DI_AUTORIZADO3');
  223.         $DI_AUTORIZADO4 = new TDate('DI_AUTORIZADO4');
  224.         $DI_AUTORIZADO5 = new TDate('DI_AUTORIZADO5');
  225.         $DI_AUTORIZADO6 = new TDate('DI_AUTORIZADO6');
  226.         $DF_AUTORIZADO1 = new TDate('DF_AUTORIZADO1');
  227.         $DF_AUTORIZADO2 = new TDate('DF_AUTORIZADO2');
  228.         $DF_AUTORIZADO3 = new TDate('DF_AUTORIZADO3');
  229.         $DF_AUTORIZADO4 = new TDate('DF_AUTORIZADO4');
  230.         $DF_AUTORIZADO5 = new TDate('DF_AUTORIZADO5');
  231.         $DF_AUTORIZADO6 = new TDate('DF_AUTORIZADO6');
  232.         $DOC_AUTORIZADO1 = new TEntry('DOC_AUTORIZADO1');
  233.         $DOC_AUTORIZADO2 = new TEntry('DOC_AUTORIZADO2');
  234.         $DOC_AUTORIZADO3 = new TEntry('DOC_AUTORIZADO3');
  235.         $DOC_AUTORIZADO4 = new TEntry('DOC_AUTORIZADO4');
  236.         $DOC_AUTORIZADO5 = new TEntry('DOC_AUTORIZADO5');
  237.         $DOC_AUTORIZADO6 = new TEntry('DOC_AUTORIZADO6');
  238.         $ENDERECO_TRABALHO = new TEntry('ENDERECO_TRABALHO');
  239.         $CONTATO_FINANCEIRO = new TEntry('CONTATO_FINANCEIRO');
  240.         $FONE_FINANCEIRO = new TEntry('FONE_FINANCEIRO');
  241.         $RG_EXPEDICAO = new TDate('RG_EXPEDICAO');
  242.         $RG_ORGAO = new TEntry('RG_ORGAO');
  243.         $ESCOLARIDADE = new TEntry('ESCOLARIDADE');
  244.         $DESC_APOSENTADORIA = new TEntry('DESC_APOSENTADORIA');
  245.         $DESC_PENSAO = new TEntry('DESC_PENSAO');
  246.         $NRO_APOSENTADORIA = new TEntry('NRO_APOSENTADORIA');
  247.         $NRO_PENSAO = new TEntry('NRO_PENSAO');
  248.         $NIT = new TEntry('NIT');
  249.         $ID_SITUACAO = new TEntry('ID_SITUACAO');
  250.         $ID_CONJUGE = new TEntry('ID_CONJUGE');
  251.         $ENDERECO_CORRESPONDENCIA = new TEntry('ENDERECO_CORRESPONDENCIA');
  252.         $EMPRESA_CNPJ = new TEntry('EMPRESA_CNPJ');
  253.         $EMPRESA_VINCULO = new TEntry('EMPRESA_VINCULO');
  254.         $EMPRESA_DEPARTAMENTO = new TEntry('EMPRESA_DEPARTAMENTO');
  255.         $EMPRESA_TIPO_SALARIO = new TEntry('EMPRESA_TIPO_SALARIO');
  256.         $EMPRESA_ORIGEM = new TEntry('EMPRESA_ORIGEM');
  257.         $EMPRESA_OUTRAS_RENDAS = new TEntry('EMPRESA_OUTRAS_RENDAS');
  258.         $CONJUGE_TELEFONE = new TEntry('CONJUGE_TELEFONE');
  259.         $CONJUGE_TEMPO_TRABALHO = new TEntry('CONJUGE_TEMPO_TRABALHO');
  260.         $CONJUGE_SALARIO = new TEntry('CONJUGE_SALARIO');
  261.         $CONJUGE_END_TRABALHO = new TEntry('CONJUGE_END_TRABALHO');
  262.         $CONJUGE_CID_TRABALHO = new TEntry('CONJUGE_CID_TRABALHO');
  263.         $CONJUGE_CEP_TRABALHO = new TEntry('CONJUGE_CEP_TRABALHO');
  264.         $CONJUGE_DEP_TRABALHO = new TEntry('CONJUGE_DEP_TRABALHO');
  265.         $CONJUGE_DATA_ADM = new TDate('CONJUGE_DATA_ADM');
  266.         $CONJUGE_RENDA = new TEntry('CONJUGE_RENDA');
  267.         $CONJUGE_VINCULO = new TEntry('CONJUGE_VINCULO');
  268.         $CONJUGE_TIPO_EMPREGO = new TEntry('CONJUGE_TIPO_EMPREGO');
  269.         $CONJUGE_ORIGEM_RENDA = new TEntry('CONJUGE_ORIGEM_RENDA');
  270.         $CONJUGE_OUTRAS_RENDAS = new TEntry('CONJUGE_OUTRAS_RENDAS');
  271.         $EMPRESA_CEP = new TEntry('EMPRESA_CEP');
  272.         $CONJUGE_CNPJ_TRABALHO = new TEntry('CONJUGE_CNPJ_TRABALHO');
  273.         $CONJUGE_PROFISSAO = new TEntry('CONJUGE_PROFISSAO');
  274.         $LIMITE_DATA_HORA_ALT = new TDate('LIMITE_DATA_HORA_ALT');
  275.         $LIMITE_USUARIO_ALT = new TEntry('LIMITE_USUARIO_ALT');
  276.         $UNIDADES = new TEntry('UNIDADES');
  277.         $CONJUGE_CPF = new TEntry('CONJUGE_CPF');
  278.         $CONJUGE_RG = new TEntry('CONJUGE_RG');
  279.         $CASAMENTO_DATA = new TDate('CASAMENTO_DATA');
  280.         $CASAMENTO_TIPO = new TEntry('CASAMENTO_TIPO');
  281.         $FRETE_PAGAR = new TEntry('FRETE_PAGAR');
  282.         $ID_MEUS_PEDIDOS = new TEntry('ID_MEUS_PEDIDOS');
  283.         $DATA_ALT_MEUS_PEDIDOS = new TDate('DATA_ALT_MEUS_PEDIDOS');
  284.         $ERRO_MEUS_PEDIDOS = new TEntry('ERRO_MEUS_PEDIDOS');
  285.         
  286.         if (!empty($ID_CLIENTE))
  287.         {
  288.             $ID_CLIENTE->setEditable(FALSE);
  289.         }
  290.         
  291.         // detail fields
  292.         $detail_ID_CIDADE = new THidden('detail_ID_CIDADE');
  293.         $detail_DESCRICAO = new TEntry('detail_DESCRICAO');
  294.         $detail_UF = new TEntry('detail_UF');
  295.         $detail_COD_IBGE = new TEntry('detail_COD_IBGE');
  296.         $detail_CEP = new TEntry('detail_CEP');
  297.         $detail_ID_USUARIO = new TEntry('detail_ID_USUARIO');
  298.         $detail_DATA_HORA_ALT = new TEntry('detail_DATA_HORA_ALT');
  299.         $detail_CONCORRENCIA = new TEntry('detail_CONCORRENCIA');
  300.         $detail_ID_PAIS = new TEntry('detail_ID_PAIS');
  301.         /** samples
  302.          $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  303.          $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  304.          $fieldX->setSize( 100, 40 ); // set size
  305.          **/
  306.         
  307.         // master
  308.         $table_general->addRowSet( new TLabel('Id Cliente'), $ID_CLIENTE );
  309.         $table_general->addRowSet( new TLabel('Codigo'), $CODIGO );
  310.         $table_general->addRowSet( new TLabel('Razao Social'), $RAZAO_SOCIAL );
  311.         $table_general->addRowSet( new TLabel('Nome Fantasia'), $NOME_FANTASIA );
  312.         $table_general->addRowSet( new TLabel('Endereco'), $ENDERECO );
  313.         $table_general->addRowSet( new TLabel('Numero'), $NUMERO );
  314.         $table_general->addRowSet( new TLabel('Complemento'), $COMPLEMENTO );
  315.         $table_general->addRowSet( new TLabel('Bairro'), $BAIRRO );
  316.         $table_general->addRowSet( new TLabel('Id Cidade'), $ID_CIDADE );
  317.         $table_general->addRowSet( new TLabel('Fone'), $FONE );
  318.         $table_general->addRowSet( new TLabel('Fax'), $FAX );
  319.         $table_general->addRowSet( new TLabel('Celular'), $CELULAR );
  320.         $table_general->addRowSet( new TLabel('Contato'), $CONTATO );
  321.         $table_general->addRowSet( new TLabel('Cnpj'), $CNPJ );
  322.         $table_general->addRowSet( new TLabel('Inscricao'), $INSCRICAO );
  323.         $table_general->addRowSet( new TLabel('Email'), $EMAIL );
  324.         $table_general->addRowSet( new TLabel('Cpf'), $CPF );
  325.         $table_general->addRowSet( new TLabel('Identidade'), $IDENTIDADE );
  326.         $table_general->addRowSet( new TLabel('Titulo Eleitor'), $TITULO_ELEITOR );
  327.         $table_general->addRowSet( new TLabel('Cart Profis'), $CART_PROFIS );
  328.         $table_general->addRowSet( new TLabel('Cart Serie'), $CART_SERIE );
  329.         $table_general->addRowSet( new TLabel('Cart Orgao'), $CART_ORGAO );
  330.         $table_general->addRowSet( new TLabel('Filiacao Pai'), $FILIACAO_PAI );
  331.         $table_general->addRowSet( new TLabel('Filiacao Mae'), $FILIACAO_MAE );
  332.         $table_general->addRowSet( new TLabel('Data Nascimento'), $DATA_NASCIMENTO );
  333.         $table_general->addRowSet( new TLabel('Data Cadastro'), $DATA_CADASTRO );
  334.         $table_general->addRowSet( new TLabel('Data Alteracao'), $DATA_ALTERACAO );
  335.         $table_general->addRowSet( new TLabel('Dependentes'), $DEPENDENTES );
  336.         $table_general->addRowSet( new TLabel('Comprovante Endereco'), $COMPROVANTE_ENDERECO );
  337.         $table_general->addRowSet( new TLabel('Data Endereco'), $DATA_ENDERECO );
  338.         $table_general->addRowSet( new TLabel('Tipo Casa'), $TIPO_CASA );
  339.         $table_general->addRowSet( new TLabel('Valor Aluguel'), $VALOR_ALUGUEL );
  340.         $table_general->addRowSet( new TLabel('Valor Despesas'), $VALOR_DESPESAS );
  341.         $table_general->addRowSet( new TLabel('Abertura Cadastro'), $ABERTURA_CADASTRO );
  342.         $table_general->addRowSet( new TLabel('Naturalidade'), $NATURALIDADE );
  343.         $table_general->addRowSet( new TLabel('Emprego Anterior'), $EMPREGO_ANTERIOR );
  344.         $table_general->addRowSet( new TLabel('Tempo Servico'), $TEMPO_SERVICO );
  345.         $table_general->addRowSet( new TLabel('Empresa Nome'), $EMPRESA_NOME );
  346.         $table_general->addRowSet( new TLabel('Empresa Id Cidade'), $EMPRESA_ID_CIDADE );
  347.         $table_general->addRowSet( new TLabel('Empresa Funcao'), $EMPRESA_FUNCAO );
  348.         $table_general->addRowSet( new TLabel('Empresa Admissao'), $EMPRESA_ADMISSAO );
  349.         $table_general->addRowSet( new TLabel('Empresa Fone'), $EMPRESA_FONE );
  350.         $table_general->addRowSet( new TLabel('Renda Cliente'), $RENDA_CLIENTE );
  351.         $table_general->addRowSet( new TLabel('Renda Conjuge'), $RENDA_CONJUGE );
  352.         $table_general->addRowSet( new TLabel('Limite Credito'), $LIMITE_CREDITO );
  353.         $table_general->addRowSet( new TLabel('Conceito'), $CONCEITO );
  354.         $table_general->addRowSet( new TLabel('Estado Civil'), $ESTADO_CIVIL );
  355.         $table_general->addRowSet( new TLabel('Sexo'), $SEXO );
  356.         $table_general->addRowSet( new TLabel('Situacao'), $SITUACAO );
  357.         $table_general->addRowSet( new TLabel('Conjuge Nome'), $CONJUGE_NOME );
  358.         $table_general->addRowSet( new TLabel('Conjuge Nascimento'), $CONJUGE_NASCIMENTO );
  359.         $table_general->addRowSet( new TLabel('Conjuge Trabalho'), $CONJUGE_TRABALHO );
  360.         $table_general->addRowSet( new TLabel('Conjuge Admissao'), $CONJUGE_ADMISSAO );
  361.         $table_general->addRowSet( new TLabel('Conjuge Fone'), $CONJUGE_FONE );
  362.         $table_general->addRowSet( new TLabel('Entrega Nome'), $ENTREGA_NOME );
  363.         $table_general->addRowSet( new TLabel('Entrega Endereco'), $ENTREGA_ENDERECO );
  364.         $table_general->addRowSet( new TLabel('Entrega Bairro'), $ENTREGA_BAIRRO );
  365.         $table_general->addRowSet( new TLabel('Entrega Id Cidade'), $ENTREGA_ID_CIDADE );
  366.         $table_general->addRowSet( new TLabel('Entrega Fone'), $ENTREGA_FONE );
  367.         $table_general->addRowSet( new TLabel('Nome Conhecido1'), $NOME_CONHECIDO1 );
  368.         $table_general->addRowSet( new TLabel('Nome Conhecido2'), $NOME_CONHECIDO2 );
  369.         $table_general->addRowSet( new TLabel('Ref Banco1'), $REF_BANCO1 );
  370.         $table_general->addRowSet( new TLabel('Ref Banco2'), $REF_BANCO2 );
  371.         $table_general->addRowSet( new TLabel('Ref Banco3'), $REF_BANCO3 );
  372.         $table_general->addRowSet( new TLabel('Ref Banco1 Conta'), $REF_BANCO1_CONTA );
  373.         $table_general->addRowSet( new TLabel('Ref Banco2 Conta'), $REF_BANCO2_CONTA );
  374.         $table_general->addRowSet( new TLabel('Ref Banco3 Conta'), $REF_BANCO3_CONTA );
  375.         $table_general->addRowSet( new TLabel('Ref Com Nome1'), $REF_COM_NOME1 );
  376.         $table_general->addRowSet( new TLabel('Ref Com Nome2'), $REF_COM_NOME2 );
  377.         $table_general->addRowSet( new TLabel('Ref Com Nome3'), $REF_COM_NOME3 );
  378.         $table_general->addRowSet( new TLabel('Ref Com Fone1'), $REF_COM_FONE1 );
  379.         $table_general->addRowSet( new TLabel('Ref Com Fone2'), $REF_COM_FONE2 );
  380.         $table_general->addRowSet( new TLabel('Ref Com Fone3'), $REF_COM_FONE3 );
  381.         $table_general->addRowSet( new TLabel('Ref Com Valor1'), $REF_COM_VALOR1 );
  382.         $table_general->addRowSet( new TLabel('Ref Com Valor2'), $REF_COM_VALOR2 );
  383.         $table_general->addRowSet( new TLabel('Ref Com Valor3'), $REF_COM_VALOR3 );
  384.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade1'), $REF_COM_PONTUALIDADE1 );
  385.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade2'), $REF_COM_PONTUALIDADE2 );
  386.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade3'), $REF_COM_PONTUALIDADE3 );
  387.         $table_general->addRowSet( new TLabel('Indicador 1'), $INDICADOR_1 );
  388.         $table_general->addRowSet( new TLabel('Indicador 2'), $INDICADOR_2 );
  389.         $table_general->addRowSet( new TLabel('Indicador 3'), $INDICADOR_3 );
  390.         $table_general->addRowSet( new TLabel('Indicador 4'), $INDICADOR_4 );
  391.         $table_general->addRowSet( new TLabel('Indicador 5'), $INDICADOR_5 );
  392.         $table_general->addRowSet( new TLabel('Indicador 6'), $INDICADOR_6 );
  393.         $table_general->addRowSet( new TLabel('Indicador 7'), $INDICADOR_7 );
  394.         $table_general->addRowSet( new TLabel('Indicador 8'), $INDICADOR_8 );
  395.         $table_general->addRowSet( new TLabel('Indicador 9'), $INDICADOR_9 );
  396.         $table_general->addRowSet( new TLabel('Indicador 10'), $INDICADOR_10 );
  397.         $table_general->addRowSet( new TLabel('Spc Data Envio'), $SPC_DATA_ENVIO );
  398.         $table_general->addRowSet( new TLabel('Spc Valor Compra'), $SPC_VALOR_COMPRA );
  399.         $table_general->addRowSet( new TLabel('Spc Data Baixa'), $SPC_DATA_BAIXA );
  400.         $table_general->addRowSet( new TLabel('Serasa Data Envio'), $SERASA_DATA_ENVIO );
  401.         $table_general->addRowSet( new TLabel('Serasa Valor Compra'), $SERASA_VALOR_COMPRA );
  402.         $table_general->addRowSet( new TLabel('Serasa Data Baixa'), $SERASA_DATA_BAIXA );
  403.         $table_general->addRowSet( new TLabel('Outra Data Envio'), $OUTRA_DATA_ENVIO );
  404.         $table_general->addRowSet( new TLabel('Outra Valor Compra'), $OUTRA_VALOR_COMPRA );
  405.         $table_general->addRowSet( new TLabel('Outra Data Baixa'), $OUTRA_DATA_BAIXA );
  406.         $table_general->addRowSet( new TLabel('Observacoes'), $OBSERVACOES );
  407.         $table_general->addRowSet( new TLabel('Tabela Preco'), $TABELA_PRECO );
  408.         $table_general->addRowSet( new TLabel('Tipo Pagamento'), $TIPO_PAGAMENTO );
  409.         $table_general->addRowSet( new TLabel('Forma Pagamento'), $FORMA_PAGAMENTO );
  410.         $table_general->addRowSet( new TLabel('Alterar Preco'), $ALTERAR_PRECO );
  411.         $table_general->addRowSet( new TLabel('Id Cliente Cobranca'), $ID_CLIENTE_COBRANCA );
  412.         $table_general->addRowSet( new TLabel('Ind Tipo Pagamento'), $IND_TIPO_PAGAMENTO );
  413.         $table_general->addRowSet( new TLabel('Recebe Cobranca'), $RECEBE_COBRANCA );
  414.         $table_general->addRowSet( new TLabel('Cobrar Taxa Cartorio'), $COBRAR_TAXA_CARTORIO );
  415.         $table_general->addRowSet( new TLabel('Cobrar Taxa Bancaria'), $COBRAR_TAXA_BANCARIA );
  416.         $table_general->addRowSet( new TLabel('Id Usuario'), $ID_USUARIO );
  417.         $table_general->addRowSet( new TLabel('Data Hora Alt'), $DATA_HORA_ALT );
  418.         $table_general->addRowSet( new TLabel('Id Vendedor'), $ID_VENDEDOR );
  419.         $table_general->addRowSet( new TLabel('Id Tipo Atividade'), $ID_TIPO_ATIVIDADE );
  420.         $table_general->addRowSet( new TLabel('Id Praca'), $ID_PRACA );
  421.         $table_general->addRowSet( new TLabel('Id Empresa'), $ID_EMPRESA );
  422.         $table_general->addRowSet( new TLabel('Concorrencia'), $CONCORRENCIA );
  423.         $table_general->addRowSet( new TLabel('Email Nfe'), $EMAIL_NFE );
  424.         $table_general->addRowSet( new TLabel('Id Foto'), $ID_FOTO );
  425.         $table_general->addRowSet( new TLabel('Unidade Venda'), $UNIDADE_VENDA );
  426.         $table_general->addRowSet( new TLabel('Id Empresa Nf'), $ID_EMPRESA_NF );
  427.         $table_general->addRowSet( new TLabel('Emite Nota'), $EMITE_NOTA );
  428.         $table_general->addRowSet( new TLabel('Cep'), $CEP );
  429.         $table_general->addRowSet( new TLabel('Id Transportador'), $ID_TRANSPORTADOR );
  430.         $table_general->addRowSet( new TLabel('Saldo Credito'), $SALDO_CREDITO );
  431.         $table_general->addRowSet( new TLabel('Codigo Convenio'), $CODIGO_CONVENIO );
  432.         $table_general->addRowSet( new TLabel('Id Caixa'), $ID_CAIXA );
  433.         $table_general->addRowSet( new TLabel('Historico Vendas'), $HISTORICO_VENDAS );
  434.         $table_general->addRowSet( new TLabel('Historico Itens'), $HISTORICO_ITENS );
  435.         $table_general->addRowSet( new TLabel('Desconto'), $DESCONTO );
  436.         $table_general->addRowSet( new TLabel('Id Banco'), $ID_BANCO );
  437.         $table_general->addRowSet( new TLabel('Email Boleto'), $EMAIL_BOLETO );
  438.         $table_general->addRowSet( new TLabel('Id Rede'), $ID_REDE );
  439.         $table_general->addRowSet( new TLabel('Dia Vencto'), $DIA_VENCTO );
  440.         $table_general->addRowSet( new TLabel('Dia Virada'), $DIA_VIRADA );
  441.         $table_general->addRowSet( new TLabel('Id Forma'), $ID_FORMA );
  442.         $table_general->addRowSet( new TLabel('Matricula'), $MATRICULA );
  443.         $table_general->addRowSet( new TLabel('Autorizado1'), $AUTORIZADO1 );
  444.         $table_general->addRowSet( new TLabel('Autorizado2'), $AUTORIZADO2 );
  445.         $table_general->addRowSet( new TLabel('Autorizado3'), $AUTORIZADO3 );
  446.         $table_general->addRowSet( new TLabel('Autorizado4'), $AUTORIZADO4 );
  447.         $table_general->addRowSet( new TLabel('Autorizado5'), $AUTORIZADO5 );
  448.         $table_general->addRowSet( new TLabel('Autorizado6'), $AUTORIZADO6 );
  449.         $table_general->addRowSet( new TLabel('Transmitido'), $TRANSMITIDO );
  450.         $table_general->addRowSet( new TLabel('Obs Spc1'), $OBS_SPC1 );
  451.         $table_general->addRowSet( new TLabel('Obs Spc2'), $OBS_SPC2 );
  452.         $table_general->addRowSet( new TLabel('Obs Spc3'), $OBS_SPC3 );
  453.         $table_general->addRowSet( new TLabel('Roupa Calca'), $ROUPA_CALCA );
  454.         $table_general->addRowSet( new TLabel('Roupa Camisa'), $ROUPA_CAMISA );
  455.         $table_general->addRowSet( new TLabel('Roupa Sapato'), $ROUPA_SAPATO );
  456.         $table_general->addRowSet( new TLabel('Roupa Blazer'), $ROUPA_BLAZER );
  457.         $table_general->addRowSet( new TLabel('Diretorio'), $DIRETORIO );
  458.         $table_general->addRowSet( new TLabel('Desc Financeiro'), $DESC_FINANCEIRO );
  459.         $table_general->addRowSet( new TLabel('Ind Tpagto'), $IND_TPAGTO );
  460.         $table_general->addRowSet( new TLabel('Despesas Cliente'), $DESPESAS_CLIENTE );
  461.         $table_general->addRowSet( new TLabel('Nome User Liberou'), $NOME_USER_LIBEROU );
  462.         $table_general->addRowSet( new TLabel('Id User Liberou'), $ID_USER_LIBEROU );
  463.         $table_general->addRowSet( new TLabel('Motivo Liberacao'), $MOTIVO_LIBERACAO );
  464.         $table_general->addRowSet( new TLabel('Libera Crediario'), $LIBERA_CREDIARIO );
  465.         $table_general->addRowSet( new TLabel('Data Hora Liberacao'), $DATA_HORA_LIBERACAO );
  466.         $table_general->addRowSet( new TLabel('Qual Preco'), $QUAL_PRECO );
  467.         $table_general->addRowSet( new TLabel('Carencia'), $CARENCIA );
  468.         $table_general->addRowSet( new TLabel('Id Foto A1'), $ID_FOTO_A1 );
  469.         $table_general->addRowSet( new TLabel('Id Foto A2'), $ID_FOTO_A2 );
  470.         $table_general->addRowSet( new TLabel('Id Foto A3'), $ID_FOTO_A3 );
  471.         $table_general->addRowSet( new TLabel('Id Foto A4'), $ID_FOTO_A4 );
  472.         $table_general->addRowSet( new TLabel('Id Foto A5'), $ID_FOTO_A5 );
  473.         $table_general->addRowSet( new TLabel('Id Foto A6'), $ID_FOTO_A6 );
  474.         $table_general->addRowSet( new TLabel('Valor Autorizado1'), $VALOR_AUTORIZADO1 );
  475.         $table_general->addRowSet( new TLabel('Valor Autorizado2'), $VALOR_AUTORIZADO2 );
  476.         $table_general->addRowSet( new TLabel('Valor Autorizado3'), $VALOR_AUTORIZADO3 );
  477.         $table_general->addRowSet( new TLabel('Valor Autorizado4'), $VALOR_AUTORIZADO4 );
  478.         $table_general->addRowSet( new TLabel('Valor Autorizado5'), $VALOR_AUTORIZADO5 );
  479.         $table_general->addRowSet( new TLabel('Valor Autorizado6'), $VALOR_AUTORIZADO6 );
  480.         $table_general->addRowSet( new TLabel('Di Autorizado1'), $DI_AUTORIZADO1 );
  481.         $table_general->addRowSet( new TLabel('Di Autorizado2'), $DI_AUTORIZADO2 );
  482.         $table_general->addRowSet( new TLabel('Di Autorizado3'), $DI_AUTORIZADO3 );
  483.         $table_general->addRowSet( new TLabel('Di Autorizado4'), $DI_AUTORIZADO4 );
  484.         $table_general->addRowSet( new TLabel('Di Autorizado5'), $DI_AUTORIZADO5 );
  485.         $table_general->addRowSet( new TLabel('Di Autorizado6'), $DI_AUTORIZADO6 );
  486.         $table_general->addRowSet( new TLabel('Df Autorizado1'), $DF_AUTORIZADO1 );
  487.         $table_general->addRowSet( new TLabel('Df Autorizado2'), $DF_AUTORIZADO2 );
  488.         $table_general->addRowSet( new TLabel('Df Autorizado3'), $DF_AUTORIZADO3 );
  489.         $table_general->addRowSet( new TLabel('Df Autorizado4'), $DF_AUTORIZADO4 );
  490.         $table_general->addRowSet( new TLabel('Df Autorizado5'), $DF_AUTORIZADO5 );
  491.         $table_general->addRowSet( new TLabel('Df Autorizado6'), $DF_AUTORIZADO6 );
  492.         $table_general->addRowSet( new TLabel('Doc Autorizado1'), $DOC_AUTORIZADO1 );
  493.         $table_general->addRowSet( new TLabel('Doc Autorizado2'), $DOC_AUTORIZADO2 );
  494.         $table_general->addRowSet( new TLabel('Doc Autorizado3'), $DOC_AUTORIZADO3 );
  495.         $table_general->addRowSet( new TLabel('Doc Autorizado4'), $DOC_AUTORIZADO4 );
  496.         $table_general->addRowSet( new TLabel('Doc Autorizado5'), $DOC_AUTORIZADO5 );
  497.         $table_general->addRowSet( new TLabel('Doc Autorizado6'), $DOC_AUTORIZADO6 );
  498.         $table_general->addRowSet( new TLabel('Endereco Trabalho'), $ENDERECO_TRABALHO );
  499.         $table_general->addRowSet( new TLabel('Contato Financeiro'), $CONTATO_FINANCEIRO );
  500.         $table_general->addRowSet( new TLabel('Fone Financeiro'), $FONE_FINANCEIRO );
  501.         $table_general->addRowSet( new TLabel('Rg Expedicao'), $RG_EXPEDICAO );
  502.         $table_general->addRowSet( new TLabel('Rg Orgao'), $RG_ORGAO );
  503.         $table_general->addRowSet( new TLabel('Escolaridade'), $ESCOLARIDADE );
  504.         $table_general->addRowSet( new TLabel('Desc Aposentadoria'), $DESC_APOSENTADORIA );
  505.         $table_general->addRowSet( new TLabel('Desc Pensao'), $DESC_PENSAO );
  506.         $table_general->addRowSet( new TLabel('Nro Aposentadoria'), $NRO_APOSENTADORIA );
  507.         $table_general->addRowSet( new TLabel('Nro Pensao'), $NRO_PENSAO );
  508.         $table_general->addRowSet( new TLabel('Nit'), $NIT );
  509.         $table_general->addRowSet( new TLabel('Id Situacao'), $ID_SITUACAO );
  510.         $table_general->addRowSet( new TLabel('Id Conjuge'), $ID_CONJUGE );
  511.         $table_general->addRowSet( new TLabel('Endereco Correspondencia'), $ENDERECO_CORRESPONDENCIA );
  512.         $table_general->addRowSet( new TLabel('Empresa Cnpj'), $EMPRESA_CNPJ );
  513.         $table_general->addRowSet( new TLabel('Empresa Vinculo'), $EMPRESA_VINCULO );
  514.         $table_general->addRowSet( new TLabel('Empresa Departamento'), $EMPRESA_DEPARTAMENTO );
  515.         $table_general->addRowSet( new TLabel('Empresa Tipo Salario'), $EMPRESA_TIPO_SALARIO );
  516.         $table_general->addRowSet( new TLabel('Empresa Origem'), $EMPRESA_ORIGEM );
  517.         $table_general->addRowSet( new TLabel('Empresa Outras Rendas'), $EMPRESA_OUTRAS_RENDAS );
  518.         $table_general->addRowSet( new TLabel('Conjuge Telefone'), $CONJUGE_TELEFONE );
  519.         $table_general->addRowSet( new TLabel('Conjuge Tempo Trabalho'), $CONJUGE_TEMPO_TRABALHO );
  520.         $table_general->addRowSet( new TLabel('Conjuge Salario'), $CONJUGE_SALARIO );
  521.         $table_general->addRowSet( new TLabel('Conjuge End Trabalho'), $CONJUGE_END_TRABALHO );
  522.         $table_general->addRowSet( new TLabel('Conjuge Cid Trabalho'), $CONJUGE_CID_TRABALHO );
  523.         $table_general->addRowSet( new TLabel('Conjuge Cep Trabalho'), $CONJUGE_CEP_TRABALHO );
  524.         $table_general->addRowSet( new TLabel('Conjuge Dep Trabalho'), $CONJUGE_DEP_TRABALHO );
  525.         $table_general->addRowSet( new TLabel('Conjuge Data Adm'), $CONJUGE_DATA_ADM );
  526.         $table_general->addRowSet( new TLabel('Conjuge Renda'), $CONJUGE_RENDA );
  527.         $table_general->addRowSet( new TLabel('Conjuge Vinculo'), $CONJUGE_VINCULO );
  528.         $table_general->addRowSet( new TLabel('Conjuge Tipo Emprego'), $CONJUGE_TIPO_EMPREGO );
  529.         $table_general->addRowSet( new TLabel('Conjuge Origem Renda'), $CONJUGE_ORIGEM_RENDA );
  530.         $table_general->addRowSet( new TLabel('Conjuge Outras Rendas'), $CONJUGE_OUTRAS_RENDAS );
  531.         $table_general->addRowSet( new TLabel('Empresa Cep'), $EMPRESA_CEP );
  532.         $table_general->addRowSet( new TLabel('Conjuge Cnpj Trabalho'), $CONJUGE_CNPJ_TRABALHO );
  533.         $table_general->addRowSet( new TLabel('Conjuge Profissao'), $CONJUGE_PROFISSAO );
  534.         $table_general->addRowSet( new TLabel('Limite Data Hora Alt'), $LIMITE_DATA_HORA_ALT );
  535.         $table_general->addRowSet( new TLabel('Limite Usuario Alt'), $LIMITE_USUARIO_ALT );
  536.         $table_general->addRowSet( new TLabel('Unidades'), $UNIDADES );
  537.         $table_general->addRowSet( new TLabel('Conjuge Cpf'), $CONJUGE_CPF );
  538.         $table_general->addRowSet( new TLabel('Conjuge Rg'), $CONJUGE_RG );
  539.         $table_general->addRowSet( new TLabel('Casamento Data'), $CASAMENTO_DATA );
  540.         $table_general->addRowSet( new TLabel('Casamento Tipo'), $CASAMENTO_TIPO );
  541.         $table_general->addRowSet( new TLabel('Frete Pagar'), $FRETE_PAGAR );
  542.         $table_general->addRowSet( new TLabel('Id Meus Pedidos'), $ID_MEUS_PEDIDOS );
  543.         $table_general->addRowSet( new TLabel('Data Alt Meus Pedidos'), $DATA_ALT_MEUS_PEDIDOS );
  544.         $table_general->addRowSet( new TLabel('Erro Meus Pedidos'), $ERRO_MEUS_PEDIDOS );
  545.         
  546.          // detail
  547.         $frame_details = new TFrame();
  548.         $frame_details->setLegend('Cidade');
  549.         $row $table_detail->addRow();
  550.         $row->addCell($frame_details);
  551.         
  552.         $btn_save_detail = new TButton('btn_save_detail');
  553.         $btn_save_detail->setAction(new TAction(array($this'onSaveDetail')), 'Register');
  554.         $btn_save_detail->setImage('fa:save');
  555.         
  556.         $table_details = new TTable;
  557.         $frame_details->add($table_details);
  558.         
  559.         $table_details->addRowSet''$detail_ID_CIDADE );
  560.         $table_details->addRowSet( new TLabel('Descricao'), $detail_DESCRICAO );
  561.         $table_details->addRowSet( new TLabel('Uf'), $detail_UF );
  562.         $table_details->addRowSet( new TLabel('Cod Ibge'), $detail_COD_IBGE );
  563.         $table_details->addRowSet( new TLabel('Cep'), $detail_CEP );
  564.         $table_details->addRowSet( new TLabel('Id Usuario'), $detail_ID_USUARIO );
  565.         $table_details->addRowSet( new TLabel('Data Hora Alt'), $detail_DATA_HORA_ALT );
  566.         $table_details->addRowSet( new TLabel('Concorrencia'), $detail_CONCORRENCIA );
  567.         $table_details->addRowSet( new TLabel('Id Pais'), $detail_ID_PAIS );
  568.         
  569.         $table_details->addRowSet$btn_save_detail );
  570.         
  571.         $this->detail_list = new TQuickGrid;
  572.         $this->detail_list->setHeight175 );
  573.         $this->detail_list->makeScrollable();
  574.         $this->detail_list->disableDefaultClick();
  575.         $this->detail_list->addQuickColumn('''edit''left'50);
  576.         $this->detail_list->addQuickColumn('''delete''left'50);
  577.         
  578.         // items
  579.         $this->detail_list->addQuickColumn('Descricao''DESCRICAO''left'200);
  580.         $this->detail_list->addQuickColumn('Uf''UF''left'200);
  581.         $this->detail_list->addQuickColumn('Cod Ibge''COD_IBGE''left'200);
  582.         $this->detail_list->addQuickColumn('Cep''CEP''left'200);
  583.         $this->detail_list->addQuickColumn('Id Usuario''ID_USUARIO''left'100);
  584.         $this->detail_list->addQuickColumn('Data Hora Alt''DATA_HORA_ALT''left'200);
  585.         $this->detail_list->addQuickColumn('Concorrencia''CONCORRENCIA''left'100);
  586.         $this->detail_list->addQuickColumn('Id Pais''ID_PAIS''left'100);
  587.         $this->detail_list->createModel();
  588.         
  589.         $row $table_detail->addRow();
  590.         $row->addCell($this->detail_list);
  591.         
  592.         // create an action button (save)
  593.         $save_button=new TButton('save');
  594.         $save_button->setAction(new TAction(array($this'onSave')), _t('Save'));
  595.         $save_button->setImage('ico_save.png');
  596.         // create an new button (edit with no parameters)
  597.         $new_button=new TButton('new');
  598.         $new_button->setAction(new TAction(array($this'onClear')), _t('New'));
  599.         $new_button->setImage('ico_new.png');
  600.         
  601.         // define form fields
  602.         $this->formFields   = array($ID_CLIENTE,$CODIGO,$RAZAO_SOCIAL,$NOME_FANTASIA,$ENDERECO,$NUMERO,$COMPLEMENTO,$BAIRRO,$ID_CIDADE,$FONE,$FAX,$CELULAR,$CONTATO,$CNPJ,$INSCRICAO,$EMAIL,$CPF,$IDENTIDADE,$TITULO_ELEITOR,$CART_PROFIS,$CART_SERIE,$CART_ORGAO,$FILIACAO_PAI,$FILIACAO_MAE,$DATA_NASCIMENTO,$DATA_CADASTRO,$DATA_ALTERACAO,$DEPENDENTES,$COMPROVANTE_ENDERECO,$DATA_ENDERECO,$TIPO_CASA,$VALOR_ALUGUEL,$VALOR_DESPESAS,$ABERTURA_CADASTRO,$NATURALIDADE,$EMPREGO_ANTERIOR,$TEMPO_SERVICO,$EMPRESA_NOME,$EMPRESA_ID_CIDADE,$EMPRESA_FUNCAO,$EMPRESA_ADMISSAO,$EMPRESA_FONE,$RENDA_CLIENTE,$RENDA_CONJUGE,$LIMITE_CREDITO,$CONCEITO,$ESTADO_CIVIL,$SEXO,$SITUACAO,$CONJUGE_NOME,$CONJUGE_NASCIMENTO,$CONJUGE_TRABALHO,$CONJUGE_ADMISSAO,$CONJUGE_FONE,$ENTREGA_NOME,$ENTREGA_ENDERECO,$ENTREGA_BAIRRO,$ENTREGA_ID_CIDADE,$ENTREGA_FONE,$NOME_CONHECIDO1,$NOME_CONHECIDO2,$REF_BANCO1,$REF_BANCO2,$REF_BANCO3,$REF_BANCO1_CONTA,$REF_BANCO2_CONTA,$REF_BANCO3_CONTA,$REF_COM_NOME1,$REF_COM_NOME2,$REF_COM_NOME3,$REF_COM_FONE1,$REF_COM_FONE2,$REF_COM_FONE3,$REF_COM_VALOR1,$REF_COM_VALOR2,$REF_COM_VALOR3,$REF_COM_PONTUALIDADE1,$REF_COM_PONTUALIDADE2,$REF_COM_PONTUALIDADE3,$INDICADOR_1,$INDICADOR_2,$INDICADOR_3,$INDICADOR_4,$INDICADOR_5,$INDICADOR_6,$INDICADOR_7,$INDICADOR_8,$INDICADOR_9,$INDICADOR_10,$SPC_DATA_ENVIO,$SPC_VALOR_COMPRA,$SPC_DATA_BAIXA,$SERASA_DATA_ENVIO,$SERASA_VALOR_COMPRA,$SERASA_DATA_BAIXA,$OUTRA_DATA_ENVIO,$OUTRA_VALOR_COMPRA,$OUTRA_DATA_BAIXA,$OBSERVACOES,$TABELA_PRECO,$TIPO_PAGAMENTO,$FORMA_PAGAMENTO,$ALTERAR_PRECO,$ID_CLIENTE_COBRANCA,$IND_TIPO_PAGAMENTO,$RECEBE_COBRANCA,$COBRAR_TAXA_CARTORIO,$COBRAR_TAXA_BANCARIA,$ID_USUARIO,$DATA_HORA_ALT,$ID_VENDEDOR,$ID_TIPO_ATIVIDADE,$ID_PRACA,$ID_EMPRESA,$CONCORRENCIA,$EMAIL_NFE,$ID_FOTO,$UNIDADE_VENDA,$ID_EMPRESA_NF,$EMITE_NOTA,$CEP,$ID_TRANSPORTADOR,$SALDO_CREDITO,$CODIGO_CONVENIO,$ID_CAIXA,$HISTORICO_VENDAS,$HISTORICO_ITENS,$DESCONTO,$ID_BANCO,$EMAIL_BOLETO,$ID_REDE,$DIA_VENCTO,$DIA_VIRADA,$ID_FORMA,$MATRICULA,$AUTORIZADO1,$AUTORIZADO2,$AUTORIZADO3,$AUTORIZADO4,$AUTORIZADO5,$AUTORIZADO6,$TRANSMITIDO,$OBS_SPC1,$OBS_SPC2,$OBS_SPC3,$ROUPA_CALCA,$ROUPA_CAMISA,$ROUPA_SAPATO,$ROUPA_BLAZER,$DIRETORIO,$DESC_FINANCEIRO,$IND_TPAGTO,$DESPESAS_CLIENTE,$NOME_USER_LIBEROU,$ID_USER_LIBEROU,$MOTIVO_LIBERACAO,$LIBERA_CREDIARIO,$DATA_HORA_LIBERACAO,$QUAL_PRECO,$CARENCIA,$ID_FOTO_A1,$ID_FOTO_A2,$ID_FOTO_A3,$ID_FOTO_A4,$ID_FOTO_A5,$ID_FOTO_A6,$VALOR_AUTORIZADO1,$VALOR_AUTORIZADO2,$VALOR_AUTORIZADO3,$VALOR_AUTORIZADO4,$VALOR_AUTORIZADO5,$VALOR_AUTORIZADO6,$DI_AUTORIZADO1,$DI_AUTORIZADO2,$DI_AUTORIZADO3,$DI_AUTORIZADO4,$DI_AUTORIZADO5,$DI_AUTORIZADO6,$DF_AUTORIZADO1,$DF_AUTORIZADO2,$DF_AUTORIZADO3,$DF_AUTORIZADO4,$DF_AUTORIZADO5,$DF_AUTORIZADO6,$DOC_AUTORIZADO1,$DOC_AUTORIZADO2,$DOC_AUTORIZADO3,$DOC_AUTORIZADO4,$DOC_AUTORIZADO5,$DOC_AUTORIZADO6,$ENDERECO_TRABALHO,$CONTATO_FINANCEIRO,$FONE_FINANCEIRO,$RG_EXPEDICAO,$RG_ORGAO,$ESCOLARIDADE,$DESC_APOSENTADORIA,$DESC_PENSAO,$NRO_APOSENTADORIA,$NRO_PENSAO,$NIT,$ID_SITUACAO,$ID_CONJUGE,$ENDERECO_CORRESPONDENCIA,$EMPRESA_CNPJ,$EMPRESA_VINCULO,$EMPRESA_DEPARTAMENTO,$EMPRESA_TIPO_SALARIO,$EMPRESA_ORIGEM,$EMPRESA_OUTRAS_RENDAS,$CONJUGE_TELEFONE,$CONJUGE_TEMPO_TRABALHO,$CONJUGE_SALARIO,$CONJUGE_END_TRABALHO,$CONJUGE_CID_TRABALHO,$CONJUGE_CEP_TRABALHO,$CONJUGE_DEP_TRABALHO,$CONJUGE_DATA_ADM,$CONJUGE_RENDA,$CONJUGE_VINCULO,$CONJUGE_TIPO_EMPREGO,$CONJUGE_ORIGEM_RENDA,$CONJUGE_OUTRAS_RENDAS,$EMPRESA_CEP,$CONJUGE_CNPJ_TRABALHO,$CONJUGE_PROFISSAO,$LIMITE_DATA_HORA_ALT,$LIMITE_USUARIO_ALT,$UNIDADES,$CONJUGE_CPF,$CONJUGE_RG,$CASAMENTO_DATA,$CASAMENTO_TIPO,$FRETE_PAGAR,$ID_MEUS_PEDIDOS,$DATA_ALT_MEUS_PEDIDOS,$ERRO_MEUS_PEDIDOS,$detail_DESCRICAO,$detail_UF,$detail_COD_IBGE,$detail_CEP,$detail_ID_USUARIO,$detail_DATA_HORA_ALT,$detail_CONCORRENCIA,$detail_ID_PAIS);
  603.         $this->formFields[] = $btn_save_detail;
  604.         $this->formFields[] = $save_button;
  605.         $this->formFields[] = $new_button;
  606.         $this->formFields[] = $detail_ID_CIDADE;
  607.         $this->form->setFields$this->formFields );
  608.         
  609.         $table_master->addRowSet( array($save_button$new_button), '''')->class 'tformaction'// CSS class
  610.         
  611.         // create the page container
  612.         $container = new TVBox;
  613.         $container->style 'width: 90%';
  614.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  615.         $container->add($this->form);
  616.         parent::add($container);
  617.     }
  618.     
  619.     
  620.     /**
  621.      * Clear form
  622.      * @param $param URL parameters
  623.      */
  624.     public function onClear($param)
  625.     {
  626.         $this->form->clear();
  627.         TSession::setValue(__CLASS__.'_items', array());
  628.         $this->onReload$param );
  629.     }
  630.     
  631.     /**
  632.      * Save an item from form to session list
  633.      * @param $param URL parameters
  634.      */
  635.     public function onSaveDetail$param )
  636.     {
  637.         try
  638.         {
  639.             TTransaction::open('conexao');
  640.             $data $this->form->getData();
  641.             
  642.             /** validation sample
  643.             if (! $data->fieldX)
  644.                 throw new Exception('The field fieldX is required');
  645.             **/
  646.             
  647.             $items TSession::getValue(__CLASS__.'_items');
  648.             $key = empty($data->detail_ID_CIDADE) ? 'X'.mt_rand(10000000001999999999) : $data->detail_ID_CIDADE;
  649.             
  650.             $items$key ] = array();
  651.             $items$key ]['ID_CIDADE'] = $key;
  652.             $items$key ]['DESCRICAO'] = $data->detail_DESCRICAO;
  653.             $items$key ]['UF'] = $data->detail_UF;
  654.             $items$key ]['COD_IBGE'] = $data->detail_COD_IBGE;
  655.             $items$key ]['CEP'] = $data->detail_CEP;
  656.             $items$key ]['ID_USUARIO'] = $data->detail_ID_USUARIO;
  657.             $items$key ]['DATA_HORA_ALT'] = $data->detail_DATA_HORA_ALT;
  658.             $items$key ]['CONCORRENCIA'] = $data->detail_CONCORRENCIA;
  659.             $items$key ]['ID_PAIS'] = $data->detail_ID_PAIS;
  660.             
  661.             TSession::setValue(__CLASS__.'_items'$items);
  662.             
  663.             // clear detail form fields
  664.             $data->detail_ID_CIDADE '';
  665.             $data->detail_DESCRICAO '';
  666.             $data->detail_UF '';
  667.             $data->detail_COD_IBGE '';
  668.             $data->detail_CEP '';
  669.             $data->detail_ID_USUARIO '';
  670.             $data->detail_DATA_HORA_ALT '';
  671.             $data->detail_CONCORRENCIA '';
  672.             $data->detail_ID_PAIS '';
  673.             
  674.             TTransaction::close();
  675.             $this->form->setData($data);
  676.             
  677.             $this->onReload$param ); // reload the items
  678.         }
  679.         catch (Exception $e)
  680.         {
  681.             $this->form->setData$this->form->getData());
  682.             new TMessage('error'$e->getMessage());
  683.         }
  684.     }
  685.     
  686.     /**
  687.      * Load an item from session list to detail form
  688.      * @param $param URL parameters
  689.      */
  690.     public function onEditDetail$param )
  691.     {
  692.         $data $this->form->getData();
  693.         
  694.         // read session items
  695.         $items TSession::getValue(__CLASS__.'_items');
  696.         
  697.         // get the session item
  698.         $item $items$param['item_key'] ];
  699.         
  700.         $data->detail_ID_CIDADE $item['ID_CIDADE'];
  701.         $data->detail_DESCRICAO $item['DESCRICAO'];
  702.         $data->detail_UF $item['UF'];
  703.         $data->detail_COD_IBGE $item['COD_IBGE'];
  704.         $data->detail_CEP $item['CEP'];
  705.         $data->detail_ID_USUARIO $item['ID_USUARIO'];
  706.         $data->detail_DATA_HORA_ALT $item['DATA_HORA_ALT'];
  707.         $data->detail_CONCORRENCIA $item['CONCORRENCIA'];
  708.         $data->detail_ID_PAIS $item['ID_PAIS'];
  709.         
  710.         // fill detail fields
  711.         $this->form->setData$data );
  712.     
  713.         $this->onReload$param );
  714.     }
  715.     
  716.     /**
  717.      * Delete an item from session list
  718.      * @param $param URL parameters
  719.      */
  720.     public function onDeleteDetail$param )
  721.     {
  722.         $data $this->form->getData();
  723.         
  724.         // reset items
  725.             $data->detail_DESCRICAO '';
  726.             $data->detail_UF '';
  727.             $data->detail_COD_IBGE '';
  728.             $data->detail_CEP '';
  729.             $data->detail_ID_USUARIO '';
  730.             $data->detail_DATA_HORA_ALT '';
  731.             $data->detail_CONCORRENCIA '';
  732.             $data->detail_ID_PAIS '';
  733.         
  734.         // clear form data
  735.         $this->form->setData$data );
  736.         
  737.         // read session items
  738.         $items TSession::getValue(__CLASS__.'_items');
  739.         
  740.         // delete the item from session
  741.         unset($items$param['item_key'] ] );
  742.         TSession::setValue(__CLASS__.'_items'$items);
  743.         
  744.         // reload items
  745.         $this->onReload$param );
  746.     }
  747.     
  748.     /**
  749.      * Load the items list from session
  750.      * @param $param URL parameters
  751.      */
  752.     public function onReload($param)
  753.     {
  754.         // read session items
  755.         $items TSession::getValue(__CLASS__.'_items');
  756.         
  757.         $this->detail_list->clear(); // clear detail list
  758.         $data $this->form->getData();
  759.         
  760.         if ($items)
  761.         {
  762.             $cont 1;
  763.             foreach ($items as $list_item_key => $list_item)
  764.             {
  765.                 $item_name 'prod_' $cont++;
  766.                 $item = new StdClass;
  767.                 
  768.                 // create action buttons
  769.                 $action_del = new TAction(array($this'onDeleteDetail'));
  770.                 $action_del->setParameter('item_key'$list_item_key);
  771.                 
  772.                 $action_edi = new TAction(array($this'onEditDetail'));
  773.                 $action_edi->setParameter('item_key'$list_item_key);
  774.                 
  775.                 $button_del = new TButton('delete_detail'.$cont);
  776.                 $button_del->class 'btn btn-default btn-sm';
  777.                 $button_del->setAction$action_del'' );
  778.                 $button_del->setImage('fa:trash-o red fa-lg');
  779.                 
  780.                 $button_edi = new TButton('edit_detail'.$cont);
  781.                 $button_edi->class 'btn btn-default btn-sm';
  782.                 $button_edi->setAction$action_edi'' );
  783.                 $button_edi->setImage('fa:edit blue fa-lg');
  784.                 
  785.                 $item->edit   $button_edi;
  786.                 $item->delete $button_del;
  787.                 
  788.                 $this->formFields$item_name.'_edit' ] = $item->edit;
  789.                 $this->formFields$item_name.'_delete' ] = $item->delete;
  790.                 
  791.                 // items
  792.                 $item->ID_CIDADE $list_item['ID_CIDADE'];
  793.                 $item->DESCRICAO $list_item['DESCRICAO'];
  794.                 $item->UF $list_item['UF'];
  795.                 $item->COD_IBGE $list_item['COD_IBGE'];
  796.                 $item->CEP $list_item['CEP'];
  797.                 $item->ID_USUARIO $list_item['ID_USUARIO'];
  798.                 $item->DATA_HORA_ALT $list_item['DATA_HORA_ALT'];
  799.                 $item->CONCORRENCIA $list_item['CONCORRENCIA'];
  800.                 $item->ID_PAIS $list_item['ID_PAIS'];
  801.                 
  802.                 $row $this->detail_list->addItem$item );
  803.                 $row->onmouseover='';
  804.                 $row->onmouseout='';
  805.             }
  806.             $this->form->setFields$this->formFields );
  807.         }
  808.         
  809.         $this->loaded TRUE;
  810.     }
  811.     
  812.     /**
  813.      * Load Master/Detail data from database to form/session
  814.      */
  815.     public function onEdit($param)
  816.     {
  817.         try
  818.         {
  819.             TTransaction::open('conexao');
  820.             
  821.             if (isset($param['key']))
  822.             {
  823.                 $key $param['key'];
  824.                 
  825.                 $object = new Cliente($key);
  826.                 $items  Cidade::where('ID_CIDADE''='$key)->load();
  827.                 
  828.                 $session_items = array();
  829.                 foreach( $items as $item )
  830.                 {
  831.                     $item_key $item->ID_CIDADE;
  832.                     $session_items[$item_key] = $item->toArray();
  833.                     $session_items[$item_key]['ID_CIDADE'] = $item->ID_CIDADE;
  834.                     $session_items[$item_key]['DESCRICAO'] = $item->DESCRICAO;
  835.                     $session_items[$item_key]['UF'] = $item->UF;
  836.                     $session_items[$item_key]['COD_IBGE'] = $item->COD_IBGE;
  837.                     $session_items[$item_key]['CEP'] = $item->CEP;
  838.                     $session_items[$item_key]['ID_USUARIO'] = $item->ID_USUARIO;
  839.                     $session_items[$item_key]['DATA_HORA_ALT'] = $item->DATA_HORA_ALT;
  840.                     $session_items[$item_key]['CONCORRENCIA'] = $item->CONCORRENCIA;
  841.                     $session_items[$item_key]['ID_PAIS'] = $item->ID_PAIS;
  842.                 }
  843.                 TSession::setValue(__CLASS__.'_items'$session_items);
  844.                 
  845.                 $this->form->setData($object); // fill the form with the active record data
  846.                 $this->onReload$param ); // reload items list
  847.                 TTransaction::close(); // close transaction
  848.             }
  849.             else
  850.             {
  851.                 $this->form->clear();
  852.                 TSession::setValue(__CLASS__.'_items'null);
  853.                 $this->onReload$param );
  854.             }
  855.         }
  856.         catch (Exception $e// in case of exception
  857.         {
  858.             new TMessage('error'$e->getMessage());
  859.             TTransaction::rollback();
  860.         }
  861.     }
  862.     
  863.     /**
  864.      * Save the Master/Detail data from form/session to database
  865.      */
  866.     public function onSave()
  867.     {
  868.         try
  869.         {
  870.             // open a transaction with database
  871.             TTransaction::open('conexao');
  872.             
  873.             $data $this->form->getData();
  874.             $master = new Cliente;
  875.             $master->fromArray( (array) $data);
  876.             $this->form->validate(); // form validation
  877.             
  878.             $master->store(); // save master object
  879.             // delete details
  880.             $old_items Cidade::where('ID_CIDADE''='$master->ID_CLIENTE)->load();
  881.             
  882.             $keep_items = array();
  883.             
  884.             // get session items
  885.             $items TSession::getValue(__CLASS__.'_items');
  886.             
  887.             if( $items )
  888.             {
  889.                 foreach( $items as $item )
  890.                 {
  891.                     if (substr($item['ID_CIDADE'],0,1) == 'X' // new record
  892.                     {
  893.                         $detail = new Cidade;
  894.                     }
  895.                     else
  896.                     {
  897.                         $detail Cidade::find($item['ID_CIDADE']);
  898.                     }
  899.                     $detail->DESCRICAO  $item['DESCRICAO'];
  900.                     $detail->UF  $item['UF'];
  901.                     $detail->COD_IBGE  $item['COD_IBGE'];
  902.                     $detail->CEP  $item['CEP'];
  903.                     $detail->ID_USUARIO  $item['ID_USUARIO'];
  904.                     $detail->DATA_HORA_ALT  $item['DATA_HORA_ALT'];
  905.                     $detail->CONCORRENCIA  $item['CONCORRENCIA'];
  906.                     $detail->ID_PAIS  $item['ID_PAIS'];
  907.                     $detail->ID_CIDADE $master->ID_CLIENTE;
  908.                     $detail->store();
  909.                     
  910.                     $keep_items[] = $detail->ID_CIDADE;
  911.                 }
  912.             }
  913.             
  914.             if ($old_items)
  915.             {
  916.                 foreach ($old_items as $old_item)
  917.                 {
  918.                     if (!in_array$old_item->ID_CIDADE$keep_items))
  919.                     {
  920.                         $old_item->delete();
  921.                     }
  922.                 }
  923.             }
  924.             TTransaction::close(); // close the transaction
  925.             
  926.             // reload form and session items
  927.             $this->onEdit(array('key'=>$master->ID_CLIENTE));
  928.             
  929.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  930.         }
  931.         catch (Exception $e// in case of exception
  932.         {
  933.             new TMessage('error'$e->getMessage());
  934.             $this->form->setData$this->form->getData() ); // keep form data
  935.             TTransaction::rollback();
  936.         }
  937.     }
  938.     
  939.     /**
  940.      * Show the page
  941.      */
  942.     public function show()
  943.     {</your>
LG

ClientForm.class.php:

  1. <?php
  2. /**
  3.  * ClienteForm Master/Detail
  4.  * @author  <your name here>
  5.  */
  6. class ClienteForm extends TPage
  7. {
  8.     protected $form// form
  9.     protected $formFields;
  10.     protected $detail_list;
  11.     
  12.     /**
  13.      * Page constructor
  14.      */
  15.     public function __construct()
  16.     {
  17.         parent::__construct();
  18.         
  19.         // creates the form
  20.         $this->form = new TForm('form_Cliente');
  21.         $this->form->class 'tform'// CSS class
  22.         $this->form->style 'max-width:700px'// style
  23.         parent::include_css('app/resources/custom-frame.css');
  24.         
  25.         $table_master = new TTable;
  26.         $table_master->width '100%';
  27.         
  28.         $table_master->addRowSet( new TLabel('Cliente'), '''')->class 'tformtitle';
  29.         
  30.         // add a table inside form
  31.         $table_general = new TTable;
  32.         $table_detail  = new TTable;
  33.         $table_general-> width '100%';
  34.         $table_detail-> width  '100%';
  35.         
  36.         $frame_general = new TFrame;
  37.         $frame_general->setLegend('Cliente');
  38.         $frame_general->style 'background:whiteSmoke';
  39.         $frame_general->add($table_general);
  40.         
  41.         $table_master->addRow()->addCell$frame_general )->colspan=2;
  42.         $row $table_master->addRow();
  43.         $row->addCell$table_detail );
  44.         
  45.         $this->form->add($table_master);
  46.         
  47.         // master fields
  48.         $ID_CLIENTE = new TEntry('ID_CLIENTE');
  49.         $CODIGO = new TEntry('CODIGO');
  50.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  51.         $NOME_FANTASIA = new TEntry('NOME_FANTASIA');
  52.         $ENDERECO = new TEntry('ENDERECO');
  53.         $NUMERO = new TEntry('NUMERO');
  54.         $COMPLEMENTO = new TEntry('COMPLEMENTO');
  55.         $BAIRRO = new TEntry('BAIRRO');
  56.         $ID_CIDADE = new TEntry('ID_CIDADE');
  57.         $FONE = new TEntry('FONE');
  58.         $FAX = new TEntry('FAX');
  59.         $CELULAR = new TEntry('CELULAR');
  60.         $CONTATO = new TEntry('CONTATO');
  61.         $CNPJ = new TEntry('CNPJ');
  62.         $INSCRICAO = new TEntry('INSCRICAO');
  63.         $EMAIL = new TEntry('EMAIL');
  64.         $CPF = new TEntry('CPF');
  65.         $IDENTIDADE = new TEntry('IDENTIDADE');
  66.         $TITULO_ELEITOR = new TEntry('TITULO_ELEITOR');
  67.         $CART_PROFIS = new TEntry('CART_PROFIS');
  68.         $CART_SERIE = new TEntry('CART_SERIE');
  69.         $CART_ORGAO = new TEntry('CART_ORGAO');
  70.         $FILIACAO_PAI = new TEntry('FILIACAO_PAI');
  71.         $FILIACAO_MAE = new TEntry('FILIACAO_MAE');
  72.         $DATA_NASCIMENTO = new TDate('DATA_NASCIMENTO');
  73.         $DATA_CADASTRO = new TDate('DATA_CADASTRO');
  74.         $DATA_ALTERACAO = new TDate('DATA_ALTERACAO');
  75.         $DEPENDENTES = new TEntry('DEPENDENTES');
  76.         $COMPROVANTE_ENDERECO = new TEntry('COMPROVANTE_ENDERECO');
  77.         $DATA_ENDERECO = new TDate('DATA_ENDERECO');
  78.         $TIPO_CASA = new TEntry('TIPO_CASA');
  79.         $VALOR_ALUGUEL = new TEntry('VALOR_ALUGUEL');
  80.         $VALOR_DESPESAS = new TEntry('VALOR_DESPESAS');
  81.         $ABERTURA_CADASTRO = new TEntry('ABERTURA_CADASTRO');
  82.         $NATURALIDADE = new TEntry('NATURALIDADE');
  83.         $EMPREGO_ANTERIOR = new TEntry('EMPREGO_ANTERIOR');
  84.         $TEMPO_SERVICO = new TEntry('TEMPO_SERVICO');
  85.         $EMPRESA_NOME = new TEntry('EMPRESA_NOME');
  86.         $EMPRESA_ID_CIDADE = new TEntry('EMPRESA_ID_CIDADE');
  87.         $EMPRESA_FUNCAO = new TEntry('EMPRESA_FUNCAO');
  88.         $EMPRESA_ADMISSAO = new TDate('EMPRESA_ADMISSAO');
  89.         $EMPRESA_FONE = new TEntry('EMPRESA_FONE');
  90.         $RENDA_CLIENTE = new TEntry('RENDA_CLIENTE');
  91.         $RENDA_CONJUGE = new TEntry('RENDA_CONJUGE');
  92.         $LIMITE_CREDITO = new TEntry('LIMITE_CREDITO');
  93.         $CONCEITO = new TEntry('CONCEITO');
  94.         $ESTADO_CIVIL = new TEntry('ESTADO_CIVIL');
  95.         $SEXO = new TEntry('SEXO');
  96.         $SITUACAO = new TEntry('SITUACAO');
  97.         $CONJUGE_NOME = new TEntry('CONJUGE_NOME');
  98.         $CONJUGE_NASCIMENTO = new TDate('CONJUGE_NASCIMENTO');
  99.         $CONJUGE_TRABALHO = new TEntry('CONJUGE_TRABALHO');
  100.         $CONJUGE_ADMISSAO = new TDate('CONJUGE_ADMISSAO');
  101.         $CONJUGE_FONE = new TEntry('CONJUGE_FONE');
  102.         $ENTREGA_NOME = new TEntry('ENTREGA_NOME');
  103.         $ENTREGA_ENDERECO = new TEntry('ENTREGA_ENDERECO');
  104.         $ENTREGA_BAIRRO = new TEntry('ENTREGA_BAIRRO');
  105.         $ENTREGA_ID_CIDADE = new TEntry('ENTREGA_ID_CIDADE');
  106.         $ENTREGA_FONE = new TEntry('ENTREGA_FONE');
  107.         $NOME_CONHECIDO1 = new TEntry('NOME_CONHECIDO1');
  108.         $NOME_CONHECIDO2 = new TEntry('NOME_CONHECIDO2');
  109.         $REF_BANCO1 = new TEntry('REF_BANCO1');
  110.         $REF_BANCO2 = new TEntry('REF_BANCO2');
  111.         $REF_BANCO3 = new TEntry('REF_BANCO3');
  112.         $REF_BANCO1_CONTA = new TEntry('REF_BANCO1_CONTA');
  113.         $REF_BANCO2_CONTA = new TEntry('REF_BANCO2_CONTA');
  114.         $REF_BANCO3_CONTA = new TEntry('REF_BANCO3_CONTA');
  115.         $REF_COM_NOME1 = new TEntry('REF_COM_NOME1');
  116.         $REF_COM_NOME2 = new TEntry('REF_COM_NOME2');
  117.         $REF_COM_NOME3 = new TEntry('REF_COM_NOME3');
  118.         $REF_COM_FONE1 = new TEntry('REF_COM_FONE1');
  119.         $REF_COM_FONE2 = new TEntry('REF_COM_FONE2');
  120.         $REF_COM_FONE3 = new TEntry('REF_COM_FONE3');
  121.         $REF_COM_VALOR1 = new TEntry('REF_COM_VALOR1');
  122.         $REF_COM_VALOR2 = new TEntry('REF_COM_VALOR2');
  123.         $REF_COM_VALOR3 = new TEntry('REF_COM_VALOR3');
  124.         $REF_COM_PONTUALIDADE1 = new TEntry('REF_COM_PONTUALIDADE1');
  125.         $REF_COM_PONTUALIDADE2 = new TEntry('REF_COM_PONTUALIDADE2');
  126.         $REF_COM_PONTUALIDADE3 = new TEntry('REF_COM_PONTUALIDADE3');
  127.         $INDICADOR_1 = new TEntry('INDICADOR_1');
  128.         $INDICADOR_2 = new TEntry('INDICADOR_2');
  129.         $INDICADOR_3 = new TEntry('INDICADOR_3');
  130.         $INDICADOR_4 = new TEntry('INDICADOR_4');
  131.         $INDICADOR_5 = new TEntry('INDICADOR_5');
  132.         $INDICADOR_6 = new TEntry('INDICADOR_6');
  133.         $INDICADOR_7 = new TEntry('INDICADOR_7');
  134.         $INDICADOR_8 = new TEntry('INDICADOR_8');
  135.         $INDICADOR_9 = new TEntry('INDICADOR_9');
  136.         $INDICADOR_10 = new TEntry('INDICADOR_10');
  137.         $SPC_DATA_ENVIO = new TDate('SPC_DATA_ENVIO');
  138.         $SPC_VALOR_COMPRA = new TEntry('SPC_VALOR_COMPRA');
  139.         $SPC_DATA_BAIXA = new TDate('SPC_DATA_BAIXA');
  140.         $SERASA_DATA_ENVIO = new TDate('SERASA_DATA_ENVIO');
  141.         $SERASA_VALOR_COMPRA = new TEntry('SERASA_VALOR_COMPRA');
  142.         $SERASA_DATA_BAIXA = new TDate('SERASA_DATA_BAIXA');
  143.         $OUTRA_DATA_ENVIO = new TDate('OUTRA_DATA_ENVIO');
  144.         $OUTRA_VALOR_COMPRA = new TEntry('OUTRA_VALOR_COMPRA');
  145.         $OUTRA_DATA_BAIXA = new TDate('OUTRA_DATA_BAIXA');
  146.         $OBSERVACOES = new TEntry('OBSERVACOES');
  147.         $TABELA_PRECO = new TEntry('TABELA_PRECO');
  148.         $TIPO_PAGAMENTO = new TEntry('TIPO_PAGAMENTO');
  149.         $FORMA_PAGAMENTO = new TEntry('FORMA_PAGAMENTO');
  150.         $ALTERAR_PRECO = new TEntry('ALTERAR_PRECO');
  151.         $ID_CLIENTE_COBRANCA = new TEntry('ID_CLIENTE_COBRANCA');
  152.         $IND_TIPO_PAGAMENTO = new TEntry('IND_TIPO_PAGAMENTO');
  153.         $RECEBE_COBRANCA = new TEntry('RECEBE_COBRANCA');
  154.         $COBRAR_TAXA_CARTORIO = new TEntry('COBRAR_TAXA_CARTORIO');
  155.         $COBRAR_TAXA_BANCARIA = new TEntry('COBRAR_TAXA_BANCARIA');
  156.         $ID_USUARIO = new TEntry('ID_USUARIO');
  157.         $DATA_HORA_ALT = new TEntry('DATA_HORA_ALT');
  158.         $ID_VENDEDOR = new TEntry('ID_VENDEDOR');
  159.         $ID_TIPO_ATIVIDADE = new TEntry('ID_TIPO_ATIVIDADE');
  160.         $ID_PRACA = new TEntry('ID_PRACA');
  161.         $ID_EMPRESA = new TEntry('ID_EMPRESA');
  162.         $CONCORRENCIA = new TEntry('CONCORRENCIA');
  163.         $EMAIL_NFE = new TEntry('EMAIL_NFE');
  164.         $ID_FOTO = new TEntry('ID_FOTO');
  165.         $UNIDADE_VENDA = new TEntry('UNIDADE_VENDA');
  166.         $ID_EMPRESA_NF = new TEntry('ID_EMPRESA_NF');
  167.         $EMITE_NOTA = new TEntry('EMITE_NOTA');
  168.         $CEP = new TEntry('CEP');
  169.         $ID_TRANSPORTADOR = new TEntry('ID_TRANSPORTADOR');
  170.         $SALDO_CREDITO = new TEntry('SALDO_CREDITO');
  171.         $CODIGO_CONVENIO = new TEntry('CODIGO_CONVENIO');
  172.         $ID_CAIXA = new TEntry('ID_CAIXA');
  173.         $HISTORICO_VENDAS = new TText('HISTORICO_VENDAS');
  174.         $HISTORICO_ITENS = new TText('HISTORICO_ITENS');
  175.         $DESCONTO = new TEntry('DESCONTO');
  176.         $ID_BANCO = new TEntry('ID_BANCO');
  177.         $EMAIL_BOLETO = new TEntry('EMAIL_BOLETO');
  178.         $ID_REDE = new TEntry('ID_REDE');
  179.         $DIA_VENCTO = new TEntry('DIA_VENCTO');
  180.         $DIA_VIRADA = new TEntry('DIA_VIRADA');
  181.         $ID_FORMA = new TEntry('ID_FORMA');
  182.         $MATRICULA = new TEntry('MATRICULA');
  183.         $AUTORIZADO1 = new TEntry('AUTORIZADO1');
  184.         $AUTORIZADO2 = new TEntry('AUTORIZADO2');
  185.         $AUTORIZADO3 = new TEntry('AUTORIZADO3');
  186.         $AUTORIZADO4 = new TEntry('AUTORIZADO4');
  187.         $AUTORIZADO5 = new TEntry('AUTORIZADO5');
  188.         $AUTORIZADO6 = new TEntry('AUTORIZADO6');
  189.         $TRANSMITIDO = new TEntry('TRANSMITIDO');
  190.         $OBS_SPC1 = new TEntry('OBS_SPC1');
  191.         $OBS_SPC2 = new TEntry('OBS_SPC2');
  192.         $OBS_SPC3 = new TEntry('OBS_SPC3');
  193.         $ROUPA_CALCA = new TEntry('ROUPA_CALCA');
  194.         $ROUPA_CAMISA = new TEntry('ROUPA_CAMISA');
  195.         $ROUPA_SAPATO = new TEntry('ROUPA_SAPATO');
  196.         $ROUPA_BLAZER = new TEntry('ROUPA_BLAZER');
  197.         $DIRETORIO = new TText('DIRETORIO');
  198.         $DESC_FINANCEIRO = new TEntry('DESC_FINANCEIRO');
  199.         $IND_TPAGTO = new TEntry('IND_TPAGTO');
  200.         $DESPESAS_CLIENTE = new TEntry('DESPESAS_CLIENTE');
  201.         $NOME_USER_LIBEROU = new TEntry('NOME_USER_LIBEROU');
  202.         $ID_USER_LIBEROU = new TEntry('ID_USER_LIBEROU');
  203.         $MOTIVO_LIBERACAO = new TEntry('MOTIVO_LIBERACAO');
  204.         $LIBERA_CREDIARIO = new TEntry('LIBERA_CREDIARIO');
  205.         $DATA_HORA_LIBERACAO = new TDate('DATA_HORA_LIBERACAO');
  206.         $QUAL_PRECO = new TEntry('QUAL_PRECO');
  207.         $CARENCIA = new TEntry('CARENCIA');
  208.         $ID_FOTO_A1 = new TEntry('ID_FOTO_A1');
  209.         $ID_FOTO_A2 = new TEntry('ID_FOTO_A2');
  210.         $ID_FOTO_A3 = new TEntry('ID_FOTO_A3');
  211.         $ID_FOTO_A4 = new TEntry('ID_FOTO_A4');
  212.         $ID_FOTO_A5 = new TEntry('ID_FOTO_A5');
  213.         $ID_FOTO_A6 = new TEntry('ID_FOTO_A6');
  214.         $VALOR_AUTORIZADO1 = new TEntry('VALOR_AUTORIZADO1');
  215.         $VALOR_AUTORIZADO2 = new TEntry('VALOR_AUTORIZADO2');
  216.         $VALOR_AUTORIZADO3 = new TEntry('VALOR_AUTORIZADO3');
  217.         $VALOR_AUTORIZADO4 = new TEntry('VALOR_AUTORIZADO4');
  218.         $VALOR_AUTORIZADO5 = new TEntry('VALOR_AUTORIZADO5');
  219.         $VALOR_AUTORIZADO6 = new TEntry('VALOR_AUTORIZADO6');
  220.         $DI_AUTORIZADO1 = new TDate('DI_AUTORIZADO1');
  221.         $DI_AUTORIZADO2 = new TDate('DI_AUTORIZADO2');
  222.         $DI_AUTORIZADO3 = new TDate('DI_AUTORIZADO3');
  223.         $DI_AUTORIZADO4 = new TDate('DI_AUTORIZADO4');
  224.         $DI_AUTORIZADO5 = new TDate('DI_AUTORIZADO5');
  225.         $DI_AUTORIZADO6 = new TDate('DI_AUTORIZADO6');
  226.         $DF_AUTORIZADO1 = new TDate('DF_AUTORIZADO1');
  227.         $DF_AUTORIZADO2 = new TDate('DF_AUTORIZADO2');
  228.         $DF_AUTORIZADO3 = new TDate('DF_AUTORIZADO3');
  229.         $DF_AUTORIZADO4 = new TDate('DF_AUTORIZADO4');
  230.         $DF_AUTORIZADO5 = new TDate('DF_AUTORIZADO5');
  231.         $DF_AUTORIZADO6 = new TDate('DF_AUTORIZADO6');
  232.         $DOC_AUTORIZADO1 = new TEntry('DOC_AUTORIZADO1');
  233.         $DOC_AUTORIZADO2 = new TEntry('DOC_AUTORIZADO2');
  234.         $DOC_AUTORIZADO3 = new TEntry('DOC_AUTORIZADO3');
  235.         $DOC_AUTORIZADO4 = new TEntry('DOC_AUTORIZADO4');
  236.         $DOC_AUTORIZADO5 = new TEntry('DOC_AUTORIZADO5');
  237.         $DOC_AUTORIZADO6 = new TEntry('DOC_AUTORIZADO6');
  238.         $ENDERECO_TRABALHO = new TEntry('ENDERECO_TRABALHO');
  239.         $CONTATO_FINANCEIRO = new TEntry('CONTATO_FINANCEIRO');
  240.         $FONE_FINANCEIRO = new TEntry('FONE_FINANCEIRO');
  241.         $RG_EXPEDICAO = new TDate('RG_EXPEDICAO');
  242.         $RG_ORGAO = new TEntry('RG_ORGAO');
  243.         $ESCOLARIDADE = new TEntry('ESCOLARIDADE');
  244.         $DESC_APOSENTADORIA = new TEntry('DESC_APOSENTADORIA');
  245.         $DESC_PENSAO = new TEntry('DESC_PENSAO');
  246.         $NRO_APOSENTADORIA = new TEntry('NRO_APOSENTADORIA');
  247.         $NRO_PENSAO = new TEntry('NRO_PENSAO');
  248.         $NIT = new TEntry('NIT');
  249.         $ID_SITUACAO = new TEntry('ID_SITUACAO');
  250.         $ID_CONJUGE = new TEntry('ID_CONJUGE');
  251.         $ENDERECO_CORRESPONDENCIA = new TEntry('ENDERECO_CORRESPONDENCIA');
  252.         $EMPRESA_CNPJ = new TEntry('EMPRESA_CNPJ');
  253.         $EMPRESA_VINCULO = new TEntry('EMPRESA_VINCULO');
  254.         $EMPRESA_DEPARTAMENTO = new TEntry('EMPRESA_DEPARTAMENTO');
  255.         $EMPRESA_TIPO_SALARIO = new TEntry('EMPRESA_TIPO_SALARIO');
  256.         $EMPRESA_ORIGEM = new TEntry('EMPRESA_ORIGEM');
  257.         $EMPRESA_OUTRAS_RENDAS = new TEntry('EMPRESA_OUTRAS_RENDAS');
  258.         $CONJUGE_TELEFONE = new TEntry('CONJUGE_TELEFONE');
  259.         $CONJUGE_TEMPO_TRABALHO = new TEntry('CONJUGE_TEMPO_TRABALHO');
  260.         $CONJUGE_SALARIO = new TEntry('CONJUGE_SALARIO');
  261.         $CONJUGE_END_TRABALHO = new TEntry('CONJUGE_END_TRABALHO');
  262.         $CONJUGE_CID_TRABALHO = new TEntry('CONJUGE_CID_TRABALHO');
  263.         $CONJUGE_CEP_TRABALHO = new TEntry('CONJUGE_CEP_TRABALHO');
  264.         $CONJUGE_DEP_TRABALHO = new TEntry('CONJUGE_DEP_TRABALHO');
  265.         $CONJUGE_DATA_ADM = new TDate('CONJUGE_DATA_ADM');
  266.         $CONJUGE_RENDA = new TEntry('CONJUGE_RENDA');
  267.         $CONJUGE_VINCULO = new TEntry('CONJUGE_VINCULO');
  268.         $CONJUGE_TIPO_EMPREGO = new TEntry('CONJUGE_TIPO_EMPREGO');
  269.         $CONJUGE_ORIGEM_RENDA = new TEntry('CONJUGE_ORIGEM_RENDA');
  270.         $CONJUGE_OUTRAS_RENDAS = new TEntry('CONJUGE_OUTRAS_RENDAS');
  271.         $EMPRESA_CEP = new TEntry('EMPRESA_CEP');
  272.         $CONJUGE_CNPJ_TRABALHO = new TEntry('CONJUGE_CNPJ_TRABALHO');
  273.         $CONJUGE_PROFISSAO = new TEntry('CONJUGE_PROFISSAO');
  274.         $LIMITE_DATA_HORA_ALT = new TDate('LIMITE_DATA_HORA_ALT');
  275.         $LIMITE_USUARIO_ALT = new TEntry('LIMITE_USUARIO_ALT');
  276.         $UNIDADES = new TEntry('UNIDADES');
  277.         $CONJUGE_CPF = new TEntry('CONJUGE_CPF');
  278.         $CONJUGE_RG = new TEntry('CONJUGE_RG');
  279.         $CASAMENTO_DATA = new TDate('CASAMENTO_DATA');
  280.         $CASAMENTO_TIPO = new TEntry('CASAMENTO_TIPO');
  281.         $FRETE_PAGAR = new TEntry('FRETE_PAGAR');
  282.         $ID_MEUS_PEDIDOS = new TEntry('ID_MEUS_PEDIDOS');
  283.         $DATA_ALT_MEUS_PEDIDOS = new TDate('DATA_ALT_MEUS_PEDIDOS');
  284.         $ERRO_MEUS_PEDIDOS = new TEntry('ERRO_MEUS_PEDIDOS');
  285.         
  286.         if (!empty($ID_CLIENTE))
  287.         {
  288.             $ID_CLIENTE->setEditable(FALSE);
  289.         }
  290.         
  291.         // detail fields
  292.         $detail_ID_CIDADE = new THidden('detail_ID_CIDADE');
  293.         $detail_DESCRICAO = new TEntry('detail_DESCRICAO');
  294.         $detail_UF = new TEntry('detail_UF');
  295.         $detail_COD_IBGE = new TEntry('detail_COD_IBGE');
  296.         $detail_CEP = new TEntry('detail_CEP');
  297.         $detail_ID_USUARIO = new TEntry('detail_ID_USUARIO');
  298.         $detail_DATA_HORA_ALT = new TEntry('detail_DATA_HORA_ALT');
  299.         $detail_CONCORRENCIA = new TEntry('detail_CONCORRENCIA');
  300.         $detail_ID_PAIS = new TEntry('detail_ID_PAIS');
  301.         /** samples
  302.          $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  303.          $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  304.          $fieldX->setSize( 100, 40 ); // set size
  305.          **/
  306.         
  307.         // master
  308.         $table_general->addRowSet( new TLabel('Id Cliente'), $ID_CLIENTE );
  309.         $table_general->addRowSet( new TLabel('Codigo'), $CODIGO );
  310.         $table_general->addRowSet( new TLabel('Razao Social'), $RAZAO_SOCIAL );
  311.         $table_general->addRowSet( new TLabel('Nome Fantasia'), $NOME_FANTASIA );
  312.         $table_general->addRowSet( new TLabel('Endereco'), $ENDERECO );
  313.         $table_general->addRowSet( new TLabel('Numero'), $NUMERO );
  314.         $table_general->addRowSet( new TLabel('Complemento'), $COMPLEMENTO );
  315.         $table_general->addRowSet( new TLabel('Bairro'), $BAIRRO );
  316.         $table_general->addRowSet( new TLabel('Id Cidade'), $ID_CIDADE );
  317.         $table_general->addRowSet( new TLabel('Fone'), $FONE );
  318.         $table_general->addRowSet( new TLabel('Fax'), $FAX );
  319.         $table_general->addRowSet( new TLabel('Celular'), $CELULAR );
  320.         $table_general->addRowSet( new TLabel('Contato'), $CONTATO );
  321.         $table_general->addRowSet( new TLabel('Cnpj'), $CNPJ );
  322.         $table_general->addRowSet( new TLabel('Inscricao'), $INSCRICAO );
  323.         $table_general->addRowSet( new TLabel('Email'), $EMAIL );
  324.         $table_general->addRowSet( new TLabel('Cpf'), $CPF );
  325.         $table_general->addRowSet( new TLabel('Identidade'), $IDENTIDADE );
  326.         $table_general->addRowSet( new TLabel('Titulo Eleitor'), $TITULO_ELEITOR );
  327.         $table_general->addRowSet( new TLabel('Cart Profis'), $CART_PROFIS );
  328.         $table_general->addRowSet( new TLabel('Cart Serie'), $CART_SERIE );
  329.         $table_general->addRowSet( new TLabel('Cart Orgao'), $CART_ORGAO );
  330.         $table_general->addRowSet( new TLabel('Filiacao Pai'), $FILIACAO_PAI );
  331.         $table_general->addRowSet( new TLabel('Filiacao Mae'), $FILIACAO_MAE );
  332.         $table_general->addRowSet( new TLabel('Data Nascimento'), $DATA_NASCIMENTO );
  333.         $table_general->addRowSet( new TLabel('Data Cadastro'), $DATA_CADASTRO );
  334.         $table_general->addRowSet( new TLabel('Data Alteracao'), $DATA_ALTERACAO );
  335.         $table_general->addRowSet( new TLabel('Dependentes'), $DEPENDENTES );
  336.         $table_general->addRowSet( new TLabel('Comprovante Endereco'), $COMPROVANTE_ENDERECO );
  337.         $table_general->addRowSet( new TLabel('Data Endereco'), $DATA_ENDERECO );
  338.         $table_general->addRowSet( new TLabel('Tipo Casa'), $TIPO_CASA );
  339.         $table_general->addRowSet( new TLabel('Valor Aluguel'), $VALOR_ALUGUEL );
  340.         $table_general->addRowSet( new TLabel('Valor Despesas'), $VALOR_DESPESAS );
  341.         $table_general->addRowSet( new TLabel('Abertura Cadastro'), $ABERTURA_CADASTRO );
  342.         $table_general->addRowSet( new TLabel('Naturalidade'), $NATURALIDADE );
  343.         $table_general->addRowSet( new TLabel('Emprego Anterior'), $EMPREGO_ANTERIOR );
  344.         $table_general->addRowSet( new TLabel('Tempo Servico'), $TEMPO_SERVICO );
  345.         $table_general->addRowSet( new TLabel('Empresa Nome'), $EMPRESA_NOME );
  346.         $table_general->addRowSet( new TLabel('Empresa Id Cidade'), $EMPRESA_ID_CIDADE );
  347.         $table_general->addRowSet( new TLabel('Empresa Funcao'), $EMPRESA_FUNCAO );
  348.         $table_general->addRowSet( new TLabel('Empresa Admissao'), $EMPRESA_ADMISSAO );
  349.         $table_general->addRowSet( new TLabel('Empresa Fone'), $EMPRESA_FONE );
  350.         $table_general->addRowSet( new TLabel('Renda Cliente'), $RENDA_CLIENTE );
  351.         $table_general->addRowSet( new TLabel('Renda Conjuge'), $RENDA_CONJUGE );
  352.         $table_general->addRowSet( new TLabel('Limite Credito'), $LIMITE_CREDITO );
  353.         $table_general->addRowSet( new TLabel('Conceito'), $CONCEITO );
  354.         $table_general->addRowSet( new TLabel('Estado Civil'), $ESTADO_CIVIL );
  355.         $table_general->addRowSet( new TLabel('Sexo'), $SEXO );
  356.         $table_general->addRowSet( new TLabel('Situacao'), $SITUACAO );
  357.         $table_general->addRowSet( new TLabel('Conjuge Nome'), $CONJUGE_NOME );
  358.         $table_general->addRowSet( new TLabel('Conjuge Nascimento'), $CONJUGE_NASCIMENTO );
  359.         $table_general->addRowSet( new TLabel('Conjuge Trabalho'), $CONJUGE_TRABALHO );
  360.         $table_general->addRowSet( new TLabel('Conjuge Admissao'), $CONJUGE_ADMISSAO );
  361.         $table_general->addRowSet( new TLabel('Conjuge Fone'), $CONJUGE_FONE );
  362.         $table_general->addRowSet( new TLabel('Entrega Nome'), $ENTREGA_NOME );
  363.         $table_general->addRowSet( new TLabel('Entrega Endereco'), $ENTREGA_ENDERECO );
  364.         $table_general->addRowSet( new TLabel('Entrega Bairro'), $ENTREGA_BAIRRO );
  365.         $table_general->addRowSet( new TLabel('Entrega Id Cidade'), $ENTREGA_ID_CIDADE );
  366.         $table_general->addRowSet( new TLabel('Entrega Fone'), $ENTREGA_FONE );
  367.         $table_general->addRowSet( new TLabel('Nome Conhecido1'), $NOME_CONHECIDO1 );
  368.         $table_general->addRowSet( new TLabel('Nome Conhecido2'), $NOME_CONHECIDO2 );
  369.         $table_general->addRowSet( new TLabel('Ref Banco1'), $REF_BANCO1 );
  370.         $table_general->addRowSet( new TLabel('Ref Banco2'), $REF_BANCO2 );
  371.         $table_general->addRowSet( new TLabel('Ref Banco3'), $REF_BANCO3 );
  372.         $table_general->addRowSet( new TLabel('Ref Banco1 Conta'), $REF_BANCO1_CONTA );
  373.         $table_general->addRowSet( new TLabel('Ref Banco2 Conta'), $REF_BANCO2_CONTA );
  374.         $table_general->addRowSet( new TLabel('Ref Banco3 Conta'), $REF_BANCO3_CONTA );
  375.         $table_general->addRowSet( new TLabel('Ref Com Nome1'), $REF_COM_NOME1 );
  376.         $table_general->addRowSet( new TLabel('Ref Com Nome2'), $REF_COM_NOME2 );
  377.         $table_general->addRowSet( new TLabel('Ref Com Nome3'), $REF_COM_NOME3 );
  378.         $table_general->addRowSet( new TLabel('Ref Com Fone1'), $REF_COM_FONE1 );
  379.         $table_general->addRowSet( new TLabel('Ref Com Fone2'), $REF_COM_FONE2 );
  380.         $table_general->addRowSet( new TLabel('Ref Com Fone3'), $REF_COM_FONE3 );
  381.         $table_general->addRowSet( new TLabel('Ref Com Valor1'), $REF_COM_VALOR1 );
  382.         $table_general->addRowSet( new TLabel('Ref Com Valor2'), $REF_COM_VALOR2 );
  383.         $table_general->addRowSet( new TLabel('Ref Com Valor3'), $REF_COM_VALOR3 );
  384.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade1'), $REF_COM_PONTUALIDADE1 );
  385.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade2'), $REF_COM_PONTUALIDADE2 );
  386.         $table_general->addRowSet( new TLabel('Ref Com Pontualidade3'), $REF_COM_PONTUALIDADE3 );
  387.         $table_general->addRowSet( new TLabel('Indicador 1'), $INDICADOR_1 );
  388.         $table_general->addRowSet( new TLabel('Indicador 2'), $INDICADOR_2 );
  389.         $table_general->addRowSet( new TLabel('Indicador 3'), $INDICADOR_3 );
  390.         $table_general->addRowSet( new TLabel('Indicador 4'), $INDICADOR_4 );
  391.         $table_general->addRowSet( new TLabel('Indicador 5'), $INDICADOR_5 );
  392.         $table_general->addRowSet( new TLabel('Indicador 6'), $INDICADOR_6 );
  393.         $table_general->addRowSet( new TLabel('Indicador 7'), $INDICADOR_7 );
  394.         $table_general->addRowSet( new TLabel('Indicador 8'), $INDICADOR_8 );
  395.         $table_general->addRowSet( new TLabel('Indicador 9'), $INDICADOR_9 );
  396.         $table_general->addRowSet( new TLabel('Indicador 10'), $INDICADOR_10 );
  397.         $table_general->addRowSet( new TLabel('Spc Data Envio'), $SPC_DATA_ENVIO );
  398.         $table_general->addRowSet( new TLabel('Spc Valor Compra'), $SPC_VALOR_COMPRA );
  399.         $table_general->addRowSet( new TLabel('Spc Data Baixa'), $SPC_DATA_BAIXA );
  400.         $table_general->addRowSet( new TLabel('Serasa Data Envio'), $SERASA_DATA_ENVIO );
  401.         $table_general->addRowSet( new TLabel('Serasa Valor Compra'), $SERASA_VALOR_COMPRA );
  402.         $table_general->addRowSet( new TLabel('Serasa Data Baixa'), $SERASA_DATA_BAIXA );
  403.         $table_general->addRowSet( new TLabel('Outra Data Envio'), $OUTRA_DATA_ENVIO );
  404.         $table_general->addRowSet( new TLabel('Outra Valor Compra'), $OUTRA_VALOR_COMPRA );
  405.         $table_general->addRowSet( new TLabel('Outra Data Baixa'), $OUTRA_DATA_BAIXA );
  406.         $table_general->addRowSet( new TLabel('Observacoes'), $OBSERVACOES );
  407.         $table_general->addRowSet( new TLabel('Tabela Preco'), $TABELA_PRECO );
  408.         $table_general->addRowSet( new TLabel('Tipo Pagamento'), $TIPO_PAGAMENTO );
  409.         $table_general->addRowSet( new TLabel('Forma Pagamento'), $FORMA_PAGAMENTO );
  410.         $table_general->addRowSet( new TLabel('Alterar Preco'), $ALTERAR_PRECO );
  411.         $table_general->addRowSet( new TLabel('Id Cliente Cobranca'), $ID_CLIENTE_COBRANCA );
  412.         $table_general->addRowSet( new TLabel('Ind Tipo Pagamento'), $IND_TIPO_PAGAMENTO );
  413.         $table_general->addRowSet( new TLabel('Recebe Cobranca'), $RECEBE_COBRANCA );
  414.         $table_general->addRowSet( new TLabel('Cobrar Taxa Cartorio'), $COBRAR_TAXA_CARTORIO );
  415.         $table_general->addRowSet( new TLabel('Cobrar Taxa Bancaria'), $COBRAR_TAXA_BANCARIA );
  416.         $table_general->addRowSet( new TLabel('Id Usuario'), $ID_USUARIO );
  417.         $table_general->addRowSet( new TLabel('Data Hora Alt'), $DATA_HORA_ALT );
  418.         $table_general->addRowSet( new TLabel('Id Vendedor'), $ID_VENDEDOR );
  419.         $table_general->addRowSet( new TLabel('Id Tipo Atividade'), $ID_TIPO_ATIVIDADE );
  420.         $table_general->addRowSet( new TLabel('Id Praca'), $ID_PRACA );
  421.         $table_general->addRowSet( new TLabel('Id Empresa'), $ID_EMPRESA );
  422.         $table_general->addRowSet( new TLabel('Concorrencia'), $CONCORRENCIA );
  423.         $table_general->addRowSet( new TLabel('Email Nfe'), $EMAIL_NFE );
  424.         $table_general->addRowSet( new TLabel('Id Foto'), $ID_FOTO );
  425.         $table_general->addRowSet( new TLabel('Unidade Venda'), $UNIDADE_VENDA );
  426.         $table_general->addRowSet( new TLabel('Id Empresa Nf'), $ID_EMPRESA_NF );
  427.         $table_general->addRowSet( new TLabel('Emite Nota'), $EMITE_NOTA );
  428.         $table_general->addRowSet( new TLabel('Cep'), $CEP );
  429.         $table_general->addRowSet( new TLabel('Id Transportador'), $ID_TRANSPORTADOR );
  430.         $table_general->addRowSet( new TLabel('Saldo Credito'), $SALDO_CREDITO );
  431.         $table_general->addRowSet( new TLabel('Codigo Convenio'), $CODIGO_CONVENIO );
  432.         $table_general->addRowSet( new TLabel('Id Caixa'), $ID_CAIXA );
  433.         $table_general->addRowSet( new TLabel('Historico Vendas'), $HISTORICO_VENDAS );
  434.         $table_general->addRowSet( new TLabel('Historico Itens'), $HISTORICO_ITENS );
  435.         $table_general->addRowSet( new TLabel('Desconto'), $DESCONTO );
  436.         $table_general->addRowSet( new TLabel('Id Banco'), $ID_BANCO );
  437.         $table_general->addRowSet( new TLabel('Email Boleto'), $EMAIL_BOLETO );
  438.         $table_general->addRowSet( new TLabel('Id Rede'), $ID_REDE );
  439.         $table_general->addRowSet( new TLabel('Dia Vencto'), $DIA_VENCTO );
  440.         $table_general->addRowSet( new TLabel('Dia Virada'), $DIA_VIRADA );
  441.         $table_general->addRowSet( new TLabel('Id Forma'), $ID_FORMA );
  442.         $table_general->addRowSet( new TLabel('Matricula'), $MATRICULA );
  443.         $table_general->addRowSet( new TLabel('Autorizado1'), $AUTORIZADO1 );
  444.         $table_general->addRowSet( new TLabel('Autorizado2'), $AUTORIZADO2 );
  445.         $table_general->addRowSet( new TLabel('Autorizado3'), $AUTORIZADO3 );
  446.         $table_general->addRowSet( new TLabel('Autorizado4'), $AUTORIZADO4 );
  447.         $table_general->addRowSet( new TLabel('Autorizado5'), $AUTORIZADO5 );
  448.         $table_general->addRowSet( new TLabel('Autorizado6'), $AUTORIZADO6 );
  449.         $table_general->addRowSet( new TLabel('Transmitido'), $TRANSMITIDO );
  450.         $table_general->addRowSet( new TLabel('Obs Spc1'), $OBS_SPC1 );
  451.         $table_general->addRowSet( new TLabel('Obs Spc2'), $OBS_SPC2 );
  452.         $table_general->addRowSet( new TLabel('Obs Spc3'), $OBS_SPC3 );
  453.         $table_general->addRowSet( new TLabel('Roupa Calca'), $ROUPA_CALCA );
  454.         $table_general->addRowSet( new TLabel('Roupa Camisa'), $ROUPA_CAMISA );
  455.         $table_general->addRowSet( new TLabel('Roupa Sapato'), $ROUPA_SAPATO );
  456.         $table_general->addRowSet( new TLabel('Roupa Blazer'), $ROUPA_BLAZER );
  457.         $table_general->addRowSet( new TLabel('Diretorio'), $DIRETORIO );
  458.         $table_general->addRowSet( new TLabel('Desc Financeiro'), $DESC_FINANCEIRO );
  459.         $table_general->addRowSet( new TLabel('Ind Tpagto'), $IND_TPAGTO );
  460.         $table_general->addRowSet( new TLabel('Despesas Cliente'), $DESPESAS_CLIENTE );
  461.         $table_general->addRowSet( new TLabel('Nome User Liberou'), $NOME_USER_LIBEROU );
  462.         $table_general->addRowSet( new TLabel('Id User Liberou'), $ID_USER_LIBEROU );
  463.         $table_general->addRowSet( new TLabel('Motivo Liberacao'), $MOTIVO_LIBERACAO );
  464.         $table_general->addRowSet( new TLabel('Libera Crediario'), $LIBERA_CREDIARIO );
  465.         $table_general->addRowSet( new TLabel('Data Hora Liberacao'), $DATA_HORA_LIBERACAO );
  466.         $table_general->addRowSet( new TLabel('Qual Preco'), $QUAL_PRECO );
  467.         $table_general->addRowSet( new TLabel('Carencia'), $CARENCIA );
  468.         $table_general->addRowSet( new TLabel('Id Foto A1'), $ID_FOTO_A1 );
  469.         $table_general->addRowSet( new TLabel('Id Foto A2'), $ID_FOTO_A2 );
  470.         $table_general->addRowSet( new TLabel('Id Foto A3'), $ID_FOTO_A3 );
  471.         $table_general->addRowSet( new TLabel('Id Foto A4'), $ID_FOTO_A4 );
  472.         $table_general->addRowSet( new TLabel('Id Foto A5'), $ID_FOTO_A5 );
  473.         $table_general->addRowSet( new TLabel('Id Foto A6'), $ID_FOTO_A6 );
  474.         $table_general->addRowSet( new TLabel('Valor Autorizado1'), $VALOR_AUTORIZADO1 );
  475.         $table_general->addRowSet( new TLabel('Valor Autorizado2'), $VALOR_AUTORIZADO2 );
  476.         $table_general->addRowSet( new TLabel('Valor Autorizado3'), $VALOR_AUTORIZADO3 );
  477.         $table_general->addRowSet( new TLabel('Valor Autorizado4'), $VALOR_AUTORIZADO4 );
  478.         $table_general->addRowSet( new TLabel('Valor Autorizado5'), $VALOR_AUTORIZADO5 );
  479.         $table_general->addRowSet( new TLabel('Valor Autorizado6'), $VALOR_AUTORIZADO6 );
  480.         $table_general->addRowSet( new TLabel('Di Autorizado1'), $DI_AUTORIZADO1 );
  481.         $table_general->addRowSet( new TLabel('Di Autorizado2'), $DI_AUTORIZADO2 );
  482.         $table_general->addRowSet( new TLabel('Di Autorizado3'), $DI_AUTORIZADO3 );
  483.         $table_general->addRowSet( new TLabel('Di Autorizado4'), $DI_AUTORIZADO4 );
  484.         $table_general->addRowSet( new TLabel('Di Autorizado5'), $DI_AUTORIZADO5 );
  485.         $table_general->addRowSet( new TLabel('Di Autorizado6'), $DI_AUTORIZADO6 );
  486.         $table_general->addRowSet( new TLabel('Df Autorizado1'), $DF_AUTORIZADO1 );
  487.         $table_general->addRowSet( new TLabel('Df Autorizado2'), $DF_AUTORIZADO2 );
  488.         $table_general->addRowSet( new TLabel('Df Autorizado3'), $DF_AUTORIZADO3 );
  489.         $table_general->addRowSet( new TLabel('Df Autorizado4'), $DF_AUTORIZADO4 );
  490.         $table_general->addRowSet( new TLabel('Df Autorizado5'), $DF_AUTORIZADO5 );
  491.         $table_general->addRowSet( new TLabel('Df Autorizado6'), $DF_AUTORIZADO6 );
  492.         $table_general->addRowSet( new TLabel('Doc Autorizado1'), $DOC_AUTORIZADO1 );
  493.         $table_general->addRowSet( new TLabel('Doc Autorizado2'), $DOC_AUTORIZADO2 );
  494.         $table_general->addRowSet( new TLabel('Doc Autorizado3'), $DOC_AUTORIZADO3 );
  495.         $table_general->addRowSet( new TLabel('Doc Autorizado4'), $DOC_AUTORIZADO4 );
  496.         $table_general->addRowSet( new TLabel('Doc Autorizado5'), $DOC_AUTORIZADO5 );
  497.         $table_general->addRowSet( new TLabel('Doc Autorizado6'), $DOC_AUTORIZADO6 );
  498.         $table_general->addRowSet( new TLabel('Endereco Trabalho'), $ENDERECO_TRABALHO );
  499.         $table_general->addRowSet( new TLabel('Contato Financeiro'), $CONTATO_FINANCEIRO );
  500.         $table_general->addRowSet( new TLabel('Fone Financeiro'), $FONE_FINANCEIRO );
  501.         $table_general->addRowSet( new TLabel('Rg Expedicao'), $RG_EXPEDICAO );
  502.         $table_general->addRowSet( new TLabel('Rg Orgao'), $RG_ORGAO );
  503.         $table_general->addRowSet( new TLabel('Escolaridade'), $ESCOLARIDADE );
  504.         $table_general->addRowSet( new TLabel('Desc Aposentadoria'), $DESC_APOSENTADORIA );
  505.         $table_general->addRowSet( new TLabel('Desc Pensao'), $DESC_PENSAO );
  506.         $table_general->addRowSet( new TLabel('Nro Aposentadoria'), $NRO_APOSENTADORIA );
  507.         $table_general->addRowSet( new TLabel('Nro Pensao'), $NRO_PENSAO );
  508.         $table_general->addRowSet( new TLabel('Nit'), $NIT );
  509.         $table_general->addRowSet( new TLabel('Id Situacao'), $ID_SITUACAO );
  510.         $table_general->addRowSet( new TLabel('Id Conjuge'), $ID_CONJUGE );
  511.         $table_general->addRowSet( new TLabel('Endereco Correspondencia'), $ENDERECO_CORRESPONDENCIA );
  512.         $table_general->addRowSet( new TLabel('Empresa Cnpj'), $EMPRESA_CNPJ );
  513.         $table_general->addRowSet( new TLabel('Empresa Vinculo'), $EMPRESA_VINCULO );
  514.         $table_general->addRowSet( new TLabel('Empresa Departamento'), $EMPRESA_DEPARTAMENTO );
  515.         $table_general->addRowSet( new TLabel('Empresa Tipo Salario'), $EMPRESA_TIPO_SALARIO );
  516.         $table_general->addRowSet( new TLabel('Empresa Origem'), $EMPRESA_ORIGEM );
  517.         $table_general->addRowSet( new TLabel('Empresa Outras Rendas'), $EMPRESA_OUTRAS_RENDAS );
  518.         $table_general->addRowSet( new TLabel('Conjuge Telefone'), $CONJUGE_TELEFONE );
  519.         $table_general->addRowSet( new TLabel('Conjuge Tempo Trabalho'), $CONJUGE_TEMPO_TRABALHO );
  520.         $table_general->addRowSet( new TLabel('Conjuge Salario'), $CONJUGE_SALARIO );
  521.         $table_general->addRowSet( new TLabel('Conjuge End Trabalho'), $CONJUGE_END_TRABALHO );
  522.         $table_general->addRowSet( new TLabel('Conjuge Cid Trabalho'), $CONJUGE_CID_TRABALHO );
  523.         $table_general->addRowSet( new TLabel('Conjuge Cep Trabalho'), $CONJUGE_CEP_TRABALHO );
  524.         $table_general->addRowSet( new TLabel('Conjuge Dep Trabalho'), $CONJUGE_DEP_TRABALHO );
  525.         $table_general->addRowSet( new TLabel('Conjuge Data Adm'), $CONJUGE_DATA_ADM );
  526.         $table_general->addRowSet( new TLabel('Conjuge Renda'), $CONJUGE_RENDA );
  527.         $table_general->addRowSet( new TLabel('Conjuge Vinculo'), $CONJUGE_VINCULO );
  528.         $table_general->addRowSet( new TLabel('Conjuge Tipo Emprego'), $CONJUGE_TIPO_EMPREGO );
  529.         $table_general->addRowSet( new TLabel('Conjuge Origem Renda'), $CONJUGE_ORIGEM_RENDA );
  530.         $table_general->addRowSet( new TLabel('Conjuge Outras Rendas'), $CONJUGE_OUTRAS_RENDAS );
  531.         $table_general->addRowSet( new TLabel('Empresa Cep'), $EMPRESA_CEP );
  532.         $table_general->addRowSet( new TLabel('Conjuge Cnpj Trabalho'), $CONJUGE_CNPJ_TRABALHO );
  533.         $table_general->addRowSet( new TLabel('Conjuge Profissao'), $CONJUGE_PROFISSAO );
  534.         $table_general->addRowSet( new TLabel('Limite Data Hora Alt'), $LIMITE_DATA_HORA_ALT );
  535.         $table_general->addRowSet( new TLabel('Limite Usuario Alt'), $LIMITE_USUARIO_ALT );
  536.         $table_general->addRowSet( new TLabel('Unidades'), $UNIDADES );
  537.         $table_general->addRowSet( new TLabel('Conjuge Cpf'), $CONJUGE_CPF );
  538.         $table_general->addRowSet( new TLabel('Conjuge Rg'), $CONJUGE_RG );
  539.         $table_general->addRowSet( new TLabel('Casamento Data'), $CASAMENTO_DATA );
  540.         $table_general->addRowSet( new TLabel('Casamento Tipo'), $CASAMENTO_TIPO );
  541.         $table_general->addRowSet( new TLabel('Frete Pagar'), $FRETE_PAGAR );
  542.         $table_general->addRowSet( new TLabel('Id Meus Pedidos'), $ID_MEUS_PEDIDOS );
  543.         $table_general->addRowSet( new TLabel('Data Alt Meus Pedidos'), $DATA_ALT_MEUS_PEDIDOS );
  544.         $table_general->addRowSet( new TLabel('Erro Meus Pedidos'), $ERRO_MEUS_PEDIDOS );
  545.         
  546.          // detail
  547.         $frame_details = new TFrame();
  548.         $frame_details->setLegend('Cidade');
  549.         $row $table_detail->addRow();
  550.         $row->addCell($frame_details);
  551.         
  552.         $btn_save_detail = new TButton('btn_save_detail');
  553.         $btn_save_detail->setAction(new TAction(array($this'onSaveDetail')), 'Register');
  554.         $btn_save_detail->setImage('fa:save');
  555.         
  556.         $table_details = new TTable;
  557.         $frame_details->add($table_details);
  558.         
  559.         $table_details->addRowSet''$detail_ID_CIDADE );
  560.         $table_details->addRowSet( new TLabel('Descricao'), $detail_DESCRICAO );
  561.         $table_details->addRowSet( new TLabel('Uf'), $detail_UF );
  562.         $table_details->addRowSet( new TLabel('Cod Ibge'), $detail_COD_IBGE );
  563.         $table_details->addRowSet( new TLabel('Cep'), $detail_CEP );
  564.         $table_details->addRowSet( new TLabel('Id Usuario'), $detail_ID_USUARIO );
  565.         $table_details->addRowSet( new TLabel('Data Hora Alt'), $detail_DATA_HORA_ALT );
  566.         $table_details->addRowSet( new TLabel('Concorrencia'), $detail_CONCORRENCIA );
  567.         $table_details->addRowSet( new TLabel('Id Pais'), $detail_ID_PAIS );
  568.         
  569.         $table_details->addRowSet$btn_save_detail );
  570.         
  571.         $this->detail_list = new TQuickGrid;
  572.         $this->detail_list->setHeight175 );
  573.         $this->detail_list->makeScrollable();
  574.         $this->detail_list->disableDefaultClick();
  575.         $this->detail_list->addQuickColumn('''edit''left'50);
  576.         $this->detail_list->addQuickColumn('''delete''left'50);
  577.         
  578.         // items
  579.         $this->detail_list->addQuickColumn('Descricao''DESCRICAO''left'200);
  580.         $this->detail_list->addQuickColumn('Uf''UF''left'200);
  581.         $this->detail_list->addQuickColumn('Cod Ibge''COD_IBGE''left'200);
  582.         $this->detail_list->addQuickColumn('Cep''CEP''left'200);
  583.         $this->detail_list->addQuickColumn('Id Usuario''ID_USUARIO''left'100);
  584.         $this->detail_list->addQuickColumn('Data Hora Alt''DATA_HORA_ALT''left'200);
  585.         $this->detail_list->addQuickColumn('Concorrencia''CONCORRENCIA''left'100);
  586.         $this->detail_list->addQuickColumn('Id Pais''ID_PAIS''left'100);
  587.         $this->detail_list->createModel();
  588.         
  589.         $row $table_detail->addRow();
  590.         $row->addCell($this->detail_list);
  591.         
  592.         // create an action button (save)
  593.         $save_button=new TButton('save');
  594.         $save_button->setAction(new TAction(array($this'onSave')), _t('Save'));
  595.         $save_button->setImage('ico_save.png');
  596.         // create an new button (edit with no parameters)
  597.         $new_button=new TButton('new');
  598.         $new_button->setAction(new TAction(array($this'onClear')), _t('New'));
  599.         $new_button->setImage('ico_new.png');
  600.         
  601.         // define form fields
  602.         $this->formFields   = array($ID_CLIENTE,$CODIGO,$RAZAO_SOCIAL,$NOME_FANTASIA,$ENDERECO,$NUMERO,$COMPLEMENTO,$BAIRRO,$ID_CIDADE,$FONE,$FAX,$CELULAR,$CONTATO,$CNPJ,$INSCRICAO,$EMAIL,$CPF,$IDENTIDADE,$TITULO_ELEITOR,$CART_PROFIS,$CART_SERIE,$CART_ORGAO,$FILIACAO_PAI,$FILIACAO_MAE,$DATA_NASCIMENTO,$DATA_CADASTRO,$DATA_ALTERACAO,$DEPENDENTES,$COMPROVANTE_ENDERECO,$DATA_ENDERECO,$TIPO_CASA,$VALOR_ALUGUEL,$VALOR_DESPESAS,$ABERTURA_CADASTRO,$NATURALIDADE,$EMPREGO_ANTERIOR,$TEMPO_SERVICO,$EMPRESA_NOME,$EMPRESA_ID_CIDADE,$EMPRESA_FUNCAO,$EMPRESA_ADMISSAO,$EMPRESA_FONE,$RENDA_CLIENTE,$RENDA_CONJUGE,$LIMITE_CREDITO,$CONCEITO,$ESTADO_CIVIL,$SEXO,$SITUACAO,$CONJUGE_NOME,$CONJUGE_NASCIMENTO,$CONJUGE_TRABALHO,$CONJUGE_ADMISSAO,$CONJUGE_FONE,$ENTREGA_NOME,$ENTREGA_ENDERECO,$ENTREGA_BAIRRO,$ENTREGA_ID_CIDADE,$ENTREGA_FONE,$NOME_CONHECIDO1,$NOME_CONHECIDO2,$REF_BANCO1,$REF_BANCO2,$REF_BANCO3,$REF_BANCO1_CONTA,$REF_BANCO2_CONTA,$REF_BANCO3_CONTA,$REF_COM_NOME1,$REF_COM_NOME2,$REF_COM_NOME3,$REF_COM_FONE1,$REF_COM_FONE2,$REF_COM_FONE3,$REF_COM_VALOR1,$REF_COM_VALOR2,$REF_COM_VALOR3,$REF_COM_PONTUALIDADE1,$REF_COM_PONTUALIDADE2,$REF_COM_PONTUALIDADE3,$INDICADOR_1,$INDICADOR_2,$INDICADOR_3,$INDICADOR_4,$INDICADOR_5,$INDICADOR_6,$INDICADOR_7,$INDICADOR_8,$INDICADOR_9,$INDICADOR_10,$SPC_DATA_ENVIO,$SPC_VALOR_COMPRA,$SPC_DATA_BAIXA,$SERASA_DATA_ENVIO,$SERASA_VALOR_COMPRA,$SERASA_DATA_BAIXA,$OUTRA_DATA_ENVIO,$OUTRA_VALOR_COMPRA,$OUTRA_DATA_BAIXA,$OBSERVACOES,$TABELA_PRECO,$TIPO_PAGAMENTO,$FORMA_PAGAMENTO,$ALTERAR_PRECO,$ID_CLIENTE_COBRANCA,$IND_TIPO_PAGAMENTO,$RECEBE_COBRANCA,$COBRAR_TAXA_CARTORIO,$COBRAR_TAXA_BANCARIA,$ID_USUARIO,$DATA_HORA_ALT,$ID_VENDEDOR,$ID_TIPO_ATIVIDADE,$ID_PRACA,$ID_EMPRESA,$CONCORRENCIA,$EMAIL_NFE,$ID_FOTO,$UNIDADE_VENDA,$ID_EMPRESA_NF,$EMITE_NOTA,$CEP,$ID_TRANSPORTADOR,$SALDO_CREDITO,$CODIGO_CONVENIO,$ID_CAIXA,$HISTORICO_VENDAS,$HISTORICO_ITENS,$DESCONTO,$ID_BANCO,$EMAIL_BOLETO,$ID_REDE,$DIA_VENCTO,$DIA_VIRADA,$ID_FORMA,$MATRICULA,$AUTORIZADO1,$AUTORIZADO2,$AUTORIZADO3,$AUTORIZADO4,$AUTORIZADO5,$AUTORIZADO6,$TRANSMITIDO,$OBS_SPC1,$OBS_SPC2,$OBS_SPC3,$ROUPA_CALCA,$ROUPA_CAMISA,$ROUPA_SAPATO,$ROUPA_BLAZER,$DIRETORIO,$DESC_FINANCEIRO,$IND_TPAGTO,$DESPESAS_CLIENTE,$NOME_USER_LIBEROU,$ID_USER_LIBEROU,$MOTIVO_LIBERACAO,$LIBERA_CREDIARIO,$DATA_HORA_LIBERACAO,$QUAL_PRECO,$CARENCIA,$ID_FOTO_A1,$ID_FOTO_A2,$ID_FOTO_A3,$ID_FOTO_A4,$ID_FOTO_A5,$ID_FOTO_A6,$VALOR_AUTORIZADO1,$VALOR_AUTORIZADO2,$VALOR_AUTORIZADO3,$VALOR_AUTORIZADO4,$VALOR_AUTORIZADO5,$VALOR_AUTORIZADO6,$DI_AUTORIZADO1,$DI_AUTORIZADO2,$DI_AUTORIZADO3,$DI_AUTORIZADO4,$DI_AUTORIZADO5,$DI_AUTORIZADO6,$DF_AUTORIZADO1,$DF_AUTORIZADO2,$DF_AUTORIZADO3,$DF_AUTORIZADO4,$DF_AUTORIZADO5,$DF_AUTORIZADO6,$DOC_AUTORIZADO1,$DOC_AUTORIZADO2,$DOC_AUTORIZADO3,$DOC_AUTORIZADO4,$DOC_AUTORIZADO5,$DOC_AUTORIZADO6,$ENDERECO_TRABALHO,$CONTATO_FINANCEIRO,$FONE_FINANCEIRO,$RG_EXPEDICAO,$RG_ORGAO,$ESCOLARIDADE,$DESC_APOSENTADORIA,$DESC_PENSAO,$NRO_APOSENTADORIA,$NRO_PENSAO,$NIT,$ID_SITUACAO,$ID_CONJUGE,$ENDERECO_CORRESPONDENCIA,$EMPRESA_CNPJ,$EMPRESA_VINCULO,$EMPRESA_DEPARTAMENTO,$EMPRESA_TIPO_SALARIO,$EMPRESA_ORIGEM,$EMPRESA_OUTRAS_RENDAS,$CONJUGE_TELEFONE,$CONJUGE_TEMPO_TRABALHO,$CONJUGE_SALARIO,$CONJUGE_END_TRABALHO,$CONJUGE_CID_TRABALHO,$CONJUGE_CEP_TRABALHO,$CONJUGE_DEP_TRABALHO,$CONJUGE_DATA_ADM,$CONJUGE_RENDA,$CONJUGE_VINCULO,$CONJUGE_TIPO_EMPREGO,$CONJUGE_ORIGEM_RENDA,$CONJUGE_OUTRAS_RENDAS,$EMPRESA_CEP,$CONJUGE_CNPJ_TRABALHO,$CONJUGE_PROFISSAO,$LIMITE_DATA_HORA_ALT,$LIMITE_USUARIO_ALT,$UNIDADES,$CONJUGE_CPF,$CONJUGE_RG,$CASAMENTO_DATA,$CASAMENTO_TIPO,$FRETE_PAGAR,$ID_MEUS_PEDIDOS,$DATA_ALT_MEUS_PEDIDOS,$ERRO_MEUS_PEDIDOS,$detail_DESCRICAO,$detail_UF,$detail_COD_IBGE,$detail_CEP,$detail_ID_USUARIO,$detail_DATA_HORA_ALT,$detail_CONCORRENCIA,$detail_ID_PAIS);
  603.         $this->formFields[] = $btn_save_detail;
  604.         $this->formFields[] = $save_button;
  605.         $this->formFields[] = $new_button;
  606.         $this->formFields[] = $detail_ID_CIDADE;
  607.         $this->form->setFields$this->formFields );
  608.         
  609.         $table_master->addRowSet( array($save_button$new_button), '''')->class 'tformaction'// CSS class
  610.         
  611.         // create the page container
  612.         $container = new TVBox;
  613.         $container->style 'width: 90%';
  614.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  615.         $container->add($this->form);
  616.         parent::add($container);
  617.     }
  618.     
  619.     
  620.     /**
  621.      * Clear form
  622.      * @param $param URL parameters
  623.      */
  624.     public function onClear($param)
  625.     {
  626.         $this->form->clear();
  627.         TSession::setValue(__CLASS__.'_items', array());
  628.         $this->onReload$param );
  629.     }
  630.     
  631.     /**
  632.      * Save an item from form to session list
  633.      * @param $param URL parameters
  634.      */
  635.     public function onSaveDetail$param )
  636.     {
  637.         try
  638.         {
  639.             TTransaction::open('conexao');
  640.             $data $this->form->getData();
  641.             
  642.             /** validation sample
  643.             if (! $data->fieldX)
  644.                 throw new Exception('The field fieldX is required');
  645.             **/
  646.             
  647.             $items TSession::getValue(__CLASS__.'_items');
  648.             $key = empty($data->detail_ID_CIDADE) ? 'X'.mt_rand(10000000001999999999) : $data->detail_ID_CIDADE;
  649.             
  650.             $items$key ] = array();
  651.             $items$key ]['ID_CIDADE'] = $key;
  652.             $items$key ]['DESCRICAO'] = $data->detail_DESCRICAO;
  653.             $items$key ]['UF'] = $data->detail_UF;
  654.             $items$key ]['COD_IBGE'] = $data->detail_COD_IBGE;
  655.             $items$key ]['CEP'] = $data->detail_CEP;
  656.             $items$key ]['ID_USUARIO'] = $data->detail_ID_USUARIO;
  657.             $items$key ]['DATA_HORA_ALT'] = $data->detail_DATA_HORA_ALT;
  658.             $items$key ]['CONCORRENCIA'] = $data->detail_CONCORRENCIA;
  659.             $items$key ]['ID_PAIS'] = $data->detail_ID_PAIS;
  660.             
  661.             TSession::setValue(__CLASS__.'_items'$items);
  662.             
  663.             // clear detail form fields
  664.             $data->detail_ID_CIDADE '';
  665.             $data->detail_DESCRICAO '';
  666.             $data->detail_UF '';
  667.             $data->detail_COD_IBGE '';
  668.             $data->detail_CEP '';
  669.             $data->detail_ID_USUARIO '';
  670.             $data->detail_DATA_HORA_ALT '';
  671.             $data->detail_CONCORRENCIA '';
  672.             $data->detail_ID_PAIS '';
  673.             
  674.             TTransaction::close();
  675.             $this->form->setData($data);
  676.             
  677.             $this->onReload$param ); // reload the items
  678.         }
  679.         catch (Exception $e)
  680.         {
  681.             $this->form->setData$this->form->getData());
  682.             new TMessage('error'$e->getMessage());
  683.         }
  684.     }
  685.     
  686.     /**
  687.      * Load an item from session list to detail form
  688.      * @param $param URL parameters
  689.      */
  690.     public function onEditDetail$param )
  691.     {
  692.         $data $this->form->getData();
  693.         
  694.         // read session items
  695.         $items TSession::getValue(__CLASS__.'_items');
  696.         
  697.         // get the session item
  698.         $item $items$param['item_key'] ];
  699.         
  700.         $data->detail_ID_CIDADE $item['ID_CIDADE'];
  701.         $data->detail_DESCRICAO $item['DESCRICAO'];
  702.         $data->detail_UF $item['UF'];
  703.         $data->detail_COD_IBGE $item['COD_IBGE'];
  704.         $data->detail_CEP $item['CEP'];
  705.         $data->detail_ID_USUARIO $item['ID_USUARIO'];
  706.         $data->detail_DATA_HORA_ALT $item['DATA_HORA_ALT'];
  707.         $data->detail_CONCORRENCIA $item['CONCORRENCIA'];
  708.         $data->detail_ID_PAIS $item['ID_PAIS'];
  709.         
  710.         // fill detail fields
  711.         $this->form->setData$data );
  712.     
  713.         $this->onReload$param );
  714.     }
  715.     
  716.     /**
  717.      * Delete an item from session list
  718.      * @param $param URL parameters
  719.      */
  720.     public function onDeleteDetail$param )
  721.     {
  722.         $data $this->form->getData();
  723.         
  724.         // reset items
  725.             $data->detail_DESCRICAO '';
  726.             $data->detail_UF '';
  727.             $data->detail_COD_IBGE '';
  728.             $data->detail_CEP '';
  729.             $data->detail_ID_USUARIO '';
  730.             $data->detail_DATA_HORA_ALT '';
  731.             $data->detail_CONCORRENCIA '';
  732.             $data->detail_ID_PAIS '';
  733.         
  734.         // clear form data
  735.         $this->form->setData$data );
  736.         
  737.         // read session items
  738.         $items TSession::getValue(__CLASS__.'_items');
  739.         
  740.         // delete the item from session
  741.         unset($items$param['item_key'] ] );
  742.         TSession::setValue(__CLASS__.'_items'$items);
  743.         
  744.         // reload items
  745.         $this->onReload$param );
  746.     }
  747.     
  748.     /**
  749.      * Load the items list from session
  750.      * @param $param URL parameters
  751.      */
  752.     public function onReload($param)
  753.     {
  754.         // read session items
  755.         $items TSession::getValue(__CLASS__.'_items');
  756.         
  757.         $this->detail_list->clear(); // clear detail list
  758.         $data $this->form->getData();
  759.         
  760.         if ($items)
  761.         {
  762.             $cont 1;
  763.             foreach ($items as $list_item_key => $list_item)
  764.             {
  765.                 $item_name 'prod_' $cont++;
  766.                 $item = new StdClass;
  767.                 
  768.                 // create action buttons
  769.                 $action_del = new TAction(array($this'onDeleteDetail'));
  770.                 $action_del->setParameter('item_key'$list_item_key);
  771.                 
  772.                 $action_edi = new TAction(array($this'onEditDetail'));
  773.                 $action_edi->setParameter('item_key'$list_item_key);
  774.                 
  775.                 $button_del = new TButton('delete_detail'.$cont);
  776.                 $button_del->class 'btn btn-default btn-sm';
  777.                 $button_del->setAction$action_del'' );
  778.                 $button_del->setImage('fa:trash-o red fa-lg');
  779.                 
  780.                 $button_edi = new TButton('edit_detail'.$cont);
  781.                 $button_edi->class 'btn btn-default btn-sm';
  782.                 $button_edi->setAction$action_edi'' );
  783.                 $button_edi->setImage('fa:edit blue fa-lg');
  784.                 
  785.                 $item->edit   $button_edi;
  786.                 $item->delete $button_del;
  787.                 
  788.                 $this->formFields$item_name.'_edit' ] = $item->edit;
  789.                 $this->formFields$item_name.'_delete' ] = $item->delete;
  790.                 
  791.                 // items
  792.                 $item->ID_CIDADE $list_item['ID_CIDADE'];
  793.                 $item->DESCRICAO $list_item['DESCRICAO'];
  794.                 $item->UF $list_item['UF'];
  795.                 $item->COD_IBGE $list_item['COD_IBGE'];
  796.                 $item->CEP $list_item['CEP'];
  797.                 $item->ID_USUARIO $list_item['ID_USUARIO'];
  798.                 $item->DATA_HORA_ALT $list_item['DATA_HORA_ALT'];
  799.                 $item->CONCORRENCIA $list_item['CONCORRENCIA'];
  800.                 $item->ID_PAIS $list_item['ID_PAIS'];
  801.                 
  802.                 $row $this->detail_list->addItem$item );
  803.                 $row->onmouseover='';
  804.                 $row->onmouseout='';
  805.             }
  806.             $this->form->setFields$this->formFields );
  807.         }
  808.         
  809.         $this->loaded TRUE;
  810.     }
  811.     
  812.     /**
  813.      * Load Master/Detail data from database to form/session
  814.      */
  815.     public function onEdit($param)
  816.     {
  817.         try
  818.         {
  819.             TTransaction::open('conexao');
  820.             
  821.             if (isset($param['key']))
  822.             {
  823.                 $key $param['key'];
  824.                 
  825.                 $object = new Cliente($key);
  826.                 $items  Cidade::where('ID_CIDADE''='$key)->load();
  827.                 
  828.                 $session_items = array();
  829.                 foreach( $items as $item )
  830.                 {
  831.                     $item_key $item->ID_CIDADE;
  832.                     $session_items[$item_key] = $item->toArray();
  833.                     $session_items[$item_key]['ID_CIDADE'] = $item->ID_CIDADE;
  834.                     $session_items[$item_key]['DESCRICAO'] = $item->DESCRICAO;
  835.                     $session_items[$item_key]['UF'] = $item->UF;
  836.                     $session_items[$item_key]['COD_IBGE'] = $item->COD_IBGE;
  837.                     $session_items[$item_key]['CEP'] = $item->CEP;
  838.                     $session_items[$item_key]['ID_USUARIO'] = $item->ID_USUARIO;
  839.                     $session_items[$item_key]['DATA_HORA_ALT'] = $item->DATA_HORA_ALT;
  840.                     $session_items[$item_key]['CONCORRENCIA'] = $item->CONCORRENCIA;
  841.                     $session_items[$item_key]['ID_PAIS'] = $item->ID_PAIS;
  842.                 }
  843.                 TSession::setValue(__CLASS__.'_items'$session_items);
  844.                 
  845.                 $this->form->setData($object); // fill the form with the active record data
  846.                 $this->onReload$param ); // reload items list
  847.                 TTransaction::close(); // close transaction
  848.             }
  849.             else
  850.             {
  851.                 $this->form->clear();
  852.                 TSession::setValue(__CLASS__.'_items'null);
  853.                 $this->onReload$param );
  854.             }
  855.         }
  856.         catch (Exception $e// in case of exception
  857.         {
  858.             new TMessage('error'$e->getMessage());
  859.             TTransaction::rollback();
  860.         }
  861.     }
  862.     
  863.     /**
  864.      * Save the Master/Detail data from form/session to database
  865.      */
  866.     public function onSave()
  867.     {
  868.         try
  869.         {
  870.             // open a transaction with database
  871.             TTransaction::open('conexao');
  872.             
  873.             $data $this->form->getData();
  874.             $master = new Cliente;
  875.             $master->fromArray( (array) $data);
  876.             $this->form->validate(); // form validation
  877.             
  878.             $master->store(); // save master object
  879.             // delete details
  880.             $old_items Cidade::where('ID_CIDADE''='$master->ID_CLIENTE)->load();
  881.             
  882.             $keep_items = array();
  883.             
  884.             // get session items
  885.             $items TSession::getValue(__CLASS__.'_items');
  886.             
  887.             if( $items )
  888.             {
  889.                 foreach( $items as $item )
  890.                 {
  891.                     if (substr($item['ID_CIDADE'],0,1) == 'X' // new record
  892.                     {
  893.                         $detail = new Cidade;
  894.                     }
  895.                     else
  896.                     {
  897.                         $detail Cidade::find($item['ID_CIDADE']);
  898.                     }
  899.                     $detail->DESCRICAO  $item['DESCRICAO'];
  900.                     $detail->UF  $item['UF'];
  901.                     $detail->COD_IBGE  $item['COD_IBGE'];
  902.                     $detail->CEP  $item['CEP'];
  903.                     $detail->ID_USUARIO  $item['ID_USUARIO'];
  904.                     $detail->DATA_HORA_ALT  $item['DATA_HORA_ALT'];
  905.                     $detail->CONCORRENCIA  $item['CONCORRENCIA'];
  906.                     $detail->ID_PAIS  $item['ID_PAIS'];
  907.                     $detail->ID_CIDADE $master->ID_CLIENTE;
  908.                     $detail->store();
  909.                     
  910.                     $keep_items[] = $detail->ID_CIDADE;
  911.                 }
  912.             }
  913.             
  914.             if ($old_items)
  915.             {
  916.                 foreach ($old_items as $old_item)
  917.                 {
  918.                     if (!in_array$old_item->ID_CIDADE$keep_items))
  919.                     {
  920.                         $old_item->delete();
  921.                     }
  922.                 }
  923.             }
  924.             TTransaction::close(); // close the transaction
  925.             
  926.             // reload form and session items
  927.             $this->onEdit(array('key'=>$master->ID_CLIENTE));
  928.             
  929.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'));
  930.         }
  931.         catch (Exception $e// in case of exception
  932.         {
  933.             new TMessage('error'$e->getMessage());
  934.             $this->form->setData$this->form->getData() ); // keep form data
  935.             TTransaction::rollback();
  936.         }
  937.     }
  938.     
  939.     /**
  940.      * Show the page
  941.      */
  942.     public function show()
  943.     {</your>
LG

Fiz assim no arquivo que estou utilizando:

ClientList.class.php aonde quero que seja efetuado a abertura da janela popup:

  1. <?php
  2.  class Cliente extends TRecord
  3. {
  4.     const TABLENAME 'cliente';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'max'// {max, serial}
  7.     
  8.     public function get_situacao_cli()
  9.     {
  10.         $nomes = array('A'=>'Ativo''B'=>'Bloqueado','I'=>'Inativo');
  11.         return $nomes[$this->SITUACAO];
  12.     }
  13.     
  14.       public function set_unidadefederacao(Cidade $object)
  15.     {
  16.         $this->unidadefederacao $object;
  17.         $this-> ID_CIDADE$object->ID;  //Seu erro está aqui!!! ***
  18.     }
  19.     
  20.       public function get_unidadefederacao()
  21.     {
  22.         // loads the associated object
  23.         if (empty($this->unidadefederacao))
  24.             $this->unidadefederacao = new cidade($this->ID_CIDADE); // E aqui!!!***
  25.     
  26.         // returns the associated object
  27.         return $this->unidadefederacao;
  28.     }
  29.     
  30.     
  31.     
  32. function onView($param)
  33.     {
  34.         // get the parameter and shows the message
  35.         $key=$param['key'];
  36.         new TMessage('info'"The name is : $key");
  37.     }
  38. ?>



  1. <?php
  2. /**
  3.  * ClienteList Listing
  4.  * @author  <your name here>
  5.  */
  6. class ClienteList extends TStandardList
  7. {
  8.     protected $form;     // registration form
  9.     protected $datagrid// listing
  10.     protected $pageNavigation;
  11.     protected $formgrid;
  12.     protected $deleteButton;
  13.     protected $transformCallback;
  14.     
  15.     /**
  16.      * Page constructor
  17.      */
  18.     public function __construct()
  19.     {
  20.         parent::__construct();
  21.         
  22.         parent::setDatabase('conexao');            // defines the database
  23.         parent::setActiveRecord('Cliente');   // defines the active record
  24.         parent::setDefaultOrder('ID_CLIENTE''asc');         // defines the default order
  25.         // parent::setCriteria($criteria) // define a standard filter
  26.         parent::addFilterField('CODIGO''=''CODIGO'); // filterField, operator, formField
  27.         parent::addFilterField('RAZAO_SOCIAL''like''RAZAO_SOCIAL'); // filterField, operator, formField
  28.         parent::addFilterField('CPF''like''CPF'); // filterField, operator, formField
  29.         parent::addFilterField('CNPJ''like''CNPJ'); // filterField, operator, formField
  30.         parent::addFilterField('ID_CIDADE''like''ID_CIDADE'); // filterField, operator, formField
  31.         parent::addFilterField('FONE''like''FONE'); // filterField, operator, formField
  32.         parent::addFilterField('SITUACAO''like''SITUACAO'); // filterField, operator, formField
  33.       
  34.         // creates the form
  35.         $this->form = new TQuickForm('form_search_Cliente');
  36.         $this->form->class 'tform'// change CSS class
  37.         
  38.         $this->form->style 'display: table;width:100%'// change style
  39.         $this->form->setFormTitle('Cliente');
  40.        // $cliente = new Cliente(1);
  41. //echo $cliente->cidade->nome;
  42.         // create the form fields
  43.         $CODIGO = new TEntry('CODIGO');
  44.         $RAZAO_SOCIAL = new TEntry('RAZAO_SOCIAL');
  45.         $CPF = new TEntry('CPF');
  46.         $CNPJ = new TEntry('CNPJ');
  47.         $ID_CIDADE = new TEntry('ID_CIDADE');
  48.         $FONE = new TEntry('FONE');
  49.         $SITUACAO = new TEntry('SITUACAO');
  50.       
  51.         // add the fields
  52.         $this->form->addQuickField('Código:'$CODIGO70 );
  53.         $this->form->addQuickField('Razão Social:'$RAZAO_SOCIAL,  400 );
  54.         $this->form->addQuickField('CPF/CNPJ:'$CPF,  200 );
  55.         $this->form->addQuickField('Situação:'$SITUACAO,  200 );
  56.    
  57.         
  58.         // keep the form filled during navigation with session data
  59.         $this->form->setDataTSession::getValue('Cliente_filter_data') );
  60.         
  61.         // add the search form actions
  62.         $this->form->addQuickAction(_t('Find'), new TAction(array($this'onSearch')), 'fa:search');
  63.         $this->form->addQuickAction(_t('New'),  new TAction(array('ClienteForm''onEdit')), 'bs:plus-sign green');
  64.         
  65.         // creates a DataGrid
  66.         $this->datagrid = new TDataGrid;
  67.          $this->datagrid->disableDefaultClick(); // important!
  68.         
  69.         $this->datagrid->style 'width: 100%';
  70.         $this->datagrid->setHeight(320);
  71.         // $this->datagrid->datatable = 'true';
  72.         // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  73.         
  74.         // creates the datagrid columns
  75.         $column_CODIGO = new TDataGridColumn('CODIGO''Código''center');
  76.         $column_RAZAO_SOCIAL = new TDataGridColumn('RAZAO_SOCIAL''Razão Social''left');
  77.         $column_CPF = new TDataGridColumn('CPF''CPF/CNPJ''center');
  78.         $column_CNPJ = new TDataGridColumn('CNPJ''CNPJ''center');    
  79.         $column_ID_CIDADE = new TDataGridColumn('unidadefederacao->DESCRICAO''Cidade''center');
  80.         $column_FONE = new TDataGridColumn('FONE''Telefone''center');
  81.         $column_SITUACAO = new TDataGridColumn('situacao_cli''Situação''center');
  82.          //$COL= compara_cpfcnpj( $column_CPF, $column_CNPJ );
  83.        // $column_CPFCNPJ = new TDataGridColumn( compara_cpfcnpj   , 'CPF/CNPJ', 'center');
  84. $column_CPF->setTransformer(function($value,$object){ 
  85. if ($value
  86. return $value
  87. else 
  88. return $object->CNPJ
  89. }); 
  90.         
  91.          //$action_edit = new TDataGridAction(array($this, 'onView'));
  92.         //$action->setUseButton(TRUE);
  93.         //$action->setButtonClass('btn btn-info');
  94.         //$this->datagrid->addQuickAction('View', $action_edit, 'ID_CLIENTE', 'fa:search');
  95.         
  96.         
  97.         
  98.         // add the columns to the DataGrid
  99.         $this->datagrid->addColumn($column_CODIGO);
  100.         $this->datagrid->addColumn($column_RAZAO_SOCIAL);
  101.         $this->datagrid->addColumn($column_CPF);
  102.        // $this->datagrid->addColumn($column_CNPJ);
  103.         $this->datagrid->addColumn($column_ID_CIDADE);
  104.         $this->datagrid->addColumn($column_FONE);
  105.         $this->datagrid->addColumn($column_SITUACAO);
  106.      
  107.      
  108.        
  109.         // creates the datagrid column actions
  110.         $order_CODIGO = new TAction(array($this'onReload'));
  111.         $order_CODIGO->setParameter('order''CODIGO');
  112.         $column_CODIGO->setAction($order_CODIGO);
  113.         
  114.         $order_RAZAO_SOCIAL = new TAction(array($this'onReload'));
  115.         $order_RAZAO_SOCIAL->setParameter('order''RAZAO_SOCIAL');
  116.         $column_RAZAO_SOCIAL->setAction($order_RAZAO_SOCIAL);
  117.         
  118.         // create EDIT action
  119.         $action_edit = new TDataGridAction(array('ClienteForm''onView'));
  120.         //$action_edit->setUseButton(TRUE);
  121.         //$action_edit->setButtonClass('btn btn-default');
  122.         $action_edit->setLabel('+ Detalhes');
  123.        // $action_edit->setLabel(_t('Edit'));
  124.         $action_edit->setImage('ico_find.png');
  125.         $action_edit->setField('ID_CLIENTE');
  126.         //$this->datagrid->addAction($action_edit);
  127.          $this->datagrid->addQuickAction('View'$action_edit'ID_CLIENTE''fa:search');    
  128.         
  129.         
  130.         // create DELETE action
  131.         $action_del = new TDataGridAction(array($this'onDelete'));
  132.         //$action_del->setUseButton(TRUE);
  133.         //$action_del->setButtonClass('btn btn-default');
  134.         $action_del->setLabel(_t('Delete'));
  135.         $action_del->setImage('ico_delete.png');
  136.         $action_del->setField('ID_CLIENTE');
  137.         $this->datagrid->addAction($action_del);
  138.         
  139.        
  140.        
  141.     
  142.         
  143.         // create the datagrid model
  144.         $this->datagrid->createModel();
  145.         
  146.         // create the page navigation
  147.         $this->pageNavigation = new TPageNavigation;
  148.         $this->pageNavigation->setAction(new TAction(array($this'onReload')));
  149.         $this->pageNavigation->setWidth($this->datagrid->getWidth());
  150.         
  151.         // vertical box container
  152.         $container = new TVBox;
  153.         $container->style 'width: 100%';
  154.         // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  155.         $container->add($this->form);
  156.         $container->add($this->datagrid);
  157.         $container->add($this->pageNavigation);
  158.         
  159.         parent::add($container);
  160.     }
  161.     
  162.     
  163. }
  164. </your>
PD

Leonardo,

Somente faça a classe de formulário "extends TWindow".

Att,