Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 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.