Lançado Adianti Framework 8.1!
Clique aqui para saber mais
DEVOLVER DADOS PARA UMA TELA INPUT DIALOG Olá pessoal. Conforme meu código abaixo, criei um método para clonar registros a partir de uma datagrid. Antes de clonar, criei um input dialog para que o usuário entre com dois novos valores para o novo registro. Até aqui está tudo funcionando. A minha dúvida é mais de utilização do framework (tenho pouco tempo de uso), pois, mesmo vendo os vídeos e lendo partes do livro e também o...
HB
DEVOLVER DADOS PARA UMA TELA INPUT DIALOG  
Olá pessoal.
Conforme meu código abaixo, criei um método para clonar registros a partir de uma datagrid.
Antes de clonar, criei um input dialog para que o usuário entre com dois novos valores para o novo registro. Até aqui está tudo funcionando.
A minha dúvida é mais de utilização do framework (tenho pouco tempo de uso), pois, mesmo vendo os vídeos e lendo partes do livro e também o tutor, não consegui achar uma parte que me explique o seguinte:

Como estou partindo de um registro já existente, eu gostaria que ao ao abrir o input dialog, fosse carregado a DATA ATUAL do registro selecionado (campo datamov) e o DOCUMENTO ATUAL (campo obs).
Pergunto:
1) como "pego" estes dois campos do registro que será clonado?
2) uma vez que eu já "peguei" como envio para o formulário (input dialog) antes de CONFIRMAR a clonagem?

INPUT DIALOG
  1. <?php
  2. public static function onCopiarOnYes($param null)
  3.     {
  4.         // Código gerado pelo snippet: "Questionamento"
  5.         try
  6.         {
  7.             //INPUT DIALOG
  8.             $form2 = new TQuickForm('input_form');
  9.             $form2->style 'padding:20px';
  10.             $datamov2 = new TDate('datamov');
  11.             $datamov2->setMask('dd/mm/yyyy');
  12.             $datamov2->datamov TDate::date2br($datamov2->datamov);
  13.             $obs2     = new TEntry('obs');
  14.             $obs2->forceUpperCase();
  15.             $datamov2->addValidation('Data do Movimento', new TRequiredValidator()); 
  16.             $form2->addQuickField('<h5>Data de Movimento<h5>'$datamov2);
  17.             $form2->addQuickField('<h5>Documento<h5>'$obs2);
  18.             $key      $param['key'];
  19.             $action  = new TAction(array('MovimentoList''onConfirma'));
  20.             $action->setParameter('key'$key);
  21.             $form2->addQuickAction('Confirmar'$action'fa:check-square-o #009688');
  22.             // show the input dialog
  23.             new TInputDialog('<h4>Novos Valores</4>'$form2);
  24.         }
  25.         catch(Exception $e)
  26.         {
  27.             new TMessage('error'$e->getMessage());
  28.         }
  29.     }
  30. ?>


MÉTODO DE CLONAGEM
  1. <?php
  2. public function onConfirma$param )
  3.     {
  4.         try 
  5.         {
  6.             if (isset($param['key']))
  7.             {
  8.              $key $param['key'];
  9.              $movimento = new Movimento();
  10.              
  11.              $cloneMovimento = clone $movimento;
  12.              $cloneMovimento->datamov $param['datamov'];
  13.              $cloneMovimento->obs     $param['obs'];
  14.              $cloneMovimento->status  1;
  15.              $cloneMovimento->dataefetiva null;
  16.              unset($cloneMovimento->id); 
  17.              $cloneMovimento->datamov TDate::date2us($cloneMovimento->datamov);
  18.              $cloneMovimento->store(); 
  19.              $cloneMovimento->datamov TDate::date2br($cloneMovimento->datamov);
  20.              new TMessage('info'"<h4>Lançamento Copiado com Sucesso!</h4>", new TAction(['MovimentoList''onReload'])); 
  21.             }
  22.         }
  23.         catch (Exception $e
  24.         {
  25.             new TMessage('error'$e->getMessage());    
  26.         }
  27.     }
  28. ?>


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


HB

Galera, da uma forcinha pra mim :)
Tô aprendendo ainda o framework e sei que minha dúvida é básica, mais é importante para o meu aprendizado.
Obrigado :)
NR

Na variável $key você tem o id do registro que será clonado. Assim, basta instanciar o modelo Movimento passando esse valor para obter as informações e depois preencher o formulário com a função setData:
  1. <?php
  2. $mov = new Movimento($key);
  3. $form2->setData($mov);
  4. ?>
HB

Bom dia
Nataniel deu certinho.
Muito obrigado pela atenção.