Pessoal esta Classe está funcionando corretamente, estou com dificuldade de transformar um ID em Nome do Lead e enviar ao PDF ...
AN
Pessoal esta Classe está funcionando corretamente, estou com dificuldade de transformar um ID em Nome do Lead e enviar ao PDF  
 
  1. <?php
  2. public function onExportPDF($param)
  3. {
  4. try {
  5. TTransaction::open('crmsolar');
  6. // Carrega o template HTML
  7. $html = new THtmlRenderer('app/output/proposta.html');
  8. $proposta = $param['proposta_obj'] ?? null;
  9. if (!$proposta) {
  10. throw new Exception('Objeto de proposta não fornecido para a geração do PDF.');
  11. }
  12. $leads = $proposta->leads;
  13. if (!$leads) {
  14. throw new Exception('Lead associado à proposta não encontrado.');
  15. }
  16. $lead = new Leads($proposta->leads_id);
  17. // Prepara os dados para o template, usando um array
  18. $replaces = [];
  19. $replaces['cliente_nome'] = $lead->nome;
  20. $replaces['valor_total'] = number_format($proposta->valor_total, 2, ',', '.');
  21. $replaces['potencia_sistema_kwp'] = number_format($proposta->potencia_sistema_kwp, 2, ',', '.');
  22. $replaces['payback_anos'] = number_format($proposta->payback_anos, 2, ',', '.');
  23. $replaces['data_criacao'] = date('d/m/Y H:i:s', strtotime($proposta->data_criacao));
  24. // Usa enableSection() para passar os dados para a seção 'main'
  25. // Esta é a forma correta para a classe THtmlRenderer
  26. $html->enableSection('main', $replaces);
  27. $contents = $html->getContents();
  28. $dompdf = new \Dompdf\Dompdf();
  29. $dompdf->loadHtml($contents);
  30. $dompdf->setPaper('A4', 'portrait');
  31. $dompdf->render();
  32. $file = 'app/output/proposta_'. $proposta->id . '.pdf';
  33. file_put_contents($file, $dompdf->output());
  34. $window = TWindow::create('Proposta de Venda', 0.8, 0.8);
  35. $object = new TElement('object');
  36. $object->data = $file;
  37. $object->type = 'application/pdf';
  38. $object->style = "width: 100%; height:calc(100% - 10px)";
  39. $window->add($object);
  40. $window->show();
  41. TTransaction::close();
  42. }
  43. catch (Exception $e) {
  44. new TMessage('error', $e->getMessage());
  45. TTransaction::rollback();
  46. }
  47. }
  48. ?>

Editado 06/08/2025 (há 2 dias) - Clique para ver alterações

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