Cadastro de Item apresentando erro, seria versão do php? Olá, ao usar o Mini_ERP e tentar cadastrar um orçamento ou venda, é apresentado este erro: Warning: Undefined variable $data in C:webserverhtdocserpappcontrolcrmOrcamentoForm.php on line 237 Warning: Attempt to read property "id" on null in C:webserverhtdocserpappcontrolcrmOrcamentoForm.php on line 237 No modal de erro aparece: ERRO: Unsuppor...
GM
Cadastro de Item apresentando erro, seria versão do php?  
Olá, ao usar o Mini_ERP e tentar cadastrar um orçamento ou venda, é apresentado este erro:

Warning: Undefined variable $data in C:\webserver\htdocs\erp\app\control\crm\OrcamentoForm.php on line 237 Warning: Attempt to read property "id" on null in C:\webserver\htdocs\erp\app\control\crm\OrcamentoForm.php on line 237


No modal de erro aparece:
ERRO: Unsupported operand types: string - string


A linha em questão contém:

public function onSave($param = null) { try { TTransaction::open(self::$database); // open a transaction /** // Enable Debug logger for SQL operations inside the transaction TTransaction::setLogger(new TLoggerSTD); // standard output TTransaction::setLogger(new TLoggerTXT('log.txt')); // file **/ $messageAction = null; $this->form->validate(); // validate form data $object = new Orcamento(); // create an empty object // LINHA COM O ERRO AQUI - INICIO if(!$data->id) // LINHA 237 { $object->system_unit_id = TSession::getValue('userunitid'); } // LINHA COM O ERRO AQUI - FIM $data = $this->form->getData(); // get form data as array $object->fromArray( (array) $data); // load the object with data $object->store(); // save the object $messageAction = new TAction(['OrcamentoList', 'onShow']); if(!empty($param['target_container'])) { $messageAction->setParameter('target_container', $param['target_container']); } $orcamento_item_orcamento_items = $this->storeItems('OrcamentoItem', 'orcamento_id', $object, 'orcamento_item_orcamento', function($masterObject, $detailObject){ $masterObject->valor_total += ($detailObject->quantidade * ($detailObject->valor - $detailObject->desconto)); }); $object->store(); // get the generated {PRIMARY_KEY} $data->id = $object->id; $this->form->setData($data); // fill form data TTransaction::close(); // close the transaction /** // To define an action to be executed on the message close event: $messageAction = new TAction(['className', 'methodName']); **/ new TMessage('info', AdiantiCoreTranslator::translate('Record saved'), $messageAction); } catch (Exception $e) // in case of exception { new TMessage('error', $e->getMessage()); // shows the exception error message $this->form->setData( $this->form->getData() ); // keep form data TTransaction::rollback(); // undo all pending operations } }


acredito que seja talvez a versão, mas não quero mudar a versão do que já estou usando.

alguma dica?

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


NR

O erro diz que você está tentando usar a variável data antes dela ser declarada. Logo abaixo do erro tem o comando a seguir:
 
  1. <?php
  2. $data = $this->form->getData();
  3. ?>

Coloque esse comando acima da linha com erro:
 
  1. <?php
  2. $data = $this->form->getData();
  3. if (!$data->id)
  4. ?>
GM

Sim, mas fazendo conforme você informa ele mostra o erro que informei lá em cima no modal:

Unsupported operand types: string - string


o tipo de dados destes campos está igual 'int' com mesmo tamanho no dicionário.
GM

Este é o código completo:

 
  1. <?php
 
  1. <?php
  2. class OrcamentoForm extends TPage
  3. {
  4. protected $form;
  5. private $formFields = [];
  6. private static $database = 'mini_erp';
  7. private static $activeRecord = 'Orcamento';
  8. private static $primaryKey = 'id';
  9. private static $formName = 'form_Orcamento';
  10. use Adianti\Base\AdiantiMasterDetailTrait;
  11. /**
  12. * Form constructor
  13. * @param $param Request
  14. */
  15. public function __construct( $param )
  16. {
  17. parent::__construct();
  18. if(!empty($param['target_container']))
  19. {
  20. $this->adianti_target_container = $param['target_container'];
  21. }
  22. // creates the form
  23. $this->form = new BootstrapFormBuilder(self::$formName);
  24. // define the form title
  25. $this->form->setFormTitle("Cadastro de orçamento");
  26. $criteria_cliente_id = new TCriteria();
  27. $criteria_vendedor_id = new TCriteria();
  28. $filterVar = Grupo::clientes;
  29. $criteria_cliente_id->add(new TFilter('id', 'in', "(SELECT pessoa_id FROM pessoa_grupo WHERE grupo_id in (SELECT id FROM grupo WHERE id = '{$filterVar}') )"));
  30. $filterVar = Grupo::vendedores;
  31. $criteria_vendedor_id->add(new TFilter('id', 'in', "(SELECT pessoa_id FROM pessoa_grupo WHERE grupo_id in (SELECT id FROM grupo WHERE id = '{$filterVar}') )"));
  32. $id = new TEntry('id');
  33. $dt_orcamento = new TDateTime('dt_orcamento');
  34. $cliente_id = new TDBUniqueSearch('cliente_id', 'mini_erp', 'Pessoa', 'id', 'nome','nome asc' , $criteria_cliente_id );
  35. $vendedor_id = new TDBCombo('vendedor_id', 'mini_erp', 'Pessoa', 'id', '{nome}','nome asc' , $criteria_vendedor_id );
  36. $frete = new TNumeric('frete', '2', ',', '.' );
  37. $estado_orcamento_id = new TDBCombo('estado_orcamento_id', 'mini_erp', 'EstadoOrcamento', 'id', '{nome}','nome asc' );
  38. $obs = new TText('obs');
  39. $orcamento_item_orcamento_produto_id = new TDBCombo('orcamento_item_orcamento_produto_id', 'mini_erp', 'Produto', 'id', '{nome}','nome asc' );
  40. $orcamento_item_orcamento_valor = new TNumeric('orcamento_item_orcamento_valor', '2', ',', '.' );
  41. $orcamento_item_orcamento_quantidade = new TNumeric('orcamento_item_orcamento_quantidade', '2', ',', '.' );
  42. $orcamento_item_orcamento_desconto = new TNumeric('orcamento_item_orcamento_desconto', '2', ',', '.' );
  43. $orcamento_item_orcamento_id = new THidden('orcamento_item_orcamento_id');
  44. $orcamento_item_orcamento_produto_id->setChangeAction(new TAction([$this,'onChangeProduto']));
  45. $dt_orcamento->addValidation("Data do orçamento", new TRequiredValidator());
  46. $cliente_id->addValidation("Cliente", new TRequiredValidator());
  47. $vendedor_id->addValidation("Vendedor", new TRequiredValidator());
  48. $estado_orcamento_id->addValidation("Estado do orçamento", new TRequiredValidator());
  49. $id->setEditable(false);
  50. $dt_orcamento->setValue(date('d/m/Y H:i'));
  51. $dt_orcamento->setDatabaseMask('yyyy-mm-dd hh:ii');
  52. $cliente_id->setMinLength(2);
  53. $vendedor_id->enableSearch();
  54. $cliente_id->setMask('{nome}');
  55. $dt_orcamento->setMask('dd/mm/yyyy hh:ii');
  56. $id->setSize(100);
  57. $frete->setSize('100%');
  58. $obs->setSize('70%', 100);
  59. $dt_orcamento->setSize(150);
  60. $cliente_id->setSize('100%');
  61. $vendedor_id->setSize('100%');
  62. $estado_orcamento_id->setSize('100%');
  63. $orcamento_item_orcamento_valor->setSize('100%');
  64. $orcamento_item_orcamento_desconto->setSize('100%');
  65. $orcamento_item_orcamento_produto_id->setSize('100%');
  66. $orcamento_item_orcamento_quantidade->setSize('100%');
  67. $row1 = $this->form->addFields([new TLabel("Id:", null, '14px', null)],[$id],[new TLabel("Data do orçamento:", '#ff0000', '14px', null)],[$dt_orcamento]);
  68. $row2 = $this->form->addFields([new TLabel("Cliente:", '#ff0000', '14px', null)],[$cliente_id],[new TLabel("Vendedor:", '#ff0000', '14px', null)],[$vendedor_id]);
  69. $row3 = $this->form->addFields([new TLabel("Valor do frete:", null, '14px', null)],[$frete],[new TLabel("Estado do orçamento:", '#ff0000', '14px', null)],[$estado_orcamento_id]);
  70. $row4 = $this->form->addFields([new TLabel("Observação:", null, '14px', null)],[$obs]);
  71. $row5 = $this->form->addContent([new TFormSeparator("Produtos", '#333333', '18', '#eeeeee')]);
  72. $row6 = $this->form->addFields([new TLabel("Produto:", '#ff0000', '14px', null)],[$orcamento_item_orcamento_produto_id],[new TLabel("Valor:", '#ff0000', '14px', null)],[$orcamento_item_orcamento_valor]);
  73. $row7 = $this->form->addFields([new TLabel("Quantidade:", '#ff0000', '14px', null)],[$orcamento_item_orcamento_quantidade],[new TLabel("Desconto:", null, '14px', null)],[$orcamento_item_orcamento_desconto]);
  74. $row8 = $this->form->addFields([$orcamento_item_orcamento_id]);
  75. $add_orcamento_item_orcamento = new TButton('add_orcamento_item_orcamento');
  76. $action_orcamento_item_orcamento = new TAction(array($this, 'onAddOrcamentoItemOrcamento'));
  77. $add_orcamento_item_orcamento->setAction($action_orcamento_item_orcamento, "Adicionar");
  78. $add_orcamento_item_orcamento->setImage('fas:plus #000000');
  79. $this->form->addFields([$add_orcamento_item_orcamento]);
  80. $detailDatagrid = new TQuickGrid;
  81. $detailDatagrid->disableHtmlConversion();
  82. $this->orcamento_item_orcamento_list = new BootstrapDatagridWrapper($detailDatagrid);
  83. $this->orcamento_item_orcamento_list->style = 'width:100%';
  84. $this->orcamento_item_orcamento_list->class .= ' table-bordered';
  85. $this->orcamento_item_orcamento_list->disableDefaultClick();
  86. $this->orcamento_item_orcamento_list->addQuickColumn('', 'edit', 'left', 50);
  87. $this->orcamento_item_orcamento_list->addQuickColumn('', 'delete', 'left', 50);
  88. $column_orcamento_item_orcamento_produto_id = $this->orcamento_item_orcamento_list->addQuickColumn("Produto", 'orcamento_item_orcamento_produto_id', 'left');
  89. $column_orcamento_item_orcamento_quantidade = $this->orcamento_item_orcamento_list->addQuickColumn("Quantidade", 'orcamento_item_orcamento_quantidade', 'left');
  90. $column_orcamento_item_orcamento_valor_transformed = $this->orcamento_item_orcamento_list->addQuickColumn("Valor", 'orcamento_item_orcamento_valor', 'left');
  91. $column_orcamento_item_orcamento_desconto_transformed = $this->orcamento_item_orcamento_list->addQuickColumn("Desconto", 'orcamento_item_orcamento_desconto', 'left');
  92. $column_calculated_6 = $this->orcamento_item_orcamento_list->addQuickColumn("Valor total", '=( ( {orcamento_item_orcamento_valor} - {orcamento_item_orcamento_desconto} ) * {orcamento_item_orcamento_quantidade} )', 'left');
  93. $column_calculated_6->setTotalFunction( function($values) {
  94. return array_sum((array) $values);
  95. });
  96. $this->orcamento_item_orcamento_list->createModel();
  97. $this->form->addContent([$this->orcamento_item_orcamento_list]);
  98. $column_orcamento_item_orcamento_valor_transformed->setTransformer(function($value, $object, $row, $cell, $last_row)
  99. {
  100. if(!$value)
  101. {
  102. $value = 0;
  103. }
  104. if(is_numeric($value))
  105. {
  106. return "R$ " . number_format($value, 2, ",", ".");
  107. }
  108. else
  109. {
  110. return $value;
  111. }
  112. });
  113. $column_orcamento_item_orcamento_desconto_transformed->setTransformer(function($value, $object, $row, $cell, $last_row)
  114. {
  115. if(!$value)
  116. {
  117. $value = 0;
  118. }
  119. if(is_numeric($value))
  120. {
  121. return "R$ " . number_format($value, 2, ",", ".");
  122. }
  123. else
  124. {
  125. return $value;
  126. }
  127. });
  128. $column_calculated_6->setTransformer(function($value, $object, $row, $cell, $last_row)
  129. {
  130. if(!$value)
  131. {
  132. $value = 0;
  133. }
  134. if(is_numeric($value))
  135. {
  136. return "R$ " . number_format($value, 2, ",", ".");
  137. }
  138. else
  139. {
  140. return $value;
  141. }
  142. });
  143. // create the form actions
  144. $btn_onsave = $this->form->addAction("Salvar", new TAction([$this, 'onSave']), 'far:save #ffffff');
  145. $this->btn_onsave = $btn_onsave;
  146. $btn_onsave->addStyleClass('btn-primary');
  147. $btn_onclear = $this->form->addAction("Limpar formulário", new TAction([$this, 'onClear']), 'fas:eraser #dd5a43');
  148. $this->btn_onclear = $btn_onclear;
  149. // vertical box container
  150. $container = new TVBox;
  151. $container->style = 'width: 100%';
  152. $container->class = 'form-container';
  153. if(empty($param['target_container']))
  154. {
  155. // $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  156. }
  157. $container->add($this->form);
  158. parent::add($container);
  159. }
  160. public static function onChangeProduto($param = null)
  161. {
  162. try
  163. {
  164. if($param['key'])
  165. {
  166. TTransaction::open('mini_erp');
  167. $produto = new Produto($param['key']);
  168. TTransaction::close();
  169. if($produto)
  170. {
  171. $object = new stdClass();
  172. $object->orcamento_item_orcamento_valor = number_format($produto->preco_venda, 2 , ',', '.');
  173. TForm::sendData(self::$formName, $object);
  174. }
  175. }
  176. }
  177. catch (Exception $e)
  178. {
  179. new TMessage('error', $e->getMessage());
  180. }
  181. }
  182. public function onSave($param = null)
  183. {
  184. try
  185. {
  186. TTransaction::open(self::$database); // abrindo a transação
  187. $messageAction = null;
  188. $this->form->validate(); // validando dado
  189. $object = new Orcamento(); // criando objeto
  190. $data = $this->form->getData();
  191. if(!$data->id)
  192. {
  193. $object->system_unit_id = TSession::getValue('userunitid');
  194. }
  195. // coletando dados do array
  196. $object->fromArray( (array) $data); // carregando dados do objeto
  197. $object->store(); // salvando o objeto
  198. $messageAction = new TAction(['OrcamentoList', 'onShow']);
  199. if(!empty($param['target_container']))
  200. {
  201. $messageAction->setParameter('target_container', $param['target_container']);
  202. }
  203. $orcamento_item_orcamento_items = $this->storeItems('OrcamentoItem', 'orcamento_id', $object, 'orcamento_item_orcamento', function($masterObject, $detailObject){
  204. $masterObject->valor_total += ($detailObject->quantidade * ($detailObject->valor - $detailObject->desconto));
  205. });
  206. $object->store();
  207. // get the generated {PRIMARY_KEY}
  208. $data->id = $object->id;
  209. $this->form->setData($data); // fill form data
  210. TTransaction::close(); // close the transaction
  211. /**
  212. // To define an action to be executed on the message close event:
  213. $messageAction = new TAction(['className', 'methodName']);
  214. **/
  215. new TMessage('info', AdiantiCoreTranslator::translate('Record saved'), $messageAction);
  216. }
  217. catch (Exception $e) // in case of exception
  218. {
  219. new TMessage('error', $e->getMessage()); // shows the exception error message
  220. $this->form->setData( $this->form->getData() ); // keep form data
  221. TTransaction::rollback(); // undo all pending operations
  222. }
  223. }
  224. public function onEdit( $param )
  225. {
  226. try
  227. {
  228. if(!isset($param['negociacao_id']))
  229. {
  230. TTransaction::open('mini_erp');
  231. $negociacao = new Negociacao($param['negociacao_id']);
  232. TTransaction::close();
  233. unset($negociacao->id);
  234. $this->form->setData($negociacao);
  235. $this->onReload();
  236. }
  237. if (isset($param['key']))
  238. {
  239. $key = $param['key']; // get the parameter $key
  240. TTransaction::open(self::$database); // open a transaction
  241. $object = new Orcamento($key); // instantiates the Active Record
  242. $orcamento_item_orcamento_items = $this->loadItems('OrcamentoItem', 'orcamento_id', $object, 'orcamento_item_orcamento', function($masterObject, $detailObject){
  243. //code here
  244. });
  245. $this->form->setData($object); // fill the form
  246. $this->onReload();
  247. TTransaction::close(); // close the transaction
  248. }
  249. else
  250. {
  251. $this->form->clear();
  252. }
  253. }
  254. catch (Exception $e) // in case of exception
  255. {
  256. new TMessage('error', $e->getMessage()); // shows the exception error message
  257. TTransaction::rollback(); // undo all pending operations
  258. }
  259. }
  260. /**
  261. * Clear form data
  262. * @param $param Request
  263. */
  264. public function onClear( $param )
  265. {
  266. $this->form->clear(true);
  267. TSession::setValue('orcamento_item_orcamento_items', null);
  268. $this->onReload();
  269. }
  270. public function onAddOrcamentoItemOrcamento( $param )
  271. {
  272. try
  273. {
  274. $data = $this->form->getData();
  275. if(!$data->orcamento_item_orcamento_produto_id)
  276. {
  277. throw new Exception(AdiantiCoreTranslator::translate('The field ^1 is required', "Produtp"));
  278. }
  279. if(!$data->orcamento_item_orcamento_valor)
  280. {
  281. throw new Exception(AdiantiCoreTranslator::translate('The field ^1 is required', "Valor"));
  282. }
  283. if(!$data->orcamento_item_orcamento_quantidade)
  284. {
  285. throw new Exception(AdiantiCoreTranslator::translate('The field ^1 is required', "Quantidade"));
  286. }
  287. $orcamento_item_orcamento_items = TSession::getValue('orcamento_item_orcamento_items');
  288. $key = isset($data->orcamento_item_orcamento_id) && $data->orcamento_item_orcamento_id ? $data->orcamento_item_orcamento_id : 'b'.uniqid();
  289. $fields = [];
  290. $fields['orcamento_item_orcamento_produto_id'] = $data->orcamento_item_orcamento_produto_id;
  291. $fields['orcamento_item_orcamento_valor'] = $data->orcamento_item_orcamento_valor;
  292. $fields['orcamento_item_orcamento_quantidade'] = $data->orcamento_item_orcamento_quantidade;
  293. $fields['orcamento_item_orcamento_desconto'] = $data->orcamento_item_orcamento_desconto;
  294. $orcamento_item_orcamento_items[ $key ] = $fields;
  295. TSession::setValue('orcamento_item_orcamento_items', $orcamento_item_orcamento_items);
  296. $data->orcamento_item_orcamento_id = '';
  297. $data->orcamento_item_orcamento_produto_id = '';
  298. $data->orcamento_item_orcamento_valor = '';
  299. $data->orcamento_item_orcamento_quantidade = '';
  300. $data->orcamento_item_orcamento_desconto = '';
  301. $this->form->setData($data);
  302. $this->onReload( $param );
  303. }
  304. catch (Exception $e)
  305. {
  306. $this->form->setData( $this->form->getData());
  307. new TMessage('error', $e->getMessage());
  308. }
  309. }
  310. public function onEditOrcamentoItemOrcamento( $param )
  311. {
  312. $data = $this->form->getData();
  313. // read session items
  314. $items = TSession::getValue('orcamento_item_orcamento_items');
  315. // get the session item
  316. $item = $items[$param['orcamento_item_orcamento_id_row_id']];
  317. $data->orcamento_item_orcamento_produto_id = $item['orcamento_item_orcamento_produto_id'];
  318. $data->orcamento_item_orcamento_valor = $item['orcamento_item_orcamento_valor'];
  319. $data->orcamento_item_orcamento_quantidade = $item['orcamento_item_orcamento_quantidade'];
  320. $data->orcamento_item_orcamento_desconto = $item['orcamento_item_orcamento_desconto'];
  321. $data->orcamento_item_orcamento_id = $param['orcamento_item_orcamento_id_row_id'];
  322. // fill product fields
  323. $this->form->setData( $data );
  324. $this->onReload( $param );
  325. }
  326. public function onDeleteOrcamentoItemOrcamento( $param )
  327. {
  328. $data = $this->form->getData();
  329. $data->orcamento_item_orcamento_produto_id = '';
  330. $data->orcamento_item_orcamento_valor = '';
  331. $data->orcamento_item_orcamento_quantidade = '';
  332. $data->orcamento_item_orcamento_desconto = '';
  333. // clear form data
  334. $this->form->setData( $data );
  335. // read session items
  336. $items = TSession::getValue('orcamento_item_orcamento_items');
  337. // delete the item from session
  338. unset($items[$param['orcamento_item_orcamento_id_row_id']]);
  339. TSession::setValue('orcamento_item_orcamento_items', $items);
  340. // reload sale items
  341. $this->onReload( $param );
  342. }
  343. public function onReloadOrcamentoItemOrcamento( $param )
  344. {
  345. $items = TSession::getValue('orcamento_item_orcamento_items');
  346. $this->orcamento_item_orcamento_list->clear();
  347. if($items)
  348. {
  349. $cont = 1;
  350. foreach ($items as $key => $item)
  351. {
  352. $rowItem = new StdClass;
  353. $action_del = new TAction(array($this, 'onDeleteOrcamentoItemOrcamento'));
  354. $action_del->setParameter('orcamento_item_orcamento_id_row_id', $key);
  355. $action_del->setParameter('row_data', base64_encode(serialize($item)));
  356. $action_del->setParameter('key', $key);
  357. $action_edi = new TAction(array($this, 'onEditOrcamentoItemOrcamento'));
  358. $action_edi->setParameter('orcamento_item_orcamento_id_row_id', $key);
  359. $action_edi->setParameter('row_data', base64_encode(serialize($item)));
  360. $action_edi->setParameter('key', $key);
  361. $button_del = new TButton('delete_orcamento_item_orcamento'.$cont);
  362. $button_del->setAction($action_del, '');
  363. $button_del->setFormName($this->form->getName());
  364. $button_del->class = 'btn btn-link btn-sm';
  365. $button_del->title = '';
  366. $button_del->setImage('far:trash-alt #dd5a43');
  367. $rowItem->delete = $button_del;
  368. $button_edi = new TButton('edit_orcamento_item_orcamento'.$cont);
  369. $button_edi->setAction($action_edi, '');
  370. $button_edi->setFormName($this->form->getName());
  371. $button_edi->class = 'btn btn-link btn-sm';
  372. $button_edi->title = '';
  373. $button_edi->setImage('far:edit #478fca');
  374. $rowItem->edit = $button_edi;
  375. $rowItem->orcamento_item_orcamento_produto_id = '';
  376. if(isset($item['orcamento_item_orcamento_produto_id']) && $item['orcamento_item_orcamento_produto_id'])
  377. {
  378. TTransaction::open('mini_erp');
  379. $produto = Produto::find($item['orcamento_item_orcamento_produto_id']);
  380. if($produto)
  381. {
  382. $rowItem->orcamento_item_orcamento_produto_id = $produto->render('{nome}');
  383. }
  384. TTransaction::close();
  385. }
  386. $rowItem->orcamento_item_orcamento_valor = isset($item['orcamento_item_orcamento_valor']) ? $item['orcamento_item_orcamento_valor'] : '';
  387. $rowItem->orcamento_item_orcamento_quantidade = isset($item['orcamento_item_orcamento_quantidade']) ? $item['orcamento_item_orcamento_quantidade'] : '';
  388. $rowItem->orcamento_item_orcamento_desconto = isset($item['orcamento_item_orcamento_desconto']) ? $item['orcamento_item_orcamento_desconto'] : '';
  389. $row = $this->orcamento_item_orcamento_list->addItem($rowItem);
  390. $cont++;
  391. }
  392. }
  393. }
  394. public function onShow($param = null)
  395. {
  396. TSession::setValue('orcamento_item_orcamento_items', null);
  397. $this->onReload();
  398. }
  399. public function onReload($params = null)
  400. {
  401. $this->loaded = TRUE;
  402. $this->onReloadOrcamentoItemOrcamento($params);
  403. }
  404. public function show()
  405. {
  406. if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onReload') )
  407. {
  408. $this->onReload( func_get_arg(0) );
  409. }
  410. parent::show();
  411. }
  412. }
  413. ?>
GM

erro:

link: https://gpsoft.com.br/doc/erro.png

Editado 18/02/2023 (há 2 anos) - Ver alterações