private function geraLinhaBarra($iNumpre, $iNumpar, $sValor, $sVlrbar, $dDataVenc, $iTercDig)
 {
     $sDataVencimento = str_replace("-", "", $dDataVenc);
     if ($this->iModalidadeConvenio == 1) {
         $sSqlFichaCompensacao = "select * \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t                ";
         $sSqlFichaCompensacao .= "  from fc_fichacompensacao( {$this->iCodConvenio},\t\t\t  ";
         $sSqlFichaCompensacao .= " \t\t\t\t             \t\t    {$iNumpre},\t\t\t\t\t\t\t\t\t\t";
         $sSqlFichaCompensacao .= " \t\t\t\t\t            \t    {$iNumpar},\t\t\t\t\t\t\t\t\t\t";
         $sSqlFichaCompensacao .= " \t\t\t\t\t\t               '{$dDataVenc}',\t\t\t\t\t  \t\t";
         $sSqlFichaCompensacao .= " \t\t\t\t\t\t                {$sValor})\t\t\t\t\t\t\t\t\t\t";
         $rsFichaCompensacao = pg_query($sSqlFichaCompensacao);
         $oFichaCompensacao = db_utils::fieldsMemory($rsFichaCompensacao, 0);
         if ($oFichaCompensacao->erro == 'f') {
             $this->sCodigoBarra = $oFichaCompensacao->codigobarras;
             $this->sLinhaDigitavel = $oFichaCompensacao->linhadigitavel;
             $this->sNossoNumero = $oFichaCompensacao->nossonumero;
             $this->sCampoLivre = $oFichaCompensacao->campolivre;
         } else {
             throw new Exception($oFichaCompensacao->mensagem);
         }
     } else {
         if ($this->iModalidadeConvenio == 2) {
             if ($this->iFormatoVenc == 1) {
                 $sVencBar = $sDataVencimento . '000000';
             } else {
                 if ($this->iFormatoVenc == 2) {
                     $sDataVencimento = substr($sDataVencimento, 6, 2) . substr($sDataVencimento, 4, 2) . substr($sDataVencimento, 2, 2);
                     $sVencBar = $sDataVencimento . '00000000';
                 }
             }
             $sInibar = "8" . $this->sSegmento . $iTercDig;
             $iNumpre = db_numpre($iNumpre, 0) . db_formatar($iNumpar, 's', "0", 3, "e");
             $sSqlFebraban = " select fc_febraban('{$sInibar}'||'{$sVlrbar}'||'" . $this->sConvenioArrecadacao . "'||'" . $sVencBar . "'||'{$iNumpre}')";
             $rsFebraban = pg_query($sSqlFebraban);
             $oFebraban = db_utils::fieldsMemory($rsFebraban, 0);
             if ($oFebraban->fc_febraban == "") {
                 throw new Exception("Erro ao gerar código de barras(2)");
             }
             $this->sCodigoBarra = substr($oFebraban->fc_febraban, 0, strpos($oFebraban->fc_febraban, ','));
             $this->sLinhaDigitavel = substr($oFebraban->fc_febraban, strpos($oFebraban->fc_febraban, ',') + 1);
         } else {
             $this->sCodigoBarra = str_pad($iNumpre, 8, '0', STR_PAD_LEFT) . str_pad($iNumpar, 3, '0', STR_PAD_LEFT);
             $this->sLinhaDigitavel = str_pad($iNumpre, 8, '0', STR_PAD_LEFT) . str_pad($iNumpar, 3, '0', STR_PAD_LEFT);
         }
     }
     /*
      * Verificamos se o numpre é um numpre de recibo
      * Se a condição for verdadeira, inserimos registro do numpre, código de barra e linha digitavel na tabela recibocodbar 
      */
     $sSqlRecibo = "select 1                       ";
     $sSqlRecibo .= "  from recibopaga              ";
     $sSqlRecibo .= " where k00_numnov = {$iNumpre} ";
     $sSqlRecibo .= " union                         ";
     $sSqlRecibo .= "select 1                       ";
     $sSqlRecibo .= "  from recibo                  ";
     $sSqlRecibo .= " where k00_numpre = {$iNumpre} ";
     $rsRecibo = db_query($sSqlRecibo);
     if (pg_num_rows($rsRecibo) > 0) {
         $rsVerificaExistenciaTabela = db_query("select * from pg_class where relname = 'recibocodbar' and relkind = 'r'");
         if (pg_num_rows($rsVerificaExistenciaTabela) > 0) {
             $oDaoReciboCodBar = db_utils::getDao("recibocodbar");
             $oDaoReciboCodBar->k00_numpre = $iNumpre;
             $oDaoReciboCodBar->k00_codbar = $this->sCodigoBarra;
             $oDaoReciboCodBar->k00_linhadigitavel = $this->sLinhaDigitavel;
             $oDaoReciboCodBar->incluir($iNumpre);
             if ($oDaoReciboCodBar->erro_status == "0") {
                 $sMsgErro = "Erro ao incluir registros do numpre na tabela recibocodbar.\\n\\n";
                 $sMsgErro .= "Erro da Classe:\\n";
                 $sMsgErro .= "{$oDaoReciboCodBar->erro_msg}";
                 throw new Exception($sMsgErro);
             }
         }
     }
 }
        if (!empty($HTTP_POST_VARS["ver_numcgm"])) {
            $numero = $HTTP_POST_VARS["ver_numcgm"];
            $Identificacao = pg_query("select z01_nome,z01_cgccpf,z01_ender,z01_munic,z01_uf,z01_cep,''::bpchar as nomepri,''::bpchar as j39_compl,''::bpchar as j39_numero,z01_bairro as j13_descr, '' as sql\n                            from cgm\n                            where z01_numcgm = " . $HTTP_POST_VARS["ver_numcgm"]);
            db_fieldsmemory($Identificacao, 0);
            $tipo_chave = "Numcgm";
        } else {
            if (isset($emite_recibo_protocolo)) {
                $Identificacao = pg_query("\n            select cgm.z01_nome,cgm.z01_ender,cgm.z01_munic,cgm.z01_uf,cgm.z01_cep,' ' as nomepri,' ' as j39_compl, ' ' as j39_numero, ' ' as j13_descr, '' as sql\n            from recibo r\n                 inner join cgm c on c.z01_numcgm = r.k00_numcgm\n                       where r.k00_numpre = " . $k03_numpre . "\n            limit 1");
                db_fieldsmemory($Identificacao, 0);
            }
        }
    }
}
$Observacoes = pg_query($conn, "select mens,alinhamento from db_confmensagem where cod in('obsboleto1','obsboleto2','obsboleto3','obsboleto4')");
$db_vlrbar = db_formatar(str_replace('.', '', str_pad(number_format($total_recibo, 2, "", "."), 11, "0", STR_PAD_LEFT)), 's', '0', 11, 'e');
$db_numpre = db_numpre($k03_numpre) . '000';
global $pdf;
$pdf = new scpdf();
$pdf->Open();
global $pdf;
$pdf1 = $oRegraEmissao->getObjPdf();
try {
    $oConvenio = new convenio($oRegraEmissao->getConvenio(), $k03_numpre, 0, $total_recibo, $db_vlrbar, $datavencimento, '6');
} catch (Exception $eExeption) {
    db_redireciona("db_erros.php?fechar=true&db_erro={$eExeption->getMessage()}");
    exit;
}
$codigobarras = $oConvenio->getCodigoBarra();
$linhadigitavel = $oConvenio->getLinhaDigitavel();
$pdf1->tipo_convenio = $oConvenio->getTipoConvenio();
if (strlen(trim($oConvenio->getConvenioCobranca())) == 7) {
     $pdf1->datacalc = $k00_dtvenc;
     $pdf1->predatacalc = $k00_dtvenc;
     $pdf1->confirmdtpag = 't';
 }
 $pdf1->descr6 = $k00_dtvenc;
 $pdf1->predescr6 = $k00_dtvenc;
 $pdf1->titulo8 = $descr;
 $pdf1->pretitulo8 = $descr;
 $pdf1->descr8 = $iNumeroOrigem;
 $pdf1->predescr8 = $iNumeroOrigem;
 if ($recibopaga == false) {
     $pdf1->descr9 = db_numpre($k00_numpre, 0) . db_formatar($k00_numpar, 's', "0", 3, "e");
     $pdf1->predescr9 = db_numpre($k00_numpre, 0) . db_formatar($k00_numpar, 's', "0", 3, "e");
 } else {
     $pdf1->descr9 = db_numpre($k03_numpre, 0) . db_formatar(0, 's', "0", 3, "e");
     $pdf1->predescr9 = db_numpre($k03_numpre, 0) . db_formatar(0, 's', "0", 3, "e");
 }
 $pdf1->descr10 = $k00_numpar . ' / ' . $k00_numtot;
 $pdf1->descr14 = $k00_dtvenc;
 if ($total == 0) {
     //////////// ISSQN VARIAVEL ///////////
     if ($k03_tipo == 3) {
         $sqlaliq = "select q05_aliq,q05_ano from issvar where q05_numpre = {$k00_numpre} and q05_numpar = {$k00_numpar}";
         $rsIssvarano = db_query($sqlaliq);
         $intNumrows = pg_numrows($rsIssvarano);
         if ($intNumrows == 0) {
             db_redireciona('db_erros.php?fechar=true&db_erro=Ano não encontrado na tabela issvar. Contate o suporte');
             exit;
         }
         db_fieldsmemory($rsIssvarano, 0);
         $pdf1->descr4_1 = $k00_numpar . 'a PARCELA   -   Alíquota ' . $q05_aliq . '%     EXERCÍCIO : ' . $q05_ano;