private function FaturaLancamento() {
	$CData = New Data();
	$ModelCr = new ModellancaCrBd();
	$data = date("Y-m-d H:i:s");

	$codCr2 = $ModelCr->UltimoFilho($this->getCodLancamentoParaFaturar(), $this->getTransacao());
	$DataVencimento = $CData->convertDataSql($this->DiaVencimentoTabela());

	//Imposto
	$Imposto = $this->CalculaValorImposto();

	if (!$ModelCr->FaturaLancamento($codCr2, "0.00", "0.00", "0.00", $this->getValor(), "0", $data, $DataVencimento, "", "", $_SESSION["id_usuario"], "0.00", "0.00", "0.00", $Imposto, null, $this->getTransacao(), false)) {
	    $this->setMsg($ModelCr->getMotivoErro() . "\n\nNão foi possível faturar o lançamento de " . $this->getTipoFechamento() . " referente ao fechamento " . $this->getCodFechamentoSigmo() . " ID: " . $this->getIdFechamento() . "\n\n" . $ModelCr->getMotivoErro());
	    $this->setStatusOperacao(true);
	    $erroGravar = true;
	}
	return true;
    }
    public function GeraBoleto() {

	$String = new CString();
	$Cod = $String->descriptografa($_REQUEST["pass"]);

	$ModelBanco = new ModellancaCrBd();

	$Filho = $ModelBanco->UltimoFilho($Cod);



	//Verifica se o status do lançamento permite geração de boleto
	if ($ModelBanco->RecuperaCampo("F_STATUS_FINANCEIRO_ID", "F_LANCA_CR", "F_LANCA_CR_ID", $Cod) != 2) {
	    echo json_encode(array('A' => "Status do lançamento não permite geração de boletos"));
	    exit();
	    return false;
	}

	$coBanco = $ModelBanco->RecuperaCampo("BANCO_ID", "F_LANCA_CR", "F_LANCA_CR_ID", $Cod);

	//Verifica se a forma de pagamento é boleto
	$CodFormaPagamento = $ModelBanco->RecuperaCampo("F_FORMA_PAGAMENTO_ID", "F_LANCA_CR", "F_LANCA_CR_ID", $Cod);


	if (trim($ModelBanco->RecuperaCampo("F_TIPO_FORMA", "F_FORMA_PAGAMENTO", "F_FORMA_PAGAMENTO_ID", $CodFormaPagamento)) != "BO") {
	    echo json_encode(array('A' => 0, 'B' => "Forma de pagamento não permite geração de boletos"));
	    exit();
	    return false;
	}

	//Verifica se o lançamento não está vencido

	$vencimento = $ModelBanco->RecuperaCampo("DATA_VENCIMENTO", "F_LANCA_CR2", "F_LANCA_CR2_ID", $Filho);

	if (strtotime($vencimento) < strtotime(date('Y-m-d'))) {
	    echo json_encode(array('A' => 0, 'B' => "A data de vencimento deve ser igual ou superior a data atual"));
	    exit();
	    return false;
	}
	//Verifica se a versão permite geração de boletos
	if ((trim($ModelBanco->RecuperaCampo("PERMITE_BOLETO_COBRANCA", "PARAMETRO", "PARAMETRO_ID", 1))) == "N") {
	    echo json_encode(array('A' => 0, 'B' => "Versão atual não permite geração de boletos, entre em contato com o nosso setor comercial e solicite liberação - (31)-3077-4211"));
	    exit();
	    return false;
	}


	//Verifica o banco refente ao Boleto
	$NomeBoleto = $ModelBanco->RecuperaCampo("NOME_BANCO_INTEGRACAO", "BANCO", "BANCO_ID", $coBanco);
	$dirBoleto = "../../bibliotecas/boletos/bancos/$NomeBoleto.php?boleto=$Cod";
	echo json_encode(array('A' => 1, 'B' => $dirBoleto));
	exit();
	return true;
    }