*                                licenca/licenca_pt.txt 
 */
session_start();
include "libs/db_stdlib.php";
include "libs/db_sql.php";
include "dbforms/db_funcoes.php";
include "classes/db_arrecant_classe.php";
include "classes/db_cancdebitos_classe.php";
include "classes/db_cancdebitosreg_classe.php";
include "classes/db_cancdebitosproc_classe.php";
include "classes/db_cancdebitosprocreg_classe.php";
include "classes/db_issvarsemmov_classe.php";
include "classes/db_issvarsemmovreg_classe.php";
db_postmemory($HTTP_POST_VARS);
$clarrecant = new cl_arrecant();
$clcancdebitos = new cl_cancdebitos();
$clcancdebitosreg = new cl_cancdebitosreg();
$clcancdebitosproc = new cl_cancdebitosproc();
$clcancdebitosprocreg = new cl_cancdebitosprocreg();
$clissvarsemmov = new cl_issvarsemmov();
$clissvarsemmovreg = new cl_issvarsemmovreg();
$sqlerro = false;
if (isset($cancelar)) {
    /* $sqlerro=false;
     db_inicio_transacao();
       $data = date("Y-m-d",db_getsession("DB_datausu"));
       $matriz01=split('#',$numpres);  
       for($q=0; $q<sizeof($matriz01); $q++ ){
         $matriz02=split("P",$matriz01[$q]); 
         echo "1=". $matriz02[0]." 2=".$matriz02[1];
         exit;
     db_erro("<br> Matriz inválida!", 1);
 }
 $tam = sizeof($valores);
 $sqlerro = false;
 db_inicio_transacao();
 //for($i = 0;$i < $tam;$i++) {
 // Lançamento sem movimento - parte I
 if (!empty($str_movimento) and $str_movimento != 'Sem Movimento') {
     // ######################### TEM QUE INCLUIR NA cancdebitos, cancdebitosproc #########################
     include "classes/db_cancdebitos_classe.php";
     include "classes/db_cancdebitosproc_classe.php";
     include "classes/db_cancdebitosreg_classe.php";
     include "classes/db_cancdebitosprocreg_classe.php";
     include "classes/db_issvarsemmov_classe.php";
     include "classes/db_issvarsemmovreg_classe.php";
     $clcancdebitos = new cl_cancdebitos();
     $clcancdebitosproc = new cl_cancdebitosproc();
     $clcancdebitosreg = new cl_cancdebitosreg();
     $clcancdebitosprocreg = new cl_cancdebitosprocreg();
     $clissvarsemmov = new cl_issvarsemmov();
     $clissvarsemmovreg = new cl_issvarsemmovreg();
     $clcancdebitos->k20_hora = date("H:i");
     $clcancdebitos->k20_data = date("Y-m-d");
     $clcancdebitos->k20_usuario = empty($id_usuario) ? 'null' : $id_usuario;
     $clcancdebitos->k20_descr = 'ISS cancelado pelo Dbpref.';
     $clcancdebitos->incluir(null);
     if ($clcancdebitos->erro_status == 0) {
         $sqlerro = true;
         $msgerro = $clcancdebitos->erro_msg;
         db_msgbox($msgerro);
     }
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;
}