Yii Framework Forum: Impressões e Relatórios - Yii Framework Forum

Jump to content

  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • You cannot start a new topic
  • You cannot reply to this topic

Impressões e Relatórios Tópico relacionados a todo tipo de impressão e relatórios disponíveis Rate Topic: -----

#21 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 27 February 2012 - 05:43 AM

Amigos,
Alguém pode me disponibilizar um modelo de rebibo de pagamento, ou me ensinar como posso fazer. A idéia é que após o usuário cadastrar o pagamento recebido, ter um botão que pegue esses dados e monte um recibo de pagamento com logo da empresa e tudo. Gostaria que o usuário visualizasse em html mesmo, tipo esses sites que já montam o boleto bancário, e podesse imprimir direto, sem gerar em pdf.

Gostaria dessa ajuda agora. Agradeço a todos.
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#22 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 27 February 2012 - 01:04 PM

Bem amigos como não obtive nenhum exemplo, fiz o recibo em html mesmo e pedi pra visualizar em um nova guia. Como tenho uma certa urgência vai ficar assim mesmo. Pra trabalhos futuros a quem interessar pode deixar seus exemplos.

A quem desejar este exemplo ficou assim, para visualizar o valor que pego do BD usei a função que comentamos no post http://www.yiiframew...r-por-extenso/.

ReciboController
	public function actionPrint() {
    	$model = rcprecibo::model()->findByPk($_GET['id']);
    	$html = $this->renderPartial('view', array('model' => $model), true);

    	/* Linhas Cabeçalhos */
    	$linhacabecalho1 = "Endereço da Empresa";
    	$linhacabecalho2 = "Cidade/Estado e CEP";
    	$linhacabecalho3 = "FONE e FAX";

    	/* Linhas Final */
    	$linhafinal1 = "Nome da Empresa";
    	$linhafinal2 = "<b>CNPJ</b>. 00.000.000/0004-31 - <b>INSC. EST.</b> 00.000.000-1";

    	/* Diretorio que será salvo */
    	$dir = dirname(__FILE__) . '/pdf/';

    	/* Nome do arquivo */
    	$file = $model->numero . "/" . $model->ano. '.pdf';

    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf();
    	$mpdf->WriteHTML($html);
    	$html = '
        	<html>
            	<head>
                	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                	<meta http-equiv="Content-Language" content="pt-br, pt">
                	<title>Impressão de RPC - Recibo de Pagamento para Cliente</title>
            	</head>
            	<body>
                	<p>
                	<table style="height: 842px; text-align: left;" align="center" border="0" width="650">
                    	<tbody>
                        	<tr>
                            	<td><img src="' . Yii::app()->baseUrl . '/images/logo.png" border="0" /></td>
                            	<td><span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho1 . '
                                        	<br>' . $linhacabecalho2 . '</span></span><br /> <span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho3 . '</span></span><br /></td>
                            	<td style="text-align: center;" valign="middle"><span style="font-size: small;"></span><span style="font-size: small;"><b>Nº </b>' . $model->numero . "/" . $model->ano . '</span></td>
                        	</tr>
                        	<tr>
                            	<td rowspan="2" style="text-align: center;" colspan="2"><span style="font-size: medium;"><b>RECIBO</b></span></td>
                            	<td style="text-align: center;" valign="middle">
                                	<p><span style="font-size: small;"><b>1ª VIA</b> <span style="text-decoration: underline;">CLIENTE</span></span></p>
                                	<p><span style="font-size: small;"><span style="text-decoration: underline;"><br /></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td align="center" valign="middle">
                                	<p style="text-align: center;"><span style="text-decoration: underline;"><span style="font-size: medium;"><b>R$ ' . number_format($model->valor, 2, ',', '.') . '</b></span></span></p>
                                	<p style="text-align: center;"><span style="text-decoration: underline;"><span style="font-size: medium;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3">
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;">Recebemos de
                                            	<b>' . $model->cliente0->nome . '</b>, a importância supra de <b>' . $model->extenso($model->valor, true) . '</b> referente a <b>' . $model->tipo0->descricao . " " . $model->descricao . '.</b></span></span></p>
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="right" valign="middle">
                                	<p>' . $model->data_extenso($model->datarecebimento) . '</p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="center" valign="middle">____________________________________________<br /> <address><span style="font-size: 9;"><i><span style="font-family: arial,helvetica,sans-serif;">
                                                	' . $linhafinal1 . '</span></i></span></address> <address><span style="font-size: 9;"><i><span style="font-family: arial,helvetica,sans-serif;">' . $linhafinal2 . '</span></i></span></address>
                                	<p> </p>
                                	<p>------------------------------------------------------------------------------------------------------------------------</p>
                                	<p> </p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td><img src="' . Yii::app()->baseUrl . '/images/logo.png" border="0" /></td>
                            	<td><span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho1 . '
                                        	<br>' . $linhacabecalho2 . '</span></span><br /> <span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho3 . '</span></span><br /></td>
                            	<td align="center" valign="middle"><span style="font-size: small;"><b>Nº </b>' . $model->numero . "/" . $model->ano . '</span></td>
                        	</tr>
                        	<tr>
                            	<td rowspan="2" colspan="2" align="center" valign="middle"><span style="font-size: medium;"><b>RECIBO</b></span></td>
                            	<td align="center" valign="middle">
                                	<p><span style="font-size: small;"><b>2ª VIA</b> <span style="text-decoration: underline;">CD</span></span></p>
                                	<p><span style="font-size: small;"><span style="text-decoration: underline;"><br /></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td align="center" valign="middle">
                                	<p><span style="text-decoration: underline;"><span style="font-size: medium;"><b>R$ ' . number_format($model->valor, 2, ',', '.') . '</b></span></span></p>
                                	<p><span style="text-decoration: underline;"><span style="font-size: medium;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="left" valign="middle">
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;">Recebemos de
                                            	<b>' . $model->cliente0->nome . '</b>, a importância supra de <b>' . $model->extenso($model->valor, true) . '</b> referente a <b>' . $model->tipo0->descricao . " " . $model->descricao . '.</b></span></span></p>
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="right" valign="middle">
                                	<p>' . $model->data_extenso($model->datarecebimento) . '</p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="center" valign="middle">____________________________________________<br /> <address><span style="font-size: 9;"><span style="font-family: arial,helvetica,sans-serif;">
                                            	' . $linhafinal1 . '</span></span></address> <address><span style="font-size: 9;"><span style="font-family: arial,helvetica,sans-serif;">' . $linhafinal2 . '</span></span></address>
                                	<p> </p>
                                	<p>------------------------------------------------------------------------------------------------------------------------</p>
                                	<p> </p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td><img src="' . Yii::app()->baseUrl . '/images/logo.png" border="0" /></td>
                            	<td align="left" valign="middle"><span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho1 . '
                                        	<br>' . $linhacabecalho2 . '</span></span><br /> <span style="font-size: 11;"><span style="font-family: Arial Unicode MS;">' . $linhacabecalho3 . '</span></span><br /></td>
                            	<td align="center" valign="middle"><span style="font-size: small;"><b>Nº </b>' . $model->numero . "/" . $model->ano . '</span></td>
                        	</tr>
                        	<tr>
                            	<td rowspan="2" colspan="2" align="center" valign="middle"><span style="font-size: medium;"><b>RECIBO</b></span></td>
                            	<td align="center" valign="middle">
                                	<p><span style="font-size: small;"><b>3ª VIA</b> <span style="text-decoration: underline;">ARQUIVO</span></span></p>
                                	<p><span style="font-size: small;"><span style="text-decoration: underline;"><br /></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td align="center" valign="middle">
                                	<p><span style="text-decoration: underline;"><span style="font-size: medium;"><b>R$ ' . number_format($model->valor, 2, ',', '.') . '</b></span></span></p>
                                	<p><span style="text-decoration: underline;"><span style="font-size: medium;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="left" valign="middle">
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;">Recebemos de
                                            	<b>' . $model->cliente0->nome . '</b>, a importância supra de <b>' . $model->extenso($model->valor, true) . '</b> referente a <b>' . $model->tipo0->descricao . " " . $model->descricao . '.</b></span></span></p>
                                	<p><span style="font-family: times new roman,times;"><span style="font-size: small;"><b><br /></b></span></span></p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="right" valign="middle">
                                	<p>' . $model->data_extenso($model->datarecebimento) . '</p>
                            	</td>
                        	</tr>
                        	<tr>
                            	<td colspan="3" align="center" valign="middle">____________________________________________<br /> <address><span style="font-size: 9;"><span style="font-family: arial,helvetica,sans-serif;">
                                            	' . $linhafinal1 . '</span></span></address> <address><span style="font-size: 9;"><span style="font-family: arial,helvetica,sans-serif;">' . $linhafinal2 . '</span></span></address></td>
                        	</tr>
                    	</tbody>
                	</table>
            	<script type="text/javascript">
                	print();
            	</script>
        	</body>
        	</html>
                	';
    	echo $html; 
	}

No \recibo\views\recibo\view
<?php
$this->widget('ext.widgets.amenu.XActionMenu', array(
	'htmlOptions' => array('class' => 'actionBar'),
	'encodeLabel' => false,
	'items' => array(
    	array('label' => '<img src="' . Yii::app()->baseUrl . '/images/printer--arrow.png" /> Gerar Recibo', 'url' => array('print', 'id' => $model->idrcprecibo), 'linkOptions' => array('target' => '_blank')),
	),
));
?>

No admin também coloquei um button
<?php
$this->widget('zii.widgets.grid.CGridView', array(
	'id' => 'rcprecibo-grid',
	'dataProvider' => $model->search(),
	'filter' => $model,
	'pager' => array('cssFile' => Yii::app()->baseUrl . '/css/gridViewStyle/gridView.css'),
	'cssFile' => Yii::app()->baseUrl . '/css/gridViewStyle/gridView.css',
	'htmlOptions' => array('class' => 'grid-view rounded'),
	'columns' => array(
 	...................................
    	array(
        	'header' => 'Opções',
        	'class' => 'CButtonColumn',
        	'template' => '{view}{update}{delete}{print}',
        	'updateButtonLabel' => 'Editar o Recibo',
        	'viewButtonLabel' => 'Detalhes do Recibo',
        	'deleteButtonLabel' => 'Apagar Recibo',
        	'viewButtonImageUrl' => Yii::app()->baseUrl . '/css/gridViewStyle/images/' . 'gr-view.png',
        	'updateButtonImageUrl' => Yii::app()->baseUrl . '/css/gridViewStyle/images/' . 'gr-update.png',
        	'deleteButtonImageUrl' => Yii::app()->baseUrl . '/css/gridViewStyle/images/' . 'gr-delete.png',
        	'buttons' => array(
            	'print' => array(
                	'label' => 'Gerar e Imprimir Recibo',
                	'imageUrl' => Yii::app()->baseUrl . '/css/gridViewStyle/images/' . 'printer--arrow.png',
                	'url' => 'Yii::app()->createUrl("/rcprecibo/print", array("id" => $data->idrcprecibo))',
                	'options' => array('target' => '_blank'),
                	'click' => 'function(){if(confirm("Tem a certeza que deseja gerar o Recibo?"))alert("Obrigado! Após imprimir feche a guia de impressão.");else return false; }',
            	),
        	),
    	),
	),
)); ?>


Sei que pode estar um pouco grosseiro mais pra mim serviu bem...;D
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#23 User is offline   Hans Bonini 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 18
  • Joined: 21-July 11
  • Location:Ribeirão Preto, SP

Posted 27 February 2012 - 02:04 PM

Atualmente utilizo uma biblioteca em JQuery para desenhar os Relatórios...
http://raphaeljs.com/


Bem fácil, rapida e dinâmica de usar e atende as necessidades.

Caso queira trabalhar com outras, neste site tem algumas dicas:
http://www.1stwebdesigner.com/css/top-jquery-chart-libraries-interactive-charts/

Desenvolvedor e Sócio-Diretor na empresa Y Solutions.

Site: www.ysolutions.com.br
@ysolutions
0

#24 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 01 March 2012 - 05:43 AM

Amigos,
Como ja disse neste post anteriomente, tenho muitas dúvidas em relação a relatórios, porém com a ajuda dos amigos consegui gerar relatórios apartir do ID, até aí tudo bem, porém ainda não consigo gerar um relatório com varias informações de um determinado cliente, por exemplo:

Digamos que queira um relatório que possa visualizar todas as compras dos clientes de um determinado intervalo de tempo, intervalo esse que será passado pelo usuário, com subtotais de cada cliente e um total no final

Como posso fazer isto amigos, pode ser visualizado em html mesmo, como fiz anteriomente.

Desde já agradeço a todos.
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#25 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 01 March 2012 - 10:30 AM

View PostAdrian Lucas, on 01 March 2012 - 05:43 AM, said:

Amigos,
Como ja disse neste post anteriomente, tenho muitas dúvidas em relação a relatórios, porém com a ajuda dos amigos consegui gerar relatórios apartir do ID, até aí tudo bem, porém ainda não consigo gerar um relatório com varias informações de um determinado cliente, por exemplo:

Digamos que queira um relatório que possa visualizar todas as compras dos clientes de um determinado intervalo de tempo, intervalo esse que será passado pelo usuário, com subtotais de cada cliente e um total no final

Como posso fazer isto amigos, pode ser visualizado em html mesmo, como fiz anteriomente.

Desde já agradeço a todos.



Adrian,

Mais este relatório e simples, os relatórios dificeis são aqueles de mesclar diversas tabelas.

Faça uma página que retorna os dados, se quizer faz usando o Yii::app()->createCommand(), com linha de query padrão mesmo, e mostras os dados em tabela, sem formatação de estilo, faz tabela crua mesmo.

Depois disso, na mesma página depois que os resultados estiver mostrando, coloca a tabela em uma variável tipo $html = '<table>...', e exporta isso para PDF.

Ai depois de tudo funcionando, vai ajustando a tabela por parte e visualizando em PDF.

Se vai ver no final vai está montando um relatório bonito, para o cliente fazer download.
Newerton Vargas de Araújo
0

#26 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 01 March 2012 - 10:52 AM

View PostNewerton, on 17 February 2012 - 06:40 AM, said:

Adrian,

Segue abaixo o modelo básico para gerar PDF, faça o teste com qualquer página HTML, mais tem que ser um HTML básico, sem folha de estilo.

Pega o link de uma notícia ou qualquer item que você tem o action (VIEW), e gera o PDF dele.

Modelo:
class NoticiaController extends Controller {
	public function actionPdf(){
		$model = Noticia::model()->findByPk($_GET['id']);
		$html = $this->renderPartial('noticia/view', array('model' => $model), true);

		/* Diretorio que será salvo */
		$dir = dirname(__FILE__) . 'media/pdf/';

		/* Nome do arquivo */
		$file = time() . '.pdf';

		/* Importando a classe */
		Yii::import('application.extensions.mpdf.mpdf');
		$mpdf = new mpdf();
		$mpdf->WriteHTML($html);
		$mpdf->Output($dir . $file, 'F');
	}
}


Link modelo:
Yii::app()->createUrl('noticia/pdf', array('id' => 1))



Como sempre você me ajudando muito amigo Newerton. Desculpas pela ignorância, mais como poderia usar o Yii::app()->createCommand() neste exemplo que você me passou???
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#27 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 01 March 2012 - 09:49 PM

View PostAdrian Lucas, on 01 March 2012 - 05:43 AM, said:

...
Digamos que queira um relatório que possa visualizar todas as compras dos clientes de um determinado intervalo de tempo, intervalo esse que será passado pelo usuário, com subtotais de cada cliente e um total no final...


Adrian, vamos pegar seu exemplo acima.

Faz um:
$sql = "SELECT * FROM cliente cli 
JOIN cliente_pedido cp ON cli.codcliente = cp.codcliente 
JOIN pedido ped ON cp.codpedido = ped.codpedido 
JOIN produto prod ON ped.codproduto = prod.codproduto";

$conn = Yii::app()->createCommand()->execute()->queryAll();

echo '<table>';
echo '<tr>';
echo '<th>Produto</th>';
echo '</tr>';
foreach($conn as $row){
    echo '<tr>';
    echo '<td>'.$row['tituloProduto'].'</td>';
    echo '</tr>';
}
echo '</table>';


Você pode usar uma view de teste, somente para gerar uma tabela de dados, se ve que conseguiu acertar a tabela, ai você modifica para ajustar ao seu sistema.

Mais usa o createCommand() somente se estiver tendo dificuldade com relacionamento de tabelas.
Newerton Vargas de Araújo
0

#28 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 02 March 2012 - 02:29 PM

View PostNewerton, on 01 March 2012 - 09:49 PM, said:

Adrian, vamos pegar seu exemplo acima.

Faz um:
$sql = "SELECT * FROM cliente cli 
JOIN cliente_pedido cp ON cli.codcliente = cp.codcliente 
JOIN pedido ped ON cp.codpedido = ped.codpedido 
JOIN produto prod ON ped.codproduto = prod.codproduto";

$conn = Yii::app()->createCommand()->execute()->queryAll();

echo '<table>';
echo '<tr>';
echo '<th>Produto</th>';
echo '</tr>';
foreach($conn as $row){
    echo '<tr>';
    echo '<td>'.$row['tituloProduto'].'</td>';
    echo '</tr>';
}
echo '</table>';


Você pode usar uma view de teste, somente para gerar uma tabela de dados, se ve que conseguiu acertar a tabela, ai você modifica para ajustar ao seu sistema.

Mais usa o createCommand() somente se estiver tendo dificuldade com relacionamento de tabelas.


Newerton....Socorro...O que fiz de errado:blink:

	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';

    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf();
    	$mpdf->WriteHTML($html);

    	$sql = "SELECT * FROM cliente cli 
                	JOIN cliente_pedido cp ON cli.codcliente = cp.codcliente 
                	JOIN pedido ped ON cp.codpedido = ped.codpedido 
                	JOIN produto prod ON ped.codproduto = prod.codproduto";

    	$conn = Yii::app()->createCommand()->execute()->queryAll($sql);

    	echo '<table>';
    	echo '<tr>';
    	echo '<th>Produto</th>';
    	echo '</tr>';
    	foreach ($conn as $row) {
        	echo '<tr>';
        	echo '<td>' . $row['tituloProduto'] . '</td>';
        	echo '</tr>';
    	}
    	echo '</table>';
	}


O link no admim
<?php echo CHtml::link('Imprimir', array('/atualizar/print')); ?>


Aí quando clico aparece o erro

CWebApplication and its behaviors do not have a method or closure named "createCommand".  


:o
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#29 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 03 March 2012 - 09:08 AM

Esqueci de mencionar!

Coloca a variavel $sql dentro do createCommand()

$conn = Yii::app()->createCommand()->execute()->queryAll($sql);


Ao invés de dá echo na function, usa como váriavel.

        $html = '<table>';
        $html .= '<tr>';
        $html .= '<th>Produto</th>';
        $html .= '</tr>';
        foreach ($conn as $row) {
                $html .= '<tr>';
                $html .= '<td>' . $row['tituloProduto'] . '</td>';
                $html .= '</tr>';
        }
        $html .= '</table>';


        $mpdf->WriteHTML($html)

Ai você remove o WriteHTML() lá de cima.

Outra coisa que vi hehehe
Ta usando minha query SQL por que? Fiz de modelo, eu nen sei se está usando essas estrutura de tabela! hehehe
Newerton Vargas de Araújo
0

#30 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 05 March 2012 - 05:49 AM

View PostNewerton, on 03 March 2012 - 09:08 AM, said:

Esqueci de mencionar!

Coloca a variavel $sql dentro do createCommand()

$conn = Yii::app()->createCommand()->execute()->queryAll($sql);


Ao invés de dá echo na function, usa como váriavel.

        $html = '<table>';
        $html .= '<tr>';
        $html .= '<th>Produto</th>';
        $html .= '</tr>';
        foreach ($conn as $row) {
                $html .= '<tr>';
                $html .= '<td>' . $row['tituloProduto'] . '</td>';
                $html .= '</tr>';
        }
        $html .= '</table>';


        $mpdf->WriteHTML($html)

Ai você remove o WriteHTML() lá de cima.

Outra coisa que vi hehehe
Ta usando minha query SQL por que? Fiz de modelo, eu nen sei se está usando essas estrutura de tabela! hehehe


:rolleyes: Eu sei Newerton, coloquei esse seu exemplo só pra ficar mais fácil. Fiz da forma que você falou mais continua dando o mesmo erro;
	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';
    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf();
    	//$mpdf->WriteHTML($html);

    	$sql = "SELECT * FROM atualizar atual
        	JOIN colab col ON col.idcolab = att.colaborador
        	";

    	$conn = Yii::app()->createCommand()->execute()->queryAll($sql);

    	$html = '<table>';
    	$html .= '<tr>';
    	$html .= '<th>Colaboradores</th>';
    	$html .= '</tr>';
    	foreach ($conn as $row) {
        	$html .= '<tr>';
        	$html .= '<td>' . $row['Atualizações dos Colaboradores'] . '</td>';
        	$html .= '</tr>';
    	}
    	$html .= '</table>';


    	$mpdf->WriteHTML($html);
	}

E agora o que fiz de errado??:blink:
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#31 User is offline   Railton Nepomuceno 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 04-May 10
  • Location:Manaus

Posted 05 March 2012 - 06:42 AM

Adrian

Tenta usar essa extensao.

http://www.yiiframew...m/extension/pdf
Railton Nepomuceno
0

#32 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 05 March 2012 - 07:02 AM

View PostRailton Nepomuceno, on 05 March 2012 - 06:42 AM, said:

Adrian

Tenta usar essa extensao.

http://www.yiiframew...m/extension/pdf


Muito obrigado pela sua dica Railton, mais já estou usando o MPDF. O problema é que nunca fiz e não estou conseguindo imprimir um array, digamos assim, gostaria por exemplo de imprimir todas as atualizações de um determinado funcionário. Quando é pra imprimir dados pelo ID fica perfeito, agora quando preciso gerar um arquivo que me dê subtotais aí o bicho pegar.

Como nunca fiz isto, estou com dificuldades.
Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#33 User is offline   Railton Nepomuceno 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 04-May 10
  • Location:Manaus

Posted 05 March 2012 - 10:15 AM

No controler vai montando todos os dados que voce quer e repassa pra view

Tipo um que fiz, que e uma assembleia, cada assembleia tem varias enquetes, e cada enquete tem n respostas
Fiz as querys e repassei pra view
array('assembleia'=>$assembleia,'enquete'=>$enquete,'alternativas'=>$alternativas);

e na view você monta da forma que você quiser os dados.

Railton

View PostAdrian Lucas, on 05 March 2012 - 07:02 AM, said:

Muito obrigado pela sua dica Railton, mais já estou usando o MPDF. O problema é que nunca fiz e não estou conseguindo imprimir um array, digamos assim, gostaria por exemplo de imprimir todas as atualizações de um determinado funcionário. Quando é pra imprimir dados pelo ID fica perfeito, agora quando preciso gerar um arquivo que me dê subtotais aí o bicho pegar.

Como nunca fiz isto, estou com dificuldades.

Railton Nepomuceno
0

#34 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 05 March 2012 - 11:38 AM

View PostAdrian Lucas, on 05 March 2012 - 05:49 AM, said:

	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';
    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf();
    	//$mpdf->WriteHTML($html);

    	$sql = "SELECT * FROM atualizar atual
        	JOIN colab col ON col.idcolab = att.colaborador
        	";

    	$conn = Yii::app()->createCommand()->execute()->queryAll($sql);

    	$html = '<table>';
    	$html .= '<tr>';
    	$html .= '<th>Colaboradores</th>';
    	$html .= '</tr>';
    	foreach ($conn as $row) {
        	$html .= '<tr>';
        	$html .= '<td>' . $row['Atualizações dos Colaboradores'] . '</td>';
        	$html .= '</tr>';
    	}
    	$html .= '</table>';


    	$mpdf->WriteHTML($html);
	}




Muda o a linha:
$conn = Yii::app()->createCommand()->execute()->queryAll($sql);


para:
$conn = Yii::app()->createCommand($sql)->execute()->queryAll();


E abaixo do WriteHTML(), coloca o Output():
$mpdf->Output($file,'D');

Newerton Vargas de Araújo
0

#35 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 05 March 2012 - 11:51 AM

View PostNewerton, on 05 March 2012 - 11:38 AM, said:

Muda o a linha:
$conn = Yii::app()->createCommand()->execute()->queryAll($sql);


para:
$conn = Yii::app()->createCommand($sql)->execute()->queryAll();


E abaixo do WriteHTML(), coloca o Output():
$mpdf->Output($file,'D');



Newerton,
Ainda o mesmo problema
CWebApplication and its behaviors do not have a method or closure named "createCommand".	


	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';
    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf();
    	//$mpdf->WriteHTML($html);

    	$sql = "SELECT * FROM atualizar atual
        	JOIN colab col ON col.idcolab = att.colaborador
        	";

    	$conn = Yii::app()->createCommand($sql)->execute()->queryAll();

    	$html = '<table>';
    	$html .= '<tr>';
    	$html .= '<th>Colaboradores</th>';
    	$html .= '</tr>';
    	foreach ($conn as $row) {
        	$html .= '<tr>';
        	$html .= '<td>' . $row['Atualizações dos Colaboradores'] . '</td>';
        	$html .= '</tr>';
    	}
    	$html .= '</table>';

    	$mpdf->WriteHTML($html);
    	$mpdf->Output($file,'D');
	}

Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#36 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 06 March 2012 - 02:57 PM

Errei na instrução, corrigi ae:
$conn = Yii::app()->db->createCommand($sql)->execute()->queryAll();


Falto a conexão com o banco de dados.
Newerton Vargas de Araújo
0

#37 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 06 March 2012 - 03:15 PM

View PostNewerton, on 06 March 2012 - 02:57 PM, said:

Errei na instrução, corrigi ae:
$conn = Yii::app()->db->createCommand($sql)->execute()->queryAll();


Falto a conexão com o banco de dados.


Amigo,
Agora mostrou o erro
Fatal error:  Call to a member function queryAll() on a non-object in C:\wamp\www\ControleCTPS\protected\controllers\AtualizarController.php on line 298


justamente na linha

$conn = Yii::app()->db->createCommand($sql)->execute()->queryAll();

Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#38 User is offline   Newerton 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 727
  • Joined: 27-April 10
  • Location:Campo Grande/MS - Cambé/PR, Brasil

Posted 06 March 2012 - 04:22 PM

View PostAdrian Lucas, on 06 March 2012 - 03:15 PM, said:

Amigo,
Agora mostrou o erro
Fatal error:  Call to a member function queryAll() on a non-object in C:\wamp\www\ControleCTPS\protected\controllers\AtualizarController.php on line 298


justamente na linha

$conn = Yii::app()->db->createCommand($sql)->execute()->queryAll();



Remove o execute()
$conn = Yii::app()->db->createCommand($sql)->queryAll();


Ref.: http://www.yiiframew...g-query-results
Newerton Vargas de Araújo
0

#39 User is offline   Adrian Lucas 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 189
  • Joined: 13-October 11
  • Location:João Pessoa - Paraíba

Posted 07 March 2012 - 06:02 AM

View PostNewerton, on 06 March 2012 - 04:22 PM, said:

Remove o execute()
$conn = Yii::app()->db->createCommand($sql)->queryAll();


Ref.: http://www.yiiframew...g-query-results


Agora rodou amigo, porém, ela só mostra o título e pronto. Testei a query no sql-front e rodou perfeita. Qual o prob agora??:unsure:
	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';
    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf(); 
    	
    	$sql = "SELECT colaborador, statusAtualizacao FROM atualizar";

    	$conn = Yii::app()->db->createCommand($sql)->queryAll();

    	$html = '<table>';
    	$html .= '<tr>';
    	$html .= '<th><h1>Colaboradores</h1></th>'; // Só mostra o título
    	$html .= '</tr>';
    	foreach ($conn as $row) {
        	$html .= '<tr>';
        	$html .= '<td>' . $row['Atualizações dos Colaboradores'] . '</td>';
        	$html .= '</tr>';
    	}    	
    	$html .= '</table>';
    	echo $html;
    	/*$mpdf->WriteHTML($html);
    	$mpdf->Output($file,'D');*/
	}

Adrian Lucas
A fé em Deus nos faz crer no incrível,
ver o invisível e realizar o impossível.

0

#40 User is offline   Railton Nepomuceno 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 04-May 10
  • Location:Manaus

Posted 07 March 2012 - 06:32 AM

Veja se o problema e este campo
$row['Atualizações dos Colaboradores']

Veja se o nome no banco e esse mesmo, se for muda pra um nome sem espaços.

Railton

View PostAdrian Lucas, on 07 March 2012 - 06:02 AM, said:

Agora rodou amigo, porém, ela só mostra o título e pronto. Testei a query no sql-front e rodou perfeita. Qual o prob agora??:unsure:
	public function actionPrint() {

    	$dir = dirname(__FILE__) . '/pdf/';
    	/* Nome do arquivo */
    	$file = time() . '.pdf';
    	/* Importando a classe */
    	Yii::import('application.extensions.mpdf.mpdf');
    	$mpdf = new mpdf(); 
    	
    	$sql = "SELECT colaborador, statusAtualizacao FROM atualizar";

    	$conn = Yii::app()->db->createCommand($sql)->queryAll();

    	$html = '<table>';
    	$html .= '<tr>';
    	$html .= '<th><h1>Colaboradores</h1></th>'; // Só mostra o título
    	$html .= '</tr>';
    	foreach ($conn as $row) {
        	$html .= '<tr>';
        	$html .= '<td>' . $row['Atualizações dos Colaboradores'] . '</td>';
        	$html .= '</tr>';
    	}    	
    	$html .= '</table>';
    	echo $html;
    	/*$mpdf->WriteHTML($html);
    	$mpdf->Output($file,'D');*/
	}


Railton Nepomuceno
0

Share this topic:


  • (4 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users