SC 7.01.0021
Banco Sql 2008 R2
Esse aplicação ira gerar um relatorio em PDF das empresas selecionadas com aproximadamente 150 paginas.
Abre-se um grid onde o usuario ira selecionar as empresas que quer imprimir e num botão RUN executara a rotina
Criei uma classe ( na opção biblioteca) com base em uma que eu encontrei no site http://www.fpdf.org (Multi-columns) e adaptei para o que eu queria.
Em um Blank eu chamo a classe.
Se eu colocar o sc_select apresenta o erro acima.
Obs.:
- Basta simplesmente colocar o comando.
- Antes eu estava usando sc_select() sem problema, depois que eu coloquei
.
.
.
sc_select(Socios,$SqlSocio);
while (!$Socios->EOF)
{
.
.
.
passou a dar a mensagem.
depois disso só funciona se retirar todos os
sc_select
$pdf = new PDF();
$Sql=“SELECT
Contratos.Codigo_do_contrato,
Contratos.Nome,
Contratos.Cnpj,
Cidade.Nome AS NomeCidade,
Contratos.Bairro,
Contratos.Endereco,
Contratos.CEP
FROM
Contratos INNER JOIN
Cidade ON
Contratos.Id_cidade = Cidade.Id_cidade
WHERE
(Contratos.Codigo_do_contrato = 1)”;
sc_select(meus_dados,$Sql);
$CodigoPessoaJuridica = $meus_dados->fields[0];
$PessoaJuridica = $meus_dados->fields[1];
$CNPJ = $meus_dados->fields[2];
$NomeCidade = $meus_dados->fields[3];
$Bairro = $meus_dados->fields[4];
$Endereco = $meus_dados->fields[5];
$CEP = $meus_dados->fields[6];
$Documentos = “SELECT
Id_documento,
Descricao,
Texto_padrao
FROM
Documentos_pradroes”;
sc_select(TextoPadrao,$Documentos);
$RECIBO = $TextoPadrao->fields[2];
$TextoPadrao->MoveNext();
$DECLARACAO_SOCIO = $TextoPadrao->fields[2];
$TextoPadrao->MoveNext();
$DECLARACAO_EMPRESA = $TextoPadrao->fields[2];
//DeclaraçãoIsençao INSS
$SqlSocio = "SELECT
PHPValorGuia.NomeProfissional,
Profissional.Cpf,
Profissional.Numero_rg,
PHPValorGuia.Numerocontrato
FROM
PHPValorGuia INNER JOIN
Profissional ON
PHPValorGuia.CodigoProfissional = Profissional.Codigo_do_profissional
WHERE
(PHPValorGuia.CodigoPessoaJuridica = " .$CodigoPessoaJuridica. “)
GROUP BY
PHPValorGuia.NomeProfissional,
Profissional.Cpf,
Profissional.Numero_rg,
PHPValorGuia.Numerocontrato”;
sc_select(Socios,$SqlSocio);
while (!$Socios->EOF)
{
$Imprime_Declaracao = $DECLARACAO_SOCIO ;
//SOCIO
$Imprime_Declaracao = str_replace(’@NomeSocio’,$Socios->fields[0],$Imprime_Declaracao);
//RG SOCIO
$Imprime_Declaracao = str_replace(’@NumeroRG’,$Socios->fields[2],$Imprime_Declaracao);
//Cpf Socio
$Imprime_Declaracao = str_replace(’@NumeroCPF’,$Socios->fields[1],$Imprime_Declaracao);
//Socio
$Imprime_Declaracao = str_replace(’@NomeEmpresa’,$PessoaJuridica ,$Imprime_Declaracao);
//CNPJ EMPRESA
$Imprime_Declaracao = str_replace(’@CNPJContratada’,$CNPJ,$Imprime_Declaracao);
//Numero do contrato
$Imprime_Declaracao = str_replace(’@NumeroContrato’,$Socios->fields[3],$Imprime_Declaracao);
//Qual Instituto
$Imprime_Declaracao = str_replace(’@NomeContratante’,[vgDescricao_empresa],$Imprime_Declaracao);
//@CNPJContratante
$pdf->PrintChapter(1, $CodigoPessoaJuridica,
$PessoaJuridica,
$CNPJ,
$NomeCidade,
$Bairro,
$Endereco,
$CEP,
'DECLARAÇÃO',
$Imprime_Declaracao);
$Socios->MoveNext();
}
$pdf->Output();
//Class
<?php require_once($this->Ini->path_third."/fpdf/fpdf.php"); class PDF extends FPDF { function Header() { $title='-'; // Arial bold 15 $this->SetFont('Arial','B',15); // Calculate width of title and position $w = $this->GetStringWidth($title)+6; $this->SetX((210-$w)/2); // Colors of frame, background and text $this->SetDrawColor(0,80,180); $this->SetFillColor(230,230,0); $this->SetTextColor(220,50,50); // Thickness of frame (1 mm) $this->SetLineWidth(1); // Title $this->Cell($w,9,$title,1,1,'C',true); // Line break $this->Ln(10); } function ChapterTitle($lblNum, $lblCodigoPessoaJuridica, $lblPessoaJuridica, $lblCNPJ, $lblNomeCidade, $lblBairro, $lblEndereco, $lblCEP) { $this->SetFont('Arial','B',15); $w = $this->GetStringWidth($lblPessoaJuridica)+6; // Calculate width of title and position $this->SetX((210-$w)/2); $this->SetFillColor(200,220,255); $this->Cell($w,9,$lblPessoaJuridica,0,1,'C',true); // Title $Texto = $lblNomeCidade .' - ' . $lblBairro .' - ' . $lblEndereco; $w = $this->GetStringWidth($Texto)+6; $this->SetX((210-$w)/2); $this->SetFillColor(200,220,255); $this->Cell($w,9,$Texto,0,1,'C',true); $Texto = 'CNPJ.: ' . $lblCNPJ .' - C.E.P.:' . $lblCEP; $w = $this->GetStringWidth($Texto)+6; $this->SetX((210-$w)/2); $this->SetFillColor(200,220,255); $this->Cell($w,9,$Texto,0,1,'C',true); // Arial 12 $this->SetFont('Arial','',12); // Background color $this->SetFillColor(200,220,255); // Title $this->Cell(0,0," ",1,1,'L',true); $this->SetFont('Arial','B',12); // Line break $this->Ln(20); } function ChapterBody($lblTitulo, $txt) { // Read text file //$txt = $file; $this->SetFont('Times','',14); $this->Cell(0,9,$lblTitulo,1,1,'C',true); $this->Ln(20); // Times 12 $this->SetFont('Times','',12); // Output justified text $this->MultiCell(0,5,$txt); // Line break $this->Ln(); // Mention in italics $this->SetFont('','I'); $this->Cell(0,5,'(end of excerpt)'); } function PrintChapter($num,$CodigoPessoaJuridica, $PessoaJuridica, $CNPJ, $NomeCidade, $Bairro, $Endereco, $CEP, $Titulo, $file) { $this->AddPage(); $this->ChapterTitle($num, $CodigoPessoaJuridica, $PessoaJuridica, $CNPJ, $NomeCidade, $Bairro, $Endereco, $CEP); $this->ChapterBody($Titulo, $file); } // fim da class } ?>