menu
Fórum Adianti
menu Menu
Não carrega no Form as Informações ...
MC
Não carrega no Form as Informações  
Boas,

Estou com seguinte situação:

Quando carrego um registro num form (onEdit) através da tela de listagem, os dados aparecem normal.

No entanto precisei fazer dentro do form uma função Static a qual através da

AdiantiCoreApplication::loadPage( 'TblFornecedorForm', 'onEdit', $param );

solicito carregar o from e passo o parâmetro para o onEdit.

Nas duas situações os dados carregam na variável $object normalmente mas pro algum motivo não
carrega no form. $this->form->setData( $object );

Segue abaixo os códigos usados.


  1. <?php
  2.     /* 
  3.      *  Validacao do Cpf ou Cnpj 
  4.      */  
  5.     public static function onCpfCnpj$param )
  6.     {
  7.         try
  8.         {
  9.             $numero TGeral::SoNum$param['PES_CPFCNPJ'] );
  10.             // Verifica o CPF/CNPJ        
  11.             if ( strlen$numero ) == 11 )
  12.             {
  13.                 $validator = new TCPFValidator;
  14.                 $validator->validate''$numero );
  15.             } 
  16.             else if ( strlen$numero ) == 14 )
  17.             {
  18.                 $validator = new TCNPJValidator;
  19.                 $validator->validate(''$numero );
  20.             }
  21.         
  22.             else 
  23.             {
  24.                 $msg 'Numero de CPF ou CNPJ INVÁLIDO,<br>Correto CPF-11 ou CNPJ-14 números';
  25.                 
  26.                 new TMessage'info'$msgnull'Validação do CPF/CNPJ'); 
  27.             }
  28.             // Verifica se já existe Cadastro            
  29.             $criteria = new TCriteria;
  30.             $criteria->add( new TFilter'PES_CPFCNPJ''='$numero ));
  31.             
  32.             $objects TBuscaRecords::get_All('MkSgc_Geral''TblPessoas'$criteria ); 
  33.             // caso exista
  34.             if ( count$objects ) > )
  35.             {
  36.                 $param['key'] = $objects[0]->PES_ID
  37.                 AdiantiCoreApplication::loadPage'Cad_TblFornecedorForm''onEdit'$param );  
  38.                 $msg 'ATENÇÃO - Para AGREGAR o Fornecedor a sua Base,<br>basta clicar no Botão SALVAR';
  39.                 new TMessage('info'$msgnull'CADASTRO DE FORNECEDOR');              
  40.             }
  41.                 
  42.         }
  43.         catch (Exception $e// in case of exception
  44.         {
  45.             $numero TGeral::CpfCnpj$numero );
  46.             $msg    '<b>Cpf/Cnpj: '.$numero.'</b><br>'.$e->getMessage();
  47.             new TMessage('error'$msgnull'Validação do CPF/CNPJ');
  48.         }
  49.     }
  50. //-----------------------------------------------------------------------------------------------------
  51.     /**
  52.      * Load object to form data
  53.      * @param $param Request
  54.      */
  55.     public function onEdit$param )
  56.     {
  57.         try
  58.         {
  59.             if ( isset( $param['key']))
  60.             {
  61.                 // Carrega o Cadastro de Pessoas
  62.                 $data $this->form->getData();
  63.                 $key  $param['key'];
  64.                 $For  TblFornecedor::get_Fornecedor$key );
  65.                 
  66.                 TSession::setValue('ForID'$key );
  67.                 TTransaction::openBase ); 
  68.                 
  69.                 $object = new TblPessoas$key );
  70.                 // Transforma Valores
  71.                 $object->PES_CPFCNPJ  TGeral::CpfCnpj$object->PES_CPFCNPJ ); 
  72.                 $object->PES_CADASTRO TDate::date2br$object->PES_CADASTRO ); 
  73.                 $object->PES_ULTIMA   TDate::date2br$object->PES_ULTIMA ); 
  74.                 $object->PES_DTNASC   TDate::date2br$object->PES_DTNASC ); 
  75.                 $object->PES_CEP      TGeral::Cep$object->PES_CEP ); 
  76.                 $object->FOR_STATUS   $For->FOR_STATUS
  77. //                $object->FOR_CONTABIL = $For->FOR_CONTABIL; 
  78.                 
  79. var_dump$data$object );                
  80.                 $this->form->setData$object );
  81.                 // Fecha as Transações
  82.                 TTransaction::close();
  83.                 $this->form->setCurrentPage(0);
  84.             }
  85.             else
  86.             {
  87.                 $this->form->clear();
  88.             }
  89.         }
  90.         catch (Exception $e// in case of exception
  91.         {
  92.             new TMessage('error'$e->getMessage()); // shows the exception error message
  93.             TTransaction::rollback(); // undo all pending operations
  94.         }
  95.     }
  96. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (3)


FC

Troque
$this->form->setData( $object );
por
TForm::sendData('nome_form', $object );
MC

Obrigado Felipe deu certo.

Apesar de ter efeitos diferentes no onEdit, como por exemplo não carregar na tela o TCombo, apesar da variável estar com valor

Agora vc sabe dizer o porque não funciona com setData ?

FC

Por causa do código JavaScript são diferentes para carregar a combo basta passar o Key da combo. Como no exemplo de formulário dinâmico do tutor.