CM
Executar Função dentro de outra Função no Form
Bom dia a todos.
Tenho esse código que gera NFe, (aqui não está completo), esta é aparte final da geração.
Preciso que na parte citada após gerar a NFe e o XML executasse a Função para enviar o e-mail ao Cliente.
Porém gostaria de enviar ao Cliente a NFe em PDF e o XML, isso já consigo com o código abaixo:
Tenho esse código que gera NFe, (aqui não está completo), esta é aparte final da geração.
Preciso que na parte citada após gerar a NFe e o XML executasse a Função para enviar o e-mail ao Cliente.
- <?php
- if ($resp->codigo != 5023) {
- if ($resp->sucesso) {
- // autorizado
- $venda->xml = $resp->xml;
- $venda->pdf = $resp->pdf;
- $venda->nota_fiscal_status = "NFe Enviada";
- $venda->store();
- TTransaction::close();
- TApplication::postData('VendasFormMaster',__CLASS__,'onEmail'); // NESTE PONTO PRECISO EXECUTAR A FUNÇÃO DE ENVIO
- MensagemSweetAlert::Sucesso('NOTA FISCAL AUTORIZADA! XML E NOTA FISCAL ENVIADOS AO CLIENTE!');
- AdiantiCoreApplication::loadPage( 'VendasList' );
- $file = "tmp/nfe/{$venda->chave_nf}.pdf";
- if (!file_put_contents($file, base64_decode($venda->pdf))) {
- throw new Exception("Erro ao tentar gerar Danfe!");
- }
- TPage::openFile($file);
- exit;
- } else {
- // rejeição
- MensagemSweetAlert::Erro("{$resp->codigo} - {$resp->mensagem}");
- TTransaction::close();
- exit;
- }
- }
- ?>
Porém gostaria de enviar ao Cliente a NFe em PDF e o XML, isso já consigo com o código abaixo:
- <?php
- public static function onEmail( $param )
- {
- try{
- TTransaction::open('ourorio');
- $venda = new Vendas($param['id_venda']);
- $mail = new TMail;
- $mail->setFrom('gestor.zeromeia@gmail.com','OuroRio Quiosques');
- $mail->setSubject('Nota Fiscal Nº '.$venda->nota_fiscal_emitida);
- $mail->addAddress($venda->cliente_email, $venda->cliente_txt);
- $mail->addBCC('contato@zeromeia.com');
- $mail->setHtmlBody('Olá ' .$venda->cliente_txt. '<br><br>
- O objetivo dessa mensagem é informar a confirmação da emissão da Nota Fiscal Nº <b>'.$venda->nota_fiscal_emitida. '</b>.
- <br><br>
- A Nota Fiscal e o arquivo XML estão em anexo neste e-mail.
- <br><br>
- Você pode verificar a autenticidade no endereço abaixo, informando a Chave: <br><br>' .$venda->chave_nf. '
- <br><br>
- <a href=http://www4.fazenda.rj.gov.br/consultaDFe/paginas/consultaChaveAcesso.faces">Consulta Nota Fiscal</a>
- <br><br>
- Se houver dúvidas, entre em contato conosco.
- <br><br>
- Agradecemos pela compra.
- <br>
- <img src = "https://zeromeia.com/sistemas/clientes/web/ourorio/app/images/logo_fundo_preto.png" ><br>
- <b><i>OURORIO QUIOSQUES</i></b><br>
- <i>Mensagem automática <b>GESTOR ® WEB</i></b>');
- $mail->SetUseSmtp();
- $mail->SetSmtpHost('smtp.gmail.com', '465'); // 465 porta com criptografia
- $mail->SetSmtpUser('MeuEmaillDeEnvio@gmail.com', 'senha'); //retirei a senha por questão de segurança
- $target_file_pdf = "tmp/nfe/{$venda->chave_nf}.pdf";
- $target_file_xml = "tmp/nfe/{$venda->chave_nf}.xml";
- if (!file_put_contents($target_file_xml, base64_decode($venda->xml)))
- {
- MensagemSweetAlert::Erro('Não Existe NFe emitida para esse Registro!');
- //throw new Exception("Erro ao tentar gerar Danfe!");
- }
- $mail->addAttach( $target_file_pdf );
- $mail->addAttach( $target_file_xml );
- $mail->send(); // enviar
- MensagemSweetAlert::Sucesso('NOTA FISCAL E XML ENVIADOS AO CLIENTE COM SUCESSO!');
- AdiantiCoreApplication::loadPage( 'VendasList' );
- }
- catch (Exception $e)
- {
- new TMessage('error', '<b>Error</b> ' . $e->getMessage() );
- }
- }
- ?>
Olá, após a impressa da nfe, chamo a classe para envio do email.
Ou Marcos obrigado.
Meu código já gera o PDF direto abrindo a janela com a NF-E gerada.
Daí queria executar a função de envio.
Não tenho classe específica para enviar o e-mail.
A função está dentro do próprio form.