$clitbinome->incluir($it03_seq);
                if ($clitbinome->erro_status == '0') {
                    $erro = "Outros proprietarios itbinome : " . $clitbinome->erro_msg;
                    $sqlerro = true;
                }
                $clitbinomecgm->it21_itbinome = $clitbinome->it03_seq;
                $clitbinomecgm->it21_numcgm = $z01_numcgm;
                $clitbinomecgm->incluir($it21_sequencial);
                if (isset($clitbinomecgm->erro_status) && $clitbinomecgm->erro_status == 0) {
                    $erro = "Outros proprietarios itbinomecgm : " . $clitbinomecgm->erro_msg;
                    $sqlerro = true;
                }
            }
        }
        // fim da transação.... se tiver ok mostra a msg e chama a outra tela
        db_fim_transacao($sqlerro);
        if ($sqlerro == false) {
            $codigo = $clitbi->it01_guia;
            msgbox("ITBI {$codigo} incluida com sucesso");
            session_register("itbi");
            $_SESSION["itbi"] = $codigo;
            echo "\n\t\t\t<script>\n           \t\tparent.document.form1.disabilitado.value='nao';\n\t\t\t\tlocation.href = 'itbi_dadosimovel.php';\n\t\t\t\tparent.trocacor('2');\n\t\t\t</script>\n\t\t";
        }
    }
}
//fim do incluir
if (isset($incluir)) {
    if ($incluir == "Alterar") {
        $clitbi->it01_guia = $cod;
        $clitbi->it01_tipotransacao = $it01_tipotransacao;
        $clitbi->it01_areaterreno = $it01_areaterreno;
 /**
  * Cria L.O. Vazio no Banco de dados e retorna se OID 
  * @param integer $lTemTransacaoAtiva
  */
 public static function criaOID($lTemTransacaoAtiva = false)
 {
     global $conn;
     if (!$lTemTransacaoAtiva) {
         db_inicio_transacao();
     }
     $iOidGerado = pg_lo_create($conn);
     if (!$lTemTransacaoAtiva) {
         db_fim_transacao();
     }
     return $iOidGerado;
 }
function db_anulaPlanilha($planilha, $motivo, $ip)
{
    $clissplananula = new cl_issplananula();
    $clissplan = new cl_issplan();
    $clarrecad = new cl_arrecad();
    $clcancdebitos = new cl_cancdebitos();
    $data = date("Y-m-d");
    $hora = date("H:i");
    $usuario = db_getsession("id");
    if ($usuario == "") {
        $usuario = 1;
    }
    $sql = "select * from issplan where q20_planilha = {$planilha}";
    $result = pg_query($sql);
    $linhas = pg_num_rows($result);
    if ($linhas > 0) {
        $q20_numpre = pg_result($result, 0, "q20_numpre");
    }
    $sqlerro = false;
    db_inicio_transacao();
    //gravar na issplananula: os dados da anulação
    $clissplananula->q76_planilha = $planilha;
    $clissplananula->q76_data = $data;
    $clissplananula->q76_hora = $hora;
    $clissplananula->q76_motivo = "Planilha anulada DBPref. " . $motivo;
    $clissplananula->q76_ip = $ip;
    $clissplananula->q76_id_usuario = $usuario;
    $clissplananula->incluir(null);
    if ($clissplananula->erro_status == 0) {
        $sqlerro = true;
        //die($clissplananula->erro_sql);
        $erro_msg = $clissplananula->erro_msg;
    }
    //alterar a situação da issplan para anulada
    $clissplan->q20_planilha = $planilha;
    $clissplan->q20_situacao = 5;
    $clissplan->alterar($planilha);
    if ($clissplan->erro_status == 0) {
        $sqlerro = true;
        $erro_msg = $clissplan->erro_msg;
    }
    if ($q20_numpre > 0) {
        //gravar na cancdebitos, cancdebitosreg, cancdebitosproc, cancdebitosprocreg
        $sqltipo = "select w10_tipo from db_confplan ";
        $resulttipo = pg_query($sqltipo);
        $linhastipo = pg_num_rows($resulttipo);
        if ($linhastipo > 0) {
            //db_fieldsmemory($resulttipo,0);
            $w10_tipo = pg_result($resulttipo, 0, "w10_tipo");
        } else {
            $sqlerro = true;
            $erro_msg = "Deve-se configurar a planilha (db_confplan)";
        }
        $clcancdebitos->k20_descr = "anulação de planilha no dbpref.";
        $clcancdebitos->k20_hora = $hora;
        $clcancdebitos->k20_data = $data;
        $clcancdebitos->k20_usuario = $usuario;
        $clcancdebitos->k20_instit = db_getsession("DB_instit");
        $clcancdebitos->numpre = $q20_numpre;
        $clcancdebitos->numpar = 1;
        $clcancdebitos->k21_obs = "Planilha anulada DBPref. " . $motivo;
        $clcancdebitos->usuario = $usuario;
        $clcancdebitos->tipo = $w10_tipo;
        $clcancdebitos->planilha = $planilha;
        $clcancdebitos->incluir_cancelamento(true);
        if ($clcancdebitos->erro_status == "0") {
            $sqlerro = true;
            $erro_msg = $clcancdebitos->erro_msg;
        }
        //grava na cancdebitosissplan
        //deletar da arrecad e gravar na arrecant
        $clarrecad->excluir_arrecad_inc_arrecant($q20_numpre, 1, true);
        if ($clarrecad->erro_status == 0) {
            $sqlerro = true;
            $erro_msg = $clarrecad->erro_msg;
        }
    }
    db_fim_transacao($sqlerro);
    return $sqlerro;
}
        	$mes = date("m");
        	$ano = date("Y");
        	$dia = date("d");
        	$ins= $inscricaow;
        	$cnpj ="$z01_cgccpf";
        	$nros = $ano . $mes . $dia . $codigo . $ins . $cnpj ;
        	$t1 = strrev($nros);
        	$cod= md5($t1);
        */
        $cl_aidofweb->y07_aidof = $claidof->y08_codigo;
        $cl_aidofweb->y07_ip = $ip;
        $cl_aidofweb->y07_data = $dataat;
        $cl_aidofweb->y07_hora = $hora;
        //$cl_aidofweb->y07_codautenticidade = $cod;
        $cl_aidofweb->incluir(null);
        db_fim_transacao();
        //echo "<script>jan = window.open('aidof.php?".base64_encode('codigo='.$codigo.'&inscricao='.$inscricaow.'&grafica='.$numgrafica.'&nota='.$nomenota)."','','height=500,width=650,scrollbars=1');</script>";
        echo "<script>jan = window.open('aidof.php?codigo={$codigo}&inscricao={$inscricaow}&grafica={$numgrafica}&nota={$nomenota}','','height=500,width=650,scrollbars=1');</script>";
        db_redireciona("digitaaidof.php");
    }
}
// acaba o gravar
//verifica se contribuinte possui pedido aberto
?>
<html>
<head>
<title><?php 
echo $w01_titulo;
?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 /**
  * Funçao que retorna o número + 1 do ultimo alvará cadastrado para evitar descontinuidade na sequence.
  * O numero estará armazenado na tabela de parâmetro issbasenumeracao
  * No momento da chamada da função esse número será atualizado para o próximo (q133_numeracaoatual + 1)
  * e atribuido a váriavel q02_inscr da classe
  *
  * @return boolean
  */
 function getNumeroContinuo()
 {
     $lTransacaoInterna = false;
     $lErro = false;
     if (!db_utils::inTransaction()) {
         $lTransacaoInterna = true;
         db_inicio_transacao();
     }
     $sUpdate = "update issbasenumeracao \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
     $sUpdate .= "   set q133_numeracaoatual = q133_numeracaoatual + 1 ";
     if (db_query($sUpdate)) {
         $sSql = "select q133_numeracaoatual       ";
         $sSql .= "  from issbasenumeracao \t\t\t   ";
         $sSql .= " order by q133_sequencial desc   ";
         $sSql .= " limit 1\t\t\t\t\t\t\t\t\t\t\t   ";
         $rsNumeroContinuo = db_query($sSql);
         if ($rsNumeroContinuo and pg_num_rows($rsNumeroContinuo) > 0) {
             $this->q02_inscr = db_utils::fieldsMemory($rsNumeroContinuo, 0)->q133_numeracaoatual;
         } else {
             $lErro = true;
         }
     }
     if ($lTransacaoInterna) {
         db_fim_transacao($lErro);
     }
     if (!$lErro) {
         if (!db_query("select setval('issbase_q02_inscr_seq', {$this->q02_inscr})")) {
             return false;
         }
         return true;
     } else {
         return false;
     }
 }
        $oNotaRetencao->setDataOperacao(new DBDate(date('Y-m-d', db_getsession('DB_datausu'))));
        $oNotaRetencao->setHoraOperacao(db_hora());
        $oNotaRetencao->setTipoLancamento(NotaPlanilhaRetencao::SERVICO_TOMADO);
        $oNotaRetencao->setNome("");
        $oNotaRetencao->setRetido(true);
        $oNotaRetencao->setStatus(NotaPlanilhaRetencao::STATUS_ATIVO);
        $oNotaRetencao->setSituacao('0');
        // 0 - Normal | 1 - cancelado
        $oNotaRetencao->setDataNota(new DBDate($oPlanilhaRetencao->getDataPlanilha()));
        $oNotaRetencao->setCNPJ($oLinha->cpf_cnpj_prestador);
        $oNotaRetencao->setSerie($oLinha->serie_nota);
        $oNotaRetencao->setNome(substr($oLinha->nome_razao_social, 0, 40));
        $oNotaRetencao->setNumeroNota($oLinha->numero_nota);
        $oNotaRetencao->setValorServico($oLinha->valor_servico);
        $oNotaRetencao->setValorRetencao($oLinha->valor_imposto);
        $oNotaRetencao->setAliquota($oLinha->aliquota);
        $oNotaRetencao->setValorDeducao($oLinha->valor_deducao);
        $oNotaRetencao->setValorBase($oLinha->valor_base);
        $oNotaRetencao->setValorImposto($oLinha->valor_imposto);
        $oNotaRetencao->setDescricaoServico("Recolhimento de retencao");
        $oNotaRetencao->setObservacoes("Realizado via importaçao de arquivo no DBPREF");
        $oPlanilhaRetencao->adicionarNota($oNotaRetencao);
    }
    db_fim_transacao(false);
    db_msgbox('Importação efetuada com sucesso.');
    db_redireciona("planilha.php?nomecontri=&mostra=5&fonecontri=&inscricaow={$oPost->inscricaow}&mesx=&mes={$iMesUsu}&ano={$iAnoUsu}&numcgm={$oValidaDados->q02_numcgm}");
} catch (Exception $oErro) {
    db_fim_transacao(true);
    db_msgbox($oErro->getMessage());
    db_redireciona('iss4_importaplanilharetencao001.php');
}