Alterar dados do Registro bom dia Pablo, Conforme havia falado com você ao telefone, não estou consigo pesquisa a descrição, nem editar e também salvar o registro. Veja, anexo, vídeo demonstrativo. Código do Modelo: ...
ST
Alterar dados do Registro  
bom dia Pablo,

Conforme havia falado com você ao telefone, não estou consigo pesquisa a descrição, nem editar e também salvar o registro.
Veja, anexo, vídeo demonstrativo.

Código do Modelo:

 
  1. <?php
  2. /**
  3. * Perdcomp Active Record
  4. * @author <your-name-here>
  5. */
  6. class Perdcomp extends TRecord
  7. {
  8. const TABLENAME = 'perdcomp';
  9. const PRIMARYKEY= 'perdcomp_id';
  10. const IDPOLICY = 'max'; // {max, serial}
  11. private $origem_documento;
  12. private $tipo_credito;
  13. private $tipo_documento;
  14. private $tipo_imposto;
  15. /**
  16. * Constructor method
  17. */
  18. public function __construct($id = NULL, $callObjectLoad = TRUE)
  19. {
  20. parent::__construct($id, $callObjectLoad);
  21. parent::addAttribute('DataCriacao');
  22. parent::addAttribute('DataTransmissao');
  23. parent::addAttribute('Sequencial');
  24. parent::addAttribute('Nr_PERDCOMP');
  25. parent::addAttribute('TipoDocumento_id');
  26. parent::addAttribute('OrigemDocumento_id');
  27. parent::addAttribute('TipoCredito_id');
  28. parent::addAttribute('SaldoDeclarado');
  29. parent::addAttribute('Exercicio');
  30. parent::addAttribute('TipoImposto_ID');
  31. parent::addAttribute('ValorCompensado');
  32. parent::addAttribute('Competencia');
  33. parent::addAttribute('PERDCOMP_Original');
  34. parent::addAttribute('Situacao');
  35. parent::addAttribute('Cancelamento');
  36. parent::addAttribute('CreditoOriginalInicial');
  37. parent::addAttribute('CreditoOriginalUtilizadoCompensacoes');
  38. parent::addAttribute('CreditoOriginalDisponivel');
  39. parent::addAttribute('CreditoOriginalTransmissao');
  40. parent::addAttribute('SelicAcumulada');
  41. parent::addAttribute('CreditoAtualizado');
  42. parent::addAttribute('DebitosDocumento');
  43. parent::addAttribute('CreditoOriginalUtilizadoDocumento');
  44. parent::addAttribute('SaldoCreditoOriginal');
  45. parent::addAttribute('GED');
  46. }
  47. /**
  48. * Method set_origem_documento
  49. * Sample of usage: $perdcomp->origem_documento = $object;
  50. * @param $object Instance of OrigemDocumento
  51. */
  52. public function set_origem_documento(OrigemDocumento $object)
  53. {
  54. $this->origem_documento = $object;
  55. $this->origem_documento_id = $object->id;
  56. }
  57. /**
  58. * Method get_origem_documento
  59. * Sample of usage: $perdcomp->origem_documento->attribute;
  60. * @returns OrigemDocumento instance
  61. */
  62. public function get_origem_documento()
  63. {
  64. // loads the associated object
  65. if (empty($this->origem_documento))
  66. $this->origem_documento = new OrigemDocumento($this->OrigemDocumento_id);
  67. // returns the associated object
  68. return $this->origem_documento->OrigemDocumentoDescricao;
  69. }
  70. /**
  71. * Method set_tipo_credito
  72. * Sample of usage: $perdcomp->tipo_credito = $object;
  73. * @param $object Instance of TipoCredito
  74. */
  75. public function set_tipo_credito(TipoCredito $object)
  76. {
  77. $this->tipo_credito = $object;
  78. $this->tipo_credito_id = $object->id;
  79. }
  80. /**
  81. * Method get_tipo_credito
  82. * Sample of usage: $perdcomp->tipo_credito->attribute;
  83. * @returns TipoCredito instance
  84. */
  85. public function get_tipo_credito()
  86. {
  87. // loads the associated object
  88. if (empty($this->tipo_credito))
  89. $this->tipo_credito = new TipoCredito($this->TipoCredito_id);
  90. // returns the associated object
  91. return $this->tipo_credito->TipoCreditoDescricao;
  92. }
  93. /**
  94. * Method set_tipo_documento
  95. * Sample of usage: $perdcomp->tipo_documento = $object;
  96. * @param $object Instance of TipoDocumento
  97. */
  98. public function set_tipo_documento(TipoDocumento $object)
  99. {
  100. $this->tipo_documento = $object;
  101. $this->tipo_documento_id = $object->id;
  102. }
  103. /**
  104. * Method get_tipo_documento
  105. * Sample of usage: $perdcomp->tipo_documento->attribute;
  106. * @returns TipoDocumento instance
  107. */
  108. public function get_tipo_documento()
  109. {
  110. // loads the associated object
  111. if (empty($this->tipo_documento))
  112. $this->tipo_documento = new TipoDocumento($this->TipoDocumento_id);
  113. // returns the associated object
  114. return $this->tipo_documento->TipoDocumentoDescricao;
  115. }
  116. /**
  117. * Method set_tipo_imposto
  118. * Sample of usage: $perdcomp->tipo_imposto = $object;
  119. * @param $object Instance of TipoImposto
  120. */
  121. public function set_tipo_imposto(TipoImposto $object)
  122. {
  123. $this->tipo_imposto = $object;
  124. $this->tipo_imposto_id = $object->TipoImposto_ID;
  125. }
  126. /**
  127. * Method get_tipo_imposto
  128. * Sample of usage: $perdcomp->tipo_imposto->attribute;
  129. * @returns TipoImposto instance
  130. */
  131. public function get_tipo_imposto()
  132. {
  133. // loads the associated object
  134. if (empty($this->tipo_imposto))
  135. $this->tipo_imposto = new TipoImposto($this->TipoImposto_ID);
  136. // returns the associated object
  137. return $this->tipo_imposto->TipoImposto_Descricao;
  138. }
  139. }
  140. Código do Formulário:
 
  1. <?php
  2. /**
  3. * PerdcompForm Registration
  4. * @author <your name here>
  5. */
  6. class PerdcompForm extends TPage
  7. {
  8. protected $form; // form
  9. use Adianti\Base\AdiantiStandardFormTrait; // Standard form methods
  10. /**
  11. * Class constructor
  12. * Creates the page and the registration form
  13. */
  14. function __construct()
  15. {
  16. parent::__construct();
  17. $this->setDatabase('perdcomp'); // defines the database
  18. $this->setActiveRecord('Perdcomp'); // defines the active record
  19. // creates the form
  20. $this->form = new TQuickForm('form_Perdcomp');
  21. $this->form->class = 'tform'; // change CSS class
  22. $this->form->style = 'display: table;width:100%'; // change style
  23. // define the form title
  24. $this->form->setFormTitle('Perdcomp');
  25. // create the form fields
  26. $perdcomp_id = new TEntry('perdcomp_id');
  27. $DataCriacao = new TDate('DataCriacao');
  28. $DataTransmissao = new TDate('DataTransmissao');
  29. $Sequencial = new TEntry('Sequencial');
  30. $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');
  31. $TipoDocumento_id = new ">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'TipoDocumentoDescricao');
  32. $TipoDocumentoDescricao = new TEntry('tipo_documento');
  33. $OrigemDocumento_id = new ">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'OrigemDocumentoDescricao');
  34. $OrigemDocumentoDescricao = new TEntry('origem_documento');
  35. $TipoCredito_id = new ">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'TipoCreditoDescricao');
  36. $TipoCreditoDescricao = new TEntry('tipo_credito');
  37. $SaldoDeclarado = new TEntry('SaldoDeclarado');
  38. $Exercicio = new TEntry('Exercicio');
  39. $TipoImposto_ID = new ">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'TipoImposto_Descricao');
  40. $TipoImposto_Descricao = new TEntry('tipo_imposto');
  41. $ValorCompensado = new TEntry('ValorCompensado');
  42. $Competencia = new TDate('Competencia');
  43. $PERDCOMP_Original = new TEntry('PERDCOMP_Original');
  44. $Situacao = new TEntry('Situacao');
  45. $Cancelamento = new TEntry('Cancelamento');
  46. $CreditoOriginalInicial = new TEntry('CreditoOriginalInicial');
  47. $CreditoOriginalUtilizadoCompensacoes = new TEntry('CreditoOriginalUtilizadoCompensacoes');
  48. $CreditoOriginalDisponivel = new TEntry('CreditoOriginalDisponivel');
  49. $CreditoOriginalTransmissao = new TEntry('CreditoOriginalTransmissao');
  50. $SelicAcumulada = new TEntry('SelicAcumulada');
  51. $CreditoAtualizado = new TEntry('CreditoAtualizado');
  52. $DebitosDocumento = new TEntry('DebitosDocumento');
  53. $CreditoOriginalUtilizadoDocumento = new TEntry('CreditoOriginalUtilizadoDocumento');
  54. $SaldoCreditoOriginal = new TEntry('SaldoCreditoOriginal');
  55. $GED = new TFile('GED');
  56. $TipoDocumentoDescricao->setEditable(FALSE);
  57. $TipoDocumento_id->setSize('40');
  58. $TipoDocumentoDescricao->setSize('500');
  59. $OrigemDocumentoDescricao->setEditable(FALSE);
  60. $OrigemDocumento_id->setSize('40');
  61. $OrigemDocumentoDescricao->setSize('500');
  62. $TipoCreditoDescricao->setEditable(FALSE);
  63. $TipoCredito_id->setSize('40');
  64. $TipoCreditoDescricao->setSize('500');
  65. $TipoImposto_Descricao->setEditable(FALSE);
  66. $TipoImposto_ID->setSize('40');
  67. $TipoImposto_Descricao->setSize('500');
  68. $SaldoDeclarado->setNumericMask(2, ',', '.', TRUE);
  69. $ValorCompensado->setNumericMask(2, ',', '.', TRUE);
  70. $CreditoOriginalInicial->setNumericMask(2, ',', '.', TRUE);
  71. $CreditoOriginalUtilizadoCompensacoes->setNumericMask(2, ',', '.', TRUE);
  72. $CreditoOriginalDisponivel->setNumericMask(2, ',', '.', TRUE);
  73. $CreditoOriginalTransmissao->setNumericMask(2, ',', '.', TRUE);
  74. $SelicAcumulada->setNumericMask(2, ',', '.', TRUE);
  75. $CreditoAtualizado->setNumericMask(2, ',', '.', TRUE);
  76. $DebitosDocumento->setNumericMask(2, ',', '.', TRUE);
  77. $CreditoOriginalUtilizadoDocumento->setNumericMask(2, ',', '.', TRUE);
  78. $SaldoCreditoOriginal->setNumericMask(2, ',', '.', TRUE);
  79. // add the fields
  80. $this->form->addQuickField('Código:', $perdcomp_id, 100 );
  81. $this->form->addQuickField('Data Criação:', $DataCriacao, 100 );
  82. $this->form->addQuickField('Data Transmissão:', $DataTransmissao, 100 );
  83. $this->form->addQuickField('Sequencial:', $Sequencial, 200 );
  84. $this->form->addQuickField('Nº Perdcomp:', $Nr_PERDCOMP, 200 );
  85. $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );
  86. $this->form->addQuickFields('Origem Documento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );
  87. $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );
  88. $this->form->addQuickField('Saldo Declarado:', $SaldoDeclarado, 100 );
  89. $this->form->addQuickField('Exercicio:', $Exercicio, 100 );
  90. $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );
  91. $this->form->addQuickField('Valor Compensado:', $ValorCompensado, 100 );
  92. $this->form->addQuickField('Competência:', $Competencia, 100 );
  93. $this->form->addQuickField('Perdcomp Original:', $PERDCOMP_Original, 200 );
  94. $this->form->addQuickField('Situação:', $Situacao, 200 );
  95. $this->form->addQuickField('Cancelamento:', $Cancelamento, 200 );
  96. $this->form->addQuickField('Crédito Original Inicial:', $CreditoOriginalInicial, 100 );
  97. $this->form->addQuickField('Crédito Original Utilizado Compensações:', $CreditoOriginalUtilizadoCompensacoes, 100 );
  98. $this->form->addQuickField('Crédito Original Disponível:', $CreditoOriginalDisponivel, 100 );
  99. $this->form->addQuickField('Crédito Original Transmissão:', $CreditoOriginalTransmissao, 100 );
  100. $this->form->addQuickField('Selic Acumulada:', $SelicAcumulada, 100 );
  101. $this->form->addQuickField('Crédito Atualizado:', $CreditoAtualizado, 100 );
  102. $this->form->addQuickField('Débitos Documento:', $DebitosDocumento, 100 );
  103. $this->form->addQuickField('Crédito Original Utilizado Documento:', $CreditoOriginalUtilizadoDocumento, 100 );
  104. $this->form->addQuickField('Saldo Crédito Original:', $SaldoCreditoOriginal, 100);
  105. $this->form->addQuickField('Ged:', $GED, 500 );
  106. if (!empty($perdcomp_id))
  107. {
  108. $perdcomp_id->setEditable(FALSE);
  109. }
  110. /** samples
  111. $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  112. $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  113. $fieldX->setSize( 100, 40 ); // set size
  114. **/
  115. // create the form actions
  116. $this->form->addQuickAction(_t('Save'), new TAction(array($this, 'onSave')), 'fa:floppy-o');
  117. $this->form->addQuickAction(_t('New'), new TAction(array($this, 'onEdit')), 'bs:plus-sign green');
  118. $this->form->addQuickAction(_t('Back to the listing'), new TAction(array('PerdcompList', 'onReload')), 'fa:table blue');
  119. // vertical box container
  120. $container = new TVBox;
  121. $container->style = 'width: 90%';
  122. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  123. $container->add($this->form);
  124. parent::add($container);
  125. }
  126. }
  127. Código da Listagem do datagrid:
 
  1. <?php
  2. /**
  3. * PerdcompList Listing
  4. * @author <your name here>
  5. */
  6. class PerdcompList 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. * Page constructor
  16. */
  17. public function __construct()
  18. {
  19. parent::__construct();
  20. parent::setDatabase('perdcomp'); // defines the database
  21. parent::setActiveRecord('Perdcomp'); // defines the active record
  22. parent::setDefaultOrder('perdcomp_id', 'asc'); // defines the default order
  23. // parent::setCriteria($criteria) // define a standard filter
  24. parent::addFilterField('DataCriacao', 'like', 'DataCriacao'); // filterField, operator, formField
  25. parent::addFilterField('DataTransmissao', 'like', 'DataTransmissao'); // filterField, operator, formField
  26. parent::addFilterField('Nr_PERDCOMP', 'like', 'Nr_PERDCOMP'); // filterField, operator, formField
  27. parent::addFilterField('TipoDocumento_id', 'like', 'TipoDocumento_id'); // filterField, operator, formField
  28. parent::addFilterField('TipoCredito_id', 'like', 'TipoCredito_id'); // filterField, operator, formField
  29. parent::addFilterField('OrigemDocumento_id', 'like', 'OrigemDocumento_id'); // filterField, operator, formField
  30. parent::addFilterField('TipoImposto_ID', 'like', 'TipoImposto_ID'); // filterField, operator, formField
  31. parent::addFilterField('Exercicio', 'like', 'Exercicio'); // filterField, operator, formField
  32. // creates the form
  33. $this->form = new TQuickForm('form_search_Perdcomp');
  34. $this->form->class = 'tform'; // change CSS class
  35. $this->form->style = 'display: table;width:100%'; // change style
  36. $this->form->setFormTitle('Filtrar Dados Perdcomp');
  37. // create the form fields
  38. $DataCriacao = new TDate('DataCriacao');
  39. $DataTransmissao = new TDate('DataTransmissao');
  40. $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');
  41. $TipoDocumento_id = new ">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'TipoDocumentoDescricao');
  42. $TipoDocumentoDescricao = new TEntry('TipoDocumentoDescricao');
  43. $TipoCredito_id = new ">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'TipoCreditoDescricao');
  44. $TipoCreditoDescricao = new TEntry('TipoCreditoDescricao');
  45. $OrigemDocumento_id = new ">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'OrigemDocumentoDescricao');
  46. $OrigemDocumentoDescricao = new TEntry('OrigemDocumentoDescricao');
  47. $TipoImposto_ID = new ">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'TipoImposto_Descricao');
  48. $TipoImposto_Descricao = new TEntry('TipoImposto_Descricao');
  49. $Exercicio = new TEntry('Exercicio');
  50. // add the fields
  51. $this->form->addQuickField('Data Criação', $DataCriacao, 80 );
  52. $this->form->addQuickField('Data Transmissão', $DataTransmissao, 80 );
  53. $this->form->addQuickField('Nº Perdcomp', $Nr_PERDCOMP, 300 );
  54. $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );
  55. $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );
  56. $this->form->addQuickFields('OrigemDocumento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );
  57. $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );
  58. $this->form->addQuickField('Exercicio', $Exercicio, 100 );
  59. $TipoDocumentoDescricao->setEditable(FALSE);
  60. $TipoDocumento_id->setSize('40');
  61. $TipoDocumentoDescricao->setSize('500');
  62. $TipoCreditoDescricao->setEditable(FALSE);
  63. $TipoCredito_id->setSize('40');
  64. $TipoCreditoDescricao->setSize('500');
  65. $OrigemDocumentoDescricao->setEditable(FALSE);
  66. $OrigemDocumento_id->setSize('40');
  67. $OrigemDocumentoDescricao->setSize('500');
  68. $TipoImposto_Descricao->setEditable(FALSE);
  69. $TipoImposto_ID->setSize('40');
  70. $TipoImposto_Descricao->setSize('500');
  71. // keep the form filled during navigation with session data
  72. $this->form->setData( TSession::getValue('Perdcomp_filter_data') );
  73. // add the search form actions
  74. $this->form->addQuickAction(_t('Find'), new TAction(array($this, 'onSearch')), 'fa:search');
  75. $this->form->addQuickAction(_t('New'), new TAction(array('PerdcompForm', 'onEdit')), 'bs:plus-sign green');
  76. // creates a DataGrid
  77. $this->datagrid = new TDataGrid;
  78. $this->datagrid->style = 'width: 100%';
  79. $this->datagrid->datatable = 'true';
  80. // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  81. // creates the datagrid columns
  82. $column_DataCriacao = new TDataGridColumn('DataCriacao', 'Data Criação', 'left');
  83. $column_DataTransmissao = new TDataGridColumn('DataTransmissao', 'Data Transmissão', 'left');
  84. $column_Nr_PERDCOMP = new TDataGridColumn('Nr_PERDCOMP', 'Nº Perdcomp', 'left');
  85. $column_TipoDocumento_id = new TDataGridColumn('tipo_documento', 'Tipo Documento', 'right');
  86. $column_TipoCredito_id = new TDataGridColumn('tipo_credito', 'Tipo Crédito', 'right');
  87. $column_TipoImposto_ID = new TDataGridColumn('tipo_imposto', 'Tipo Imposto', 'right');
  88. $column_OrigemDocumento_id = new TDataGridColumn('origem_documento', 'Origem Documento', 'right');
  89. // $column_GED = new TDataGridColumn('GED', 'Ged', 'left');
  90. $column_Sequencial = new TDataGridColumn('Sequencial', 'Sequencial', 'left');
  91. $column_SaldoDeclarado = new TDataGridColumn('SaldoDeclarado', 'Saldo Declarado', 'right');
  92. $column_Exercicio = new TDataGridColumn('Exercicio', 'Exercicio', 'right');
  93. $column_ValorCompensado = new TDataGridColumn('ValorCompensado', 'Valor Compensado', 'right');
  94. $column_Competencia = new TDataGridColumn('Competencia', 'Competência', 'left');
  95. $column_PERDCOMP_Original = new TDataGridColumn('PERDCOMP_Original', 'Perdcomp Original', 'left');
  96. $column_Situacao = new TDataGridColumn('Situacao', 'Situacao', 'left');
  97. $column_Cancelamento = new TDataGridColumn('Cancelamento', 'Cancelamento', 'left');
  98. $column_CreditoOriginalInicial = new TDataGridColumn('CreditoOriginalInicial', 'Credito Original Inicial', 'right');
  99. $column_CreditoOriginalUtilizadoCompensacoes = new TDataGridColumn('CreditoOriginalUtilizadoCompensacoes', 'Crédito Original Utilizado Compensações', 'right');
  100. $column_CreditoOriginalDisponivel = new TDataGridColumn('CreditoOriginalDisponivel', 'Crédito Original Disponível', 'right');
  101. $column_CreditoOriginalTransmissao = new TDataGridColumn('CreditoOriginalTransmissao', 'Crédito Original Transmissão', 'right');
  102. $column_SelicAcumulada = new TDataGridColumn('SelicAcumulada', 'Selic Acumulada', 'right');
  103. $column_CreditoAtualizado = new TDataGridColumn('CreditoAtualizado', 'Crédito Atualizado', 'right');
  104. $column_DebitosDocumento = new TDataGridColumn('DebitosDocumento', 'Débitos Documento', 'right');
  105. $column_CreditoOriginalUtilizadoDocumento = new TDataGridColumn('CreditoOriginalUtilizadoDocumento', 'Crédito Original Utilizado Documento', 'right');
  106. $column_SaldoCreditoOriginal = new TDataGridColumn('SaldoCreditoOriginal', 'Saldo Crédito Original', 'right');
  107. // add the columns to the DataGrid
  108. $this->datagrid->addColumn($column_DataCriacao);
  109. $this->datagrid->addColumn($column_DataTransmissao);
  110. $this->datagrid->addColumn($column_Nr_PERDCOMP);
  111. $this->datagrid->addColumn($column_TipoDocumento_id);
  112. $this->datagrid->addColumn($column_TipoCredito_id);
  113. $this->datagrid->addColumn($column_TipoImposto_ID);
  114. $this->datagrid->addColumn($column_OrigemDocumento_id);
  115. $this->datagrid->addColumn($column_SaldoDeclarado);
  116. $this->datagrid->addColumn($column_ValorCompensado);
  117. //$this->datagrid->addColumn($column_GED);
  118. $this->datagrid->addColumn($column_Exercicio);
  119. $this->datagrid->addColumn($column_Sequencial);
  120. $this->datagrid->addColumn($column_Competencia);
  121. $this->datagrid->addColumn($column_PERDCOMP_Original);
  122. $this->datagrid->addColumn($column_Situacao);
  123. $this->datagrid->addColumn($column_Cancelamento);
  124. $this->datagrid->addColumn($column_CreditoOriginalInicial);
  125. $this->datagrid->addColumn($column_CreditoOriginalUtilizadoCompensacoes);
  126. $this->datagrid->addColumn($column_CreditoOriginalDisponivel);
  127. $this->datagrid->addColumn($column_CreditoOriginalTransmissao);
  128. $this->datagrid->addColumn($column_SelicAcumulada);
  129. $this->datagrid->addColumn($column_CreditoAtualizado);
  130. $this->datagrid->addColumn($column_DebitosDocumento);
  131. $this->datagrid->addColumn($column_CreditoOriginalUtilizadoDocumento);
  132. $this->datagrid->addColumn($column_SaldoCreditoOriginal);
  133. // creates the datagrid column actions
  134. $order_DataCriacao = new TAction(array($this, 'onReload'));
  135. $order_DataCriacao->setParameter('order', 'DataCriacao');
  136. $column_DataCriacao->setAction($order_DataCriacao);
  137. $order_DataTransmissao = new TAction(array($this, 'onReload'));
  138. $order_DataTransmissao->setParameter('order', 'DataTransmissao');
  139. $column_DataTransmissao->setAction($order_DataTransmissao);
  140. $order_Nr_PERDCOMP = new TAction(array($this, 'onReload'));
  141. $order_Nr_PERDCOMP->setParameter('order', 'Nr_PERDCOMP');
  142. $column_Nr_PERDCOMP->setAction($order_Nr_PERDCOMP);
  143. $order_TipoDocumento_id = new TAction(array($this, 'onReload'));
  144. $order_TipoDocumento_id->setParameter('order', 'TipoDocumento_id');
  145. $column_TipoDocumento_id->setAction($order_TipoDocumento_id);
  146. $order_TipoCredito_id = new TAction(array($this, 'onReload'));
  147. $order_TipoCredito_id->setParameter('order', 'TipoCredito_id');
  148. $column_TipoCredito_id->setAction($order_TipoCredito_id);
  149. $order_Sequencial = new TAction(array($this, 'onReload'));
  150. $order_Sequencial->setParameter('order', 'Sequencial');
  151. $column_Sequencial->setAction($order_Sequencial);
  152. $order_OrigemDocumento_id = new TAction(array($this, 'onReload'));
  153. $order_OrigemDocumento_id->setParameter('order', 'OrigemDocumento_id');
  154. $column_OrigemDocumento_id->setAction($order_OrigemDocumento_id);
  155. $order_SaldoDeclarado = new TAction(array($this, 'onReload'));
  156. $order_SaldoDeclarado->setParameter('order', 'SaldoDeclarado');
  157. $column_SaldoDeclarado->setAction($order_SaldoDeclarado);
  158. $order_Exercicio = new TAction(array($this, 'onReload'));
  159. $order_Exercicio->setParameter('order', 'Exercicio');
  160. $column_Exercicio->setAction($order_Exercicio);
  161. $order_TipoImposto_ID = new TAction(array($this, 'onReload'));
  162. $order_TipoImposto_ID->setParameter('order', 'TipoImposto_ID');
  163. $column_TipoImposto_ID->setAction($order_TipoImposto_ID);
  164. $order_ValorCompensado = new TAction(array($this, 'onReload'));
  165. $order_ValorCompensado->setParameter('order', 'ValorCompensado');
  166. $column_ValorCompensado->setAction($order_ValorCompensado);
  167. $order_Competencia = new TAction(array($this, 'onReload'));
  168. $order_Competencia->setParameter('order', 'Competencia');
  169. $column_Competencia->setAction($order_Competencia);
  170. $order_PERDCOMP_Original = new TAction(array($this, 'onReload'));
  171. $order_PERDCOMP_Original->setParameter('order', 'PERDCOMP_Original');
  172. $column_PERDCOMP_Original->setAction($order_PERDCOMP_Original);
  173. $order_Situacao = new TAction(array($this, 'onReload'));
  174. $order_Situacao->setParameter('order', 'Situacao');
  175. $column_Situacao->setAction($order_Situacao);
  176. $order_Cancelamento = new TAction(array($this, 'onReload'));
  177. $order_Cancelamento->setParameter('order', 'Cancelamento');
  178. $column_Cancelamento->setAction($order_Cancelamento);
  179. $order_CreditoOriginalInicial = new TAction(array($this, 'onReload'));
  180. $order_CreditoOriginalInicial->setParameter('order', 'CreditoOriginalInicial');
  181. $column_CreditoOriginalInicial->setAction($order_CreditoOriginalInicial);
  182. $order_CreditoOriginalUtilizadoCompensacoes = new TAction(array($this, 'onReload'));
  183. $order_CreditoOriginalUtilizadoCompensacoes->setParameter('order', 'CreditoOriginalUtilizadoCompensacoes');
  184. $column_CreditoOriginalUtilizadoCompensacoes->setAction($order_CreditoOriginalUtilizadoCompensacoes);
  185. $order_CreditoOriginalDisponivel = new TAction(array($this, 'onReload'));
  186. $order_CreditoOriginalDisponivel->setParameter('order', 'CreditoOriginalDisponivel');
  187. $column_CreditoOriginalDisponivel->setAction($order_CreditoOriginalDisponivel);
  188. $order_CreditoOriginalTransmissao = new TAction(array($this, 'onReload'));
  189. $order_CreditoOriginalTransmissao->setParameter('order', 'CreditoOriginalTransmissao');
  190. $column_CreditoOriginalTransmissao->setAction($order_CreditoOriginalTransmissao);
  191. $order_SelicAcumulada = new TAction(array($this, 'onReload'));
  192. $order_SelicAcumulada->setParameter('order', 'SelicAcumulada');
  193. $column_SelicAcumulada->setAction($order_SelicAcumulada);
  194. $order_CreditoAtualizado = new TAction(array($this, 'onReload'));
  195. $order_CreditoAtualizado->setParameter('order', 'CreditoAtualizado');
  196. $column_CreditoAtualizado->setAction($order_CreditoAtualizado);
  197. $order_DebitosDocumento = new TAction(array($this, 'onReload'));
  198. $order_DebitosDocumento->setParameter('order', 'DebitosDocumento');
  199. $column_DebitosDocumento->setAction($order_DebitosDocumento);
  200. $order_CreditoOriginalUtilizadoDocumento = new TAction(array($this, 'onReload'));
  201. $order_CreditoOriginalUtilizadoDocumento->setParameter('order', 'CreditoOriginalUtilizadoDocumento');
  202. $column_CreditoOriginalUtilizadoDocumento->setAction($order_CreditoOriginalUtilizadoDocumento);
  203. $order_SaldoCreditoOriginal = new TAction(array($this, 'onReload'));
  204. $order_SaldoCreditoOriginal->setParameter('order', 'SaldoCreditoOriginal');
  205. $column_SaldoCreditoOriginal->setAction($order_SaldoCreditoOriginal);
  206. // inline editing
  207. // define the transformer method over image
  208. $column_Competencia->setTransformer( function($value, $object, $row) {
  209. $date = new DateTime($value);
  210. return $date->format('d/m/Y');
  211. });
  212. // define the transformer method over image
  213. $column_DataCriacao->setTransformer( function($value, $object, $row) {
  214. $date = new DateTime($value);
  215. return $date->format('d/m/Y');
  216. });
  217. // define the transformer method over image
  218. $column_DataTransmissao->setTransformer( function($value, $object, $row) {
  219. $date = new DateTime($value);
  220. return $date->format('d/m/Y');
  221. });
  222. // define the transformer method over image
  223. $column_SaldoDeclarado->setTransformer( function($value, $object, $row) {
  224. return 'R$ ' . number_format($value, 2, ',', '.');
  225. });
  226. // define the transformer method over image
  227. $column_ValorCompensado->setTransformer( function($value, $object, $row) {
  228. return 'R$ ' . number_format($value, 2, ',', '.');
  229. });
  230. // define the transformer method over image
  231. $column_CreditoOriginalInicial->setTransformer( function($value, $object, $row) {
  232. return 'R$ ' . number_format($value, 2, ',', '.');
  233. });
  234. // define the transformer method over image
  235. $column_CreditoOriginalUtilizadoCompensacoes->setTransformer( function($value, $object, $row) {
  236. return 'R$ ' . number_format($value, 2, ',', '.');
  237. });
  238. // define the transformer method over image
  239. $column_CreditoOriginalDisponivel->setTransformer( function($value, $object, $row) {
  240. return 'R$ ' . number_format($value, 2, ',', '.');
  241. });
  242. // define the transformer method over image
  243. $column_CreditoOriginalTransmissao->setTransformer( function($value, $object, $row) {
  244. return 'R$ ' . number_format($value, 2, ',', '.');
  245. });
  246. // define the transformer method over image
  247. $column_CreditoAtualizado->setTransformer( function($value, $object, $row) {
  248. return 'R$ ' . number_format($value, 2, ',', '.');
  249. });
  250. // define the transformer method over image
  251. $column_DebitosDocumento->setTransformer( function($value, $object, $row) {
  252. return 'R$ ' . number_format($value, 2, ',', '.');
  253. });
  254. // define the transformer method over image
  255. $column_CreditoOriginalUtilizadoDocumento->setTransformer( function($value, $object, $row) {
  256. return 'R$ ' . number_format($value, 2, ',', '.');
  257. });
  258. // define the transformer method over image
  259. $column_SaldoCreditoOriginal->setTransformer( function($value, $object, $row) {
  260. return 'R$ ' . number_format($value, 2, ',', '.');
  261. });
  262. // create EDIT action
  263. $action_edit = new TDataGridAction(array('PerdcompForm', 'onEdit'));
  264. // $action_edit->setUseButton(TRUE);
  265. $action_edit->setButtonClass('btn btn-default');
  266. $action_edit->setLabel(_t('Edit'));
  267. $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  268. $action_edit->setField('perdcomp_id');
  269. $this->datagrid->addAction($action_edit);
  270. // create DELETE action
  271. $action_del = new TDataGridAction(array($this, 'onDelete'));
  272. // $action_del->setUseButton(TRUE);
  273. $action_del->setButtonClass('btn btn-default');
  274. $action_del->setLabel(_t('Delete'));
  275. $action_del->setImage('fa:trash-o red fa-lg');
  276. $action_del->setField('perdcomp_id');
  277. $this->datagrid->addAction($action_del);
  278. // create the datagrid model
  279. $this->datagrid->createModel();
  280. // create the page navigation
  281. $this->pageNavigation = new TPageNavigation;
  282. $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
  283. $this->pageNavigation->setWidth($this->datagrid->getWidth());
  284. // vertical box container
  285. $container = new TVBox;
  286. $container->style = 'width: 90%';
  287. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  288. $container->add($this->form);
  289. $container->add($this->datagrid);
  290. $container->add($this->pageNavigation);
  291. parent::add($container);
  292. }
  293. }

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


ST

Segue link para visualizar o video:
https://drive.google.com/open?id=0B-y1O2RmOkXTbExLaWM0ZUxsSUk
NR

Veja a assinatura do construtor da classe TDBSeekButton
 
  1. <?php
  2. /**
  3. * Class Constructor
  4. * @param $name name of the form field
  5. * @param $database name of the database connection
  6. * @param $form name of the parent form
  7. * @param $model name of the Active Record to be searched
  8. * @param $display_field name of the field to be searched and shown
  9. * @param $receive_key name of the form field to receive the primary key
  10. * @param $receive_display_field name of the form field to receive the "display field"
  11. */
  12. public function __construct($name, $database, $form, $model, $display_field, $receive_key, $receive_display_field, TCriteria $criteria = NULL)
  13. ?>

O parâmetro $receive_display_field deve conter o nome do campo no formulário que vai receber a descrição. Você está informando, por exemplo, "TipoDocumentoDescricao", mas não há nenhum campo com esse nome no formulário.
 
  1. <?php
  2. //$TipoDocumento_id = new TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'TipoDocumentoDescricao');
  3. $TipoDocumento_id = new ">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'tipo_documento');
  4. $TipoDocumentoDescricao = new TEntry('tipo_documento');
  5. ?>
ST

Amigo Nataniel,
Obrigado pelo retorno mas não consegui entender sua explicação.
Onde devo realizar alteração no código?
NR

As alterações estão no final da minha resposta anterior. Você deve alterar o último parâmetro do TDBSeekButton para corresponder ao nome do campo no formulário que vai receber essa informação(tipo_documento, no exemplo que usei)
ST

Amigo Nataniel,
Graças a sua ajuda consegui resolver.
Muitíssimo obrigado.
ST

Amigo Nataniel,
Após as alterações sugeridas por você, não consigo nem editar e nem salvar.
NR

Sebastião, as alteração realizadas não devem interferir na edição e gravação. O que ocorre? Você está com os erros habilitados?
ST

Boa noite Nataniel,

Não estou conseguindo identificar o porquê não consigo alterar e nem salvar o registro.
Você pode me ajudar por favor.
Sou iniciante na ferramenta e este é o meu primeiro projeto.

Segue novamente o código do modelo e dos formulários:

Estou enviando anexo, video demonstrativo.

Modelo:

 
  1. <?php
  2. /**
  3. * Perdcomp Active Record
  4. * @author <your-name-here>
  5. */
  6. class Perdcomp extends TRecord
  7. {
  8. const TABLENAME = 'perdcomp';
  9. const PRIMARYKEY= 'perdcomp_id';
  10. const IDPOLICY = 'max'; // {max, serial}
  11. private $origem_documento;
  12. private $tipo_credito;
  13. private $tipo_documento;
  14. private $tipo_imposto;
  15. private $system_user;
  16. /**
  17. * Constructor method
  18. */
  19. public function __construct($id = NULL, $callObjectLoad = TRUE)
  20. {
  21. parent::__construct($id, $callObjectLoad);
  22. parent::addAttribute('DataCriacao');
  23. parent::addAttribute('DataTransmissao');
  24. parent::addAttribute('Sequencial');
  25. parent::addAttribute('Nr_PERDCOMP');
  26. parent::addAttribute('TipoDocumento_id');
  27. parent::addAttribute('OrigemDocumento_id');
  28. parent::addAttribute('TipoCredito_id');
  29. parent::addAttribute('SaldoDeclarado');
  30. parent::addAttribute('Exercicio');
  31. parent::addAttribute('TipoImposto_ID');
  32. parent::addAttribute('ValorCompensado');
  33. parent::addAttribute('Competencia');
  34. parent::addAttribute('PERDCOMP_Original');
  35. parent::addAttribute('Situacao');
  36. parent::addAttribute('Cancelamento');
  37. parent::addAttribute('CreditoOriginalInicial');
  38. parent::addAttribute('CreditoOriginalUtilizadoCompensacoes');
  39. parent::addAttribute('CreditoOriginalDisponivel');
  40. parent::addAttribute('CreditoOriginalTransmissao');
  41. parent::addAttribute('SelicAcumulada');
  42. parent::addAttribute('CreditoAtualizado');
  43. parent::addAttribute('DebitosDocumento');
  44. parent::addAttribute('CreditoOriginalUtilizadoDocumento');
  45. parent::addAttribute('SaldoCreditoOriginal');
  46. parent::addAttribute('system_unit_id');
  47. parent::addAttribute('GED');
  48. parent::addAttribute('system_user_id');
  49. }
  50. /**
  51. * Method set_origem_documento
  52. * Sample of usage: $perdcomp->origem_documento = $object;
  53. * @param $object Instance of OrigemDocumento
  54. */
  55. public function set_origem_documento(OrigemDocumento $object)
  56. {
  57. $this->origem_documento = $object;
  58. $this->origem_documento_id = $object->OrigemDocumento_id;
  59. }
  60. /**
  61. * Method get_origem_documento
  62. * Sample of usage: $perdcomp->origem_documento->attribute;
  63. * @returns OrigemDocumento instance
  64. */
  65. public function get_origem_documento()
  66. {
  67. // loads the associated object
  68. if (empty($this->origem_documento))
  69. $this->origem_documento = new OrigemDocumento($this->OrigemDocumento_id);
  70. // returns the associated object
  71. return $this->origem_documento->OrigemDocumentoDescricao;
  72. }
  73. /**
  74. * Method set_tipo_credito
  75. * Sample of usage: $perdcomp->tipo_credito = $object;
  76. * @param $object Instance of TipoCredito
  77. */
  78. public function set_tipo_credito(TipoCredito $object)
  79. {
  80. $this->tipo_credito = $object;
  81. $this->tipo_credito_id = $object->TipoCredito_id;
  82. }
  83. /**
  84. * Method get_tipo_credito
  85. * Sample of usage: $perdcomp->tipo_credito->attribute;
  86. * @returns TipoCredito instance
  87. */
  88. public function get_tipo_credito()
  89. {
  90. // loads the associated object
  91. if (empty($this->tipo_credito))
  92. $this->tipo_credito = new TipoCredito($this->TipoCredito_id);
  93. // returns the associated object
  94. return $this->tipo_credito->TipoCreditoDescricao;
  95. }
  96. /**
  97. * Method set_tipo_documento
  98. * Sample of usage: $perdcomp->tipo_documento = $object;
  99. * @param $object Instance of TipoDocumento
  100. */
  101. public function set_tipo_documento(TipoDocumento $object)
  102. {
  103. $this->tipo_documento = $object;
  104. $this->tipo_documento_id = $object->TipoDocumento_id;
  105. }
  106. /**
  107. * Method get_tipo_documento
  108. * Sample of usage: $perdcomp->tipo_documento->attribute;
  109. * @returns TipoDocumento instance
  110. */
  111. public function get_tipo_documento()
  112. {
  113. // loads the associated object
  114. if (empty($this->tipo_documento))
  115. $this->tipo_documento = new TipoDocumento($this->TipoDocumento_id);
  116. // returns the associated object
  117. return $this->tipo_documento->TipoDocumentoDescricao;
  118. }
  119. /**
  120. * Method set_tipo_imposto
  121. * Sample of usage: $perdcomp->tipo_imposto = $object;
  122. * @param $object Instance of TipoImposto
  123. */
  124. public function set_tipo_imposto(TipoImposto $object)
  125. {
  126. $this->tipo_imposto = $object;
  127. $this->tipo_imposto_id = $object->TipoImposto_ID;
  128. }
  129. /**
  130. * Method get_tipo_imposto
  131. * Sample of usage: $perdcomp->tipo_imposto->attribute;
  132. * @returns TipoImposto instance
  133. */
  134. public function get_tipo_imposto()
  135. {
  136. // loads the associated object
  137. if (empty($this->tipo_imposto))
  138. $this->tipo_imposto = new TipoImposto($this->TipoImposto_ID);
  139. // returns the associated object
  140. return $this->tipo_imposto->TipoImposto_Descricao;
  141. }
  142. public function set_system_user(SystemUser $object)
  143. {
  144. $this->system_user = $object;
  145. $this->system_user_id = $object->id;
  146. }
  147. /**
  148. * Method get_system_user
  149. * Sample of usage: $perdcomp->system_user->attribute;
  150. * @returns SystemUser instance
  151. */
  152. public function get_system_user()
  153. {
  154. // loads the associated object
  155. if (empty($this->system_user))
  156. $this->system_user = new SystemUser($this->system_user_id);
  157. // returns the associated object
  158. return $this->system_user;
  159. }
  160. }
  161. Formulário:
 
  1. <?php
  2. /**
  3. * PerdcompForm Registration
  4. * @author <your name here>
  5. */
  6. class PerdcompForm extends TPage
  7. {
  8. protected $form; // form
  9. use Adianti\Base\AdiantiStandardFormTrait; // Standard form methods
  10. /**
  11. * Class constructor
  12. * Creates the page and the registration form
  13. */
  14. function __construct()
  15. {
  16. parent::__construct();
  17. $this->setDatabase('perdcomp'); // defines the database
  18. $this->setActiveRecord('Perdcomp'); // defines the active record
  19. // creates the form
  20. $this->form = new TQuickForm('form_Perdcomp');
  21. $this->form->class = 'tform'; // change CSS class
  22. $this->form->style = 'display: table;width:100%'; // change style
  23. // define the form title
  24. $this->form->setFormTitle('Perdcomp');
  25. // create the form fields
  26. $perdcomp_id = new TEntry('perdcomp_id');
  27. $DataCriacao = new TDate('DataCriacao');
  28. $DataTransmissao = new TDate('DataTransmissao');
  29. $Sequencial = new TEntry('Sequencial');
  30. $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');
  31. $TipoDocumento_id = new ">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'tipo_documento');
  32. $TipoDocumentoDescricao = new TEntry('tipo_documento');
  33. $OrigemDocumento_id = new ">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'origem_documento');
  34. $OrigemDocumentoDescricao = new TEntry('origem_documento');
  35. $TipoCredito_id = new ">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'tipo_credito');
  36. $TipoCreditoDescricao = new TEntry('tipo_credito');
  37. $SaldoDeclarado = new TEntry('SaldoDeclarado');
  38. $Exercicio = new TEntry('Exercicio');
  39. $TipoImposto_ID = new ">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'tipo_imposto');
  40. $TipoImposto_Descricao = new TEntry('tipo_imposto');
  41. $ValorCompensado = new TEntry('ValorCompensado');
  42. $Competencia = new TDate('Competencia');
  43. $PERDCOMP_Original = new TEntry('PERDCOMP_Original');
  44. $Situacao = new TEntry('Situacao');
  45. $Cancelamento = new TEntry('Cancelamento');
  46. $CreditoOriginalInicial = new TEntry('CreditoOriginalInicial');
  47. $CreditoOriginalUtilizadoCompensacoes = new TEntry('CreditoOriginalUtilizadoCompensacoes');
  48. $CreditoOriginalDisponivel = new TEntry('CreditoOriginalDisponivel');
  49. $CreditoOriginalTransmissao = new TEntry('CreditoOriginalTransmissao');
  50. $SelicAcumulada = new TEntry('SelicAcumulada');
  51. $CreditoAtualizado = new TEntry('CreditoAtualizado');
  52. $DebitosDocumento = new TEntry('DebitosDocumento');
  53. $CreditoOriginalUtilizadoDocumento = new TEntry('CreditoOriginalUtilizadoDocumento');
  54. $SaldoCreditoOriginal = new TEntry('SaldoCreditoOriginal');
  55. // $Empresa_id = new TDBSeekButton('Empresa_id', 'perdcomp', $this->form->getName(), 'Empresa', 'EmpresaNome', 'Empresa_id', 'empresa');
  56. //$EmpresaNome = new TEntry('empresa');
  57. $TipoDocumentoDescricao->setEditable(FALSE);
  58. $TipoDocumento_id->setSize('40');
  59. $TipoDocumentoDescricao->setSize('500');
  60. $OrigemDocumentoDescricao->setEditable(FALSE);
  61. $OrigemDocumento_id->setSize('40');
  62. $OrigemDocumentoDescricao->setSize('500');
  63. $TipoCreditoDescricao->setEditable(FALSE);
  64. $TipoCredito_id->setSize('40');
  65. $TipoCreditoDescricao->setSize('500');
  66. $TipoImposto_Descricao->setEditable(FALSE);
  67. $TipoImposto_ID->setSize('40');
  68. $TipoImposto_Descricao->setSize('500');
  69. // $EmpresaNome->setEditable(FALSE);
  70. // $Empresa_id->setSize('40');
  71. //$EmpresaNome->setSize('500');
  72. $SaldoDeclarado->setNumericMask(2, ',', '.', TRUE);
  73. $ValorCompensado->setNumericMask(2, ',', '.', TRUE);
  74. $CreditoOriginalInicial->setNumericMask(2, ',', '.', TRUE);
  75. $CreditoOriginalUtilizadoCompensacoes->setNumericMask(2, ',', '.', TRUE);
  76. $CreditoOriginalDisponivel->setNumericMask(2, ',', '.', TRUE);
  77. $CreditoOriginalTransmissao->setNumericMask(2, ',', '.', TRUE);
  78. $SelicAcumulada->setNumericMask(2, ',', '.', TRUE);
  79. $CreditoAtualizado->setNumericMask(2, ',', '.', TRUE);
  80. $DebitosDocumento->setNumericMask(2, ',', '.', TRUE);
  81. $CreditoOriginalUtilizadoDocumento->setNumericMask(2, ',', '.', TRUE);
  82. $SaldoCreditoOriginal->setNumericMask(2, ',', '.', TRUE);
  83. $Nr_PERDCOMP->setMask('99999.99999.999999.9.9.99-9999');
  84. $PERDCOMP_Original->setMask('99999.99999.999999.9.9.99-9999');
  85. // add the fields
  86. $this->form->addQuickField('Código:', $perdcomp_id, 100 );
  87. $this->form->addQuickField('Data Criação:', $DataCriacao, 100 );
  88. $this->form->addQuickField('Data Transmissão:', $DataTransmissao, 100 );
  89. $this->form->addQuickField('Sequencial:', $Sequencial, 200 );
  90. $this->form->addQuickField('Nº Perdcomp:', $Nr_PERDCOMP, 200 );
  91. $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );
  92. $this->form->addQuickFields('Origem Documento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );
  93. $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );
  94. $this->form->addQuickField('Saldo Declarado:', $SaldoDeclarado, 100 );
  95. $this->form->addQuickField('Exercicio:', $Exercicio, 100 );
  96. $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );
  97. $this->form->addQuickField('Valor Compensado:', $ValorCompensado, 100 );
  98. $this->form->addQuickField('Competência:', $Competencia, 100 );
  99. $this->form->addQuickField('Perdcomp Original:', $PERDCOMP_Original, 200 );
  100. $this->form->addQuickField('Situação:', $Situacao, 200 );
  101. $this->form->addQuickField('Cancelamento:', $Cancelamento, 200 );
  102. $this->form->addQuickField('Crédito Original Inicial:', $CreditoOriginalInicial, 100 );
  103. $this->form->addQuickField('Crédito Original Utilizado Compensações:', $CreditoOriginalUtilizadoCompensacoes, 100 );
  104. $this->form->addQuickField('Crédito Original Disponível:', $CreditoOriginalDisponivel, 100 );
  105. $this->form->addQuickField('Crédito Original Transmissão:', $CreditoOriginalTransmissao, 100 );
  106. $this->form->addQuickField('Selic Acumulada:', $SelicAcumulada, 100 );
  107. $this->form->addQuickField('Crédito Atualizado:', $CreditoAtualizado, 100 );
  108. $this->form->addQuickField('Débitos Documento:', $DebitosDocumento, 100 );
  109. $this->form->addQuickField('Crédito Original Utilizado Documento:', $CreditoOriginalUtilizadoDocumento, 100 );
  110. $this->form->addQuickField('Saldo Crédito Original:', $SaldoCreditoOriginal, 100);
  111. // $this->form->addQuickFields('Unidade:', [ $Empresa_id, $EmpresaNome ], new TRequiredValidator );
  112. if (!empty($perdcomp_id))
  113. {
  114. $perdcomp_id->setEditable(FALSE);
  115. }
  116. /** samples
  117. $this->form->addQuickFields('Date', array($date1, new TLabel('to'), $date2)); // side by side fields
  118. $fieldX->addValidation( 'Field X', new TRequiredValidator ); // add validation
  119. $fieldX->setSize( 100, 40 ); // set size
  120. **/
  121. // create the form actions
  122. $this->form->addQuickAction(_t('Save'), new TAction(array($this, 'onSave')), 'fa:floppy-o');
  123. $this->form->addQuickAction(_t('New'), new TAction(array($this, 'onEdit')), 'bs:plus-sign green');
  124. $this->form->addQuickAction(_t('Back to the listing'), new TAction(array('PerdcompList', 'onReload')), 'fa:table blue');
  125. // vertical box container
  126. $container = new TVBox;
  127. $container->style = 'width: 90%';
  128. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  129. $container->add($this->form);
  130. parent::add($container);
  131. }
  132. }
  133. :Listagem da datagrid:
 
  1. <?php
  2. /**
  3. * PerdcompList Listing
  4. * @author <your name here>
  5. */
  6. class PerdcompList 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. * Page constructor
  16. */
  17. public function __construct()
  18. {
  19. parent::__construct();
  20. parent::setDatabase('perdcomp'); // defines the database
  21. parent::setActiveRecord('Perdcomp'); // defines the active record
  22. parent::setDefaultOrder('perdcomp_id', 'asc'); // defines the default order
  23. // parent::setCriteria($criteria) // define a standard filter
  24. parent::addFilterField('perdcomp_id', 'like', 'perdcomp_id'); // filterField, operator, formField
  25. parent::addFilterField('DataCriacao', 'like', 'DataCriacao'); // filterField, operator, formField
  26. parent::addFilterField('DataTransmissao', 'like', 'DataTransmissao'); // filterField, operator, formField
  27. parent::addFilterField('Sequencial', 'like', 'Sequencial'); // filterField, operator, formField
  28. parent::addFilterField('Nr_PERDCOMP', 'like', 'Nr_PERDCOMP'); // filterField, operator, formField
  29. parent::addFilterField('TipoDocumento_id', 'like', 'TipoDocumento_id'); // filterField, operator, formField
  30. parent::addFilterField('OrigemDocumento_id', 'like', 'OrigemDocumento_id'); // filterField, operator, formField
  31. parent::addFilterField('TipoCredito_id', 'like', 'TipoCredito_id'); // filterField, operator, formField
  32. parent::addFilterField('SaldoDeclarado', 'like', 'SaldoDeclarado'); // filterField, operator, formField
  33. parent::addFilterField('Exercicio', 'like', 'Exercicio'); // filterField, operator, formField
  34. parent::addFilterField('TipoImposto_ID', 'like', 'TipoImposto_ID'); // filterField, operator, formField
  35. // creates the form
  36. $this->form = new TQuickForm('form_search_Perdcomp');
  37. $this->form->class = 'tform'; // change CSS class
  38. $this->form->style = 'display: table;width:100%'; // change style
  39. $this->form->setFormTitle('Filtro Perdcomp');
  40. // create the form fields
  41. $perdcomp_id = new TEntry('perdcomp_id');
  42. $DataCriacao = new TDate('DataCriacao');
  43. $DataTransmissao = new TDate('DataTransmissao');
  44. $Nr_PERDCOMP = new TEntry('Nr_PERDCOMP');
  45. $TipoDocumento_id = new ">TDBSeekButton('TipoDocumento_id', 'perdcomp', $this->form->getName(), 'TipoDocumento', 'TipoDocumentoDescricao', 'TipoDocumento_id', 'tipo_documento');
  46. $TipoDocumentoDescricao = new TEntry('tipo_documento');
  47. $TipoCredito_id = new ">TDBSeekButton('TipoCredito_id', 'perdcomp', $this->form->getName(), 'TipoCredito', 'TipoCreditoDescricao', 'TipoCredito_id', 'tipo_credito');
  48. $TipoCreditoDescricao = new TEntry('tipo_credito');
  49. $OrigemDocumento_id = new ">TDBSeekButton('OrigemDocumento_id', 'perdcomp', $this->form->getName(), 'OrigemDocumento', 'OrigemDocumentoDescricao', 'OrigemDocumento_id', 'origem_documento');
  50. $OrigemDocumentoDescricao = new TEntry('origem_documento');
  51. $TipoImposto_ID = new ">TDBSeekButton('TipoImposto_ID', 'perdcomp', $this->form->getName(), 'TipoImposto', 'TipoImposto_Descricao', 'TipoImposto_ID', 'tipo_imposto');
  52. $TipoImposto_Descricao = new TEntry('tipo_imposto');
  53. $Exercicio = new TEntry('Exercicio');
  54. $TipoDocumentoDescricao->setEditable(FALSE);
  55. $TipoDocumento_id->setSize('40');
  56. $TipoDocumentoDescricao->setSize('500');
  57. $TipoCreditoDescricao->setEditable(FALSE);
  58. $TipoCredito_id->setSize('40');
  59. $TipoCreditoDescricao->setSize('500');
  60. $OrigemDocumentoDescricao->setEditable(FALSE);
  61. $OrigemDocumento_id->setSize('40');
  62. $OrigemDocumentoDescricao->setSize('500');
  63. $TipoImposto_Descricao->setEditable(FALSE);
  64. $TipoImposto_ID->setSize('40');
  65. $TipoImposto_Descricao->setSize('500');
  66. // add the fields
  67. $this->form->addQuickField('Código:', $perdcomp_id, 80 );
  68. $this->form->addQuickField('Data Criação', $DataCriacao, 80 );
  69. $this->form->addQuickField('Data Transmissão:', $DataTransmissao, 80 );
  70. $this->form->addQuickField('Nº Perdcomp:', $Nr_PERDCOMP, 500 );
  71. $this->form->addQuickFields('Tipo Documento:', [ $TipoDocumento_id, $TipoDocumentoDescricao ] );
  72. $this->form->addQuickFields('Tipo Crédito:', [ $TipoCredito_id, $TipoCreditoDescricao] );
  73. $this->form->addQuickFields('Origem Documento:', [ $OrigemDocumento_id, $OrigemDocumentoDescricao ] );
  74. $this->form->addQuickFields('Tipo Imposto:', [ $TipoImposto_ID, $TipoImposto_Descricao] );
  75. $this->form->addQuickField('Exercício', $Exercicio, 100 );
  76. // keep the form filled during navigation with session data
  77. $this->form->setData( TSession::getValue('Perdcomp_filter_data') );
  78. // add the search form actions
  79. $this->form->addQuickAction(_t('Find'), new TAction(array($this, 'onSearch')), 'fa:search');
  80. $this->form->addQuickAction(_t('New'), new TAction(array('PerdcompForm', 'onEdit')), 'bs:plus-sign green');
  81. // creates a DataGrid
  82. $this->datagrid = new TDataGrid;
  83. $this->datagrid->enablePopover('Image', "<img src='{photo_path}'>");
  84. $this->datagrid->style = 'width: 100%';
  85. $this->datagrid->datatable = 'true';
  86. // $this->datagrid->enablePopover('Popover', 'Hi <b> {name} </b>');
  87. // creates the datagrid columns
  88. $column_perdcomp_id = new TDataGridColumn('perdcomp_id', 'Código', 'right');
  89. $column_DataCriacao = new TDataGridColumn('DataCriacao', 'Data Criação', 'left');
  90. $column_DataTransmissao = new TDataGridColumn('DataTransmissao', 'Data Transmissão', 'left');
  91. $column_Nr_PERDCOMP = new TDataGridColumn('Nr_PERDCOMP', 'Nº Perdcomp', 'left');
  92. $column_TipoDocumento_id = new TDataGridColumn('tipo_documento', 'Tipo Documento', 'left');
  93. $column_TipoCredito_id = new TDataGridColumn('tipo_credito', 'Tipo Crédito', 'left');
  94. $column_TipoImposto_ID = new TDataGridColumn('tipo_imposto', 'Tipo Imposto', 'left');
  95. $column_OrigemDocumento_id = new TDataGridColumn('origem_documento', 'Origem Documento', 'left');
  96. $column_SaldoDeclarado = new TDataGridColumn('SaldoDeclarado', 'Saldo Declarado', 'right');
  97. $column_Exercicio = new TDataGridColumn('Exercicio', 'Exercício', 'right');
  98. $column_ValorCompensado = new TDataGridColumn('ValorCompensado', 'Valor Compensado', 'right');
  99. $column_Sequencial = new TDataGridColumn('Sequencial', 'Sequencial', 'left');
  100. $column_Competencia = new TDataGridColumn('Competencia', 'Competência', 'left');
  101. $column_PERDCOMP_Original = new TDataGridColumn('PERDCOMP_Original', 'Perdcomp Original', 'left');
  102. $column_Situacao = new TDataGridColumn('Situacao', 'Situação', 'left');
  103. $column_Cancelamento = new TDataGridColumn('Cancelamento', 'Cancelamento', 'left');
  104. $column_CreditoOriginalInicial = new TDataGridColumn('CreditoOriginalInicial', 'Crédito Original Inicial', 'right');
  105. $column_CreditoOriginalUtilizadoCompensacoes = new TDataGridColumn('Credito Original Utilizado Compensações', 'Creditooriginalutilizadocompensacoes', 'right');
  106. $column_CreditoOriginalDisponivel = new TDataGridColumn('Crédito Original Disponível', 'Crédito Original Disponível', 'right');
  107. $column_CreditoOriginalTransmissao = new TDataGridColumn('Credito Original Transmissão', 'Crédito Original Transmissão', 'right');
  108. $column_SelicAcumulada = new TDataGridColumn('Selic Acumulada', 'Selic Acumulada', 'right');
  109. $column_CreditoAtualizado = new TDataGridColumn('CreditoAtualizado', 'Crédito Atualizado', 'right');
  110. $column_DebitosDocumento = new TDataGridColumn('DebitosDocumento', 'Débitos Documento', 'right');
  111. $column_CreditoOriginalUtilizadoDocumento = new TDataGridColumn('CreditoOriginalUtilizadoDocumento', 'Crédito Original Utilizado Documento', 'right');
  112. $column_SaldoCreditoOriginal = new TDataGridColumn('SaldoCreditoOriginal', 'Saldo Crédito Original', 'right');
  113. // $column_Empresa_id = new TDataGridColumn('Empresa_id', 'Empresa', 'right');
  114. // add the columns to the DataGrid
  115. $this->datagrid->addColumn($column_perdcomp_id);
  116. $this->datagrid->addColumn($column_DataCriacao);
  117. $this->datagrid->addColumn($column_DataTransmissao);
  118. $this->datagrid->addColumn($column_Sequencial);
  119. $this->datagrid->addColumn($column_Nr_PERDCOMP);
  120. $this->datagrid->addColumn($column_TipoDocumento_id);
  121. $this->datagrid->addColumn($column_OrigemDocumento_id);
  122. $this->datagrid->addColumn($column_TipoCredito_id);
  123. $this->datagrid->addColumn($column_TipoImposto_ID);
  124. $this->datagrid->addColumn($column_SaldoDeclarado);
  125. $this->datagrid->addColumn($column_ValorCompensado);
  126. $this->datagrid->addColumn($column_Exercicio);
  127. $this->datagrid->addColumn($column_Competencia);
  128. $this->datagrid->addColumn($column_PERDCOMP_Original);
  129. $this->datagrid->addColumn($column_Situacao);
  130. $this->datagrid->addColumn($column_Cancelamento);
  131. $this->datagrid->addColumn($column_CreditoOriginalInicial);
  132. $this->datagrid->addColumn($column_CreditoOriginalUtilizadoCompensacoes);
  133. $this->datagrid->addColumn($column_CreditoOriginalDisponivel);
  134. $this->datagrid->addColumn($column_CreditoOriginalTransmissao);
  135. $this->datagrid->addColumn($column_SelicAcumulada);
  136. $this->datagrid->addColumn($column_CreditoAtualizado);
  137. $this->datagrid->addColumn($column_DebitosDocumento);
  138. $this->datagrid->addColumn($column_CreditoOriginalUtilizadoDocumento);
  139. $this->datagrid->addColumn($column_SaldoCreditoOriginal);
  140. // $this->datagrid->addColumn($column_Empresa_id);
  141. $order_perdcomp_id = new TAction(array($this, 'onReload'));
  142. $order_perdcomp_id->setParameter('order', 'perdcomp_id');
  143. $column_perdcomp_id->setAction($order_perdcomp_id);
  144. $order_DataCriacao = new TAction(array($this, 'onReload'));
  145. $order_DataCriacao->setParameter('order', 'DataCriacao');
  146. $column_DataCriacao->setAction($order_DataCriacao);
  147. $order_DataTransmissao = new TAction(array($this, 'onReload'));
  148. $order_DataTransmissao->setParameter('order', 'DataTransmissao');
  149. $column_DataTransmissao->setAction($order_DataTransmissao);
  150. // define the transformer method over image
  151. $column_Competencia->setTransformer( function($value, $object, $row) {
  152. $date = new DateTime($value);
  153. return $date->format('d/m/Y');
  154. });
  155. // define the transformer method over image
  156. $column_DataCriacao->setTransformer( function($value, $object, $row) {
  157. $date = new DateTime($value);
  158. return $date->format('d/m/Y');
  159. });
  160. // define the transformer method over image
  161. $column_DataTransmissao->setTransformer( function($value, $object, $row) {
  162. $date = new DateTime($value);
  163. return $date->format('d/m/Y');
  164. });
  165. // define the transformer method over image
  166. $column_SaldoDeclarado->setTransformer( function($value, $object, $row) {
  167. return 'R$ ' . number_format($value, 2, ',', '.');
  168. });
  169. // define the transformer method over image
  170. $column_ValorCompensado->setTransformer( function($value, $object, $row) {
  171. return 'R$ ' . number_format($value, 2, ',', '.');
  172. });
  173. // define the transformer method over image
  174. $column_CreditoOriginalInicial->setTransformer( function($value, $object, $row) {
  175. return 'R$ ' . number_format($value, 2, ',', '.');
  176. });
  177. // define the transformer method over image
  178. $column_CreditoOriginalUtilizadoCompensacoes->setTransformer( function($value, $object, $row) {
  179. return 'R$ ' . number_format($value, 2, ',', '.');
  180. });
  181. // define the transformer method over image
  182. $column_CreditoOriginalDisponivel->setTransformer( function($value, $object, $row) {
  183. return 'R$ ' . number_format($value, 2, ',', '.');
  184. });
  185. // define the transformer method over image
  186. $column_CreditoOriginalTransmissao->setTransformer( function($value, $object, $row) {
  187. return 'R$ ' . number_format($value, 2, ',', '.');
  188. });
  189. // define the transformer method over image
  190. $column_CreditoAtualizado->setTransformer( function($value, $object, $row) {
  191. return 'R$ ' . number_format($value, 2, ',', '.');
  192. });
  193. // define the transformer method over image
  194. $column_DebitosDocumento->setTransformer( function($value, $object, $row) {
  195. return 'R$ ' . number_format($value, 2, ',', '.');
  196. });
  197. // define the transformer method over image
  198. $column_CreditoOriginalUtilizadoDocumento->setTransformer( function($value, $object, $row) {
  199. return 'R$ ' . number_format($value, 2, ',', '.');
  200. });
  201. // define the transformer method over image
  202. $column_SaldoCreditoOriginal->setTransformer( function($value, $object, $row) {
  203. return 'R$ ' . number_format($value, 2, ',', '.');
  204. });
  205. // create EDIT action
  206. $action_edit = new TDataGridAction(array('PerdcompForm', 'onEdit'));
  207. $action_edit->setButtonClass('btn btn-default');
  208. $action_edit->setLabel(_t('Edit'));
  209. $action_edit->setImage('fa:pencil-square-o blue fa-lg');
  210. $action_edit->setField('perdcomp_id');
  211. $this->datagrid->addAction($action_edit);
  212. // create DELETE action
  213. $action_del = new TDataGridAction(array($this, 'onDelete'));
  214. $action_del->setButtonClass('btn btn-default');
  215. $action_del->setLabel(_t('Delete'));
  216. $action_del->setImage('fa:trash-o red fa-lg');
  217. $action_del->setField('perdcomp_id');
  218. $this->datagrid->addAction($action_del);
  219. // create the datagrid model
  220. $this->datagrid->createModel();
  221. // create the page navigation
  222. $this->pageNavigation = new TPageNavigation;
  223. $this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
  224. $this->pageNavigation->setWidth($this->datagrid->getWidth());
  225. // vertical box container
  226. $container = new TVBox;
  227. $container->style = 'width: 90%';
  228. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  229. $container->add($this->form);
  230. $container->add($this->datagrid);
  231. $container->add($this->pageNavigation);
  232. parent::add($container);
  233. }
  234. }
  235. </your></your>
ST

Segue link para visualizar o video:
https://drive.google.com/file/d/0B-2fNSIBtb1udkVTWl8zZTFXTHM/view?usp=drivesdk
NR

Sebastião, ative a exibição dos erros do PHP
ST

Nataniel,
Ao habilitar os erros, está apresentando as seguintes mensagens:
Notice: A non well formed numeric value encountered in C:xampphtdocsperdcomplibadiantiwidgetdatagridTDataGrid.php on line 843


Veja imagem no seguinte link:
prntscr.com/gcy6rd
NR

Qual a versão do PHP?

Além disso, verifique os erros gerados após clicar no Salvar, pois para a página ficar em branco deve estar ocorrendo um fatal error