function Gerar()
 {
     @session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $this->titulo = "Matricula Ocorrência Disciplinar - Listagem";
     foreach ($_GET as $var => $val) {
         // passa todos os valores obtidos no GET para atributos do objeto
         $this->{$var} = $val === "" ? null : $val;
     }
     if (!$this->ref_cod_matricula) {
         header("Location: educar_matricula_lst.php");
     }
     $this->campoOculto("ref_cod_matricula", $this->ref_cod_matricula);
     $this->addCabecalhos(array("Tipo Ocorrência Disciplinar", "Série ", "Turma"));
     /**
      * Busca nome do aluno
      */
     if (class_exists("clsPmieducarMatricula")) {
         $obj_ref_cod_matricula = new clsPmieducarMatricula();
         $detalhe_aluno = array_shift($obj_ref_cod_matricula->lista($this->ref_cod_matricula));
         $obj_escola = new clsPmieducarEscola($detalhe_aluno['ref_ref_cod_escola']);
         $det_escola = $obj_escola->detalhe();
     } else {
         $registro["ref_cod_matricula"] = "Erro na geracao";
         echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";
     }
     $obj_aluno = new clsPmieducarAluno();
     $det_aluno = array_shift($det_aluno = $obj_aluno->lista($detalhe_aluno['ref_cod_aluno'], null, null, null, null, null, null, null, null, null, 1));
     $this->campoRotulo("nm_pessoa", "Nome do Aluno", $det_aluno['nome_aluno']);
     /**
      *
      */
     $opcoes = array("" => "Selecione");
     if (class_exists("clsPmieducarTipoOcorrenciaDisciplinar")) {
         $objTemp = new clsPmieducarTipoOcorrenciaDisciplinar();
         $lista = $objTemp->lista(null, null, null, null, null, null, null, null, null, null, 1, $det_escola['ref_cod_instituicao']);
         if (is_array($lista) && count($lista)) {
             foreach ($lista as $registro) {
                 $opcoes["{$registro['cod_tipo_ocorrencia_disciplinar']}"] = "{$registro['nm_tipo']}";
             }
         }
     } else {
         echo "<!--\nErro\nClasse clsPmieducarTipoOcorrenciaDisciplinar nao encontrada\n-->";
         $opcoes = array("" => "Erro na geracao");
     }
     $this->campoLista("ref_cod_tipo_ocorrencia_disciplinar", "Tipo Ocorr&ecirc;ncia Disciplinar", $opcoes, $this->ref_cod_tipo_ocorrencia_disciplinar);
     if ($this->ref_cod_escola) {
         $this->ref_ref_cod_escola = $this->ref_cod_escola;
     }
     // outros Filtros
     // Paginador
     $this->limite = 20;
     $this->offset = $_GET["pagina_{$this->nome}"] ? $_GET["pagina_{$this->nome}"] * $this->limite - $this->limite : 0;
     $obj_matricula_ocorrencia_disciplinar = new clsPmieducarMatriculaOcorrenciaDisciplinar();
     $obj_matricula_ocorrencia_disciplinar->setOrderby("observacao ASC");
     $obj_matricula_ocorrencia_disciplinar->setLimite($this->limite, $this->offset);
     $lista = $obj_matricula_ocorrencia_disciplinar->lista($this->ref_cod_matricula, $this->ref_cod_tipo_ocorrencia_disciplinar, null, null, null, null, null, null, 1);
     $total = $obj_matricula_ocorrencia_disciplinar->_total;
     // monta a lista
     if (is_array($lista) && count($lista)) {
         foreach ($lista as $registro) {
             if (class_exists("clsPmieducarMatricula")) {
                 $obj_ref_cod_matricula = new clsPmieducarMatricula($registro["ref_cod_matricula"]);
                 $det_ref_cod_matricula = $obj_ref_cod_matricula->detalhe();
                 //$registro["ref_cod_matricula"] = $det_ref_cod_matricula["ref_cod_matricula"];
             } else {
                 $registro["ref_cod_matricula"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarMatricula\n-->";
             }
             if (class_exists("clsPmieducarSerie")) {
                 $obj_serie = new clsPmieducarSerie($det_ref_cod_matricula["ref_ref_cod_serie"]);
                 $det_serie = $obj_serie->detalhe();
                 $registro["ref_ref_cod_serie"] = $det_serie["nm_serie"];
             } else {
                 $registro["ref_ref_cod_serie"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarSerie\n-->";
             }
             if (class_exists("clsPmieducarTipoOcorrenciaDisciplinar")) {
                 $obj_ref_cod_tipo_ocorrencia_disciplinar = new clsPmieducarTipoOcorrenciaDisciplinar($registro["ref_cod_tipo_ocorrencia_disciplinar"]);
                 $det_ref_cod_tipo_ocorrencia_disciplinar = $obj_ref_cod_tipo_ocorrencia_disciplinar->detalhe();
                 $registro["nm_tipo"] = $det_ref_cod_tipo_ocorrencia_disciplinar["nm_tipo"];
             } else {
                 $registro["ref_cod_tipo_ocorrencia_disciplinar"] = "Erro na geracao";
                 echo "<!--\nErro\nClasse nao existente: clsPmieducarTipoOcorrenciaDisciplinar\n-->";
             }
             $obj_mat_turma = new clsPmieducarMatriculaTurma();
             $det_mat_turma = $obj_mat_turma->lista($registro["ref_cod_matricula"], null, null, null, null, null, null, null, 1);
             if ($det_mat_turma) {
                 $det_mat_turma = array_shift($det_mat_turma);
                 $obj_turma = new clsPmieducarTurma($det_mat_turma['ref_cod_turma']);
                 $det_turma = $obj_turma->detalhe();
             }
             $this->addLinhas(array("<a href=\"educar_matricula_ocorrencia_disciplinar_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_tipo_ocorrencia_disciplinar={$registro["ref_cod_tipo_ocorrencia_disciplinar"]}&sequencial={$registro["sequencial"]}\">{$registro["nm_tipo"]}</a>", "<a href=\"educar_matricula_ocorrencia_disciplinar_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_tipo_ocorrencia_disciplinar={$registro["ref_cod_tipo_ocorrencia_disciplinar"]}&sequencial={$registro["sequencial"]}\">{$registro["ref_ref_cod_serie"]}</a>", "<a href=\"educar_matricula_ocorrencia_disciplinar_det.php?ref_cod_matricula={$registro["ref_cod_matricula"]}&ref_cod_tipo_ocorrencia_disciplinar={$registro["ref_cod_tipo_ocorrencia_disciplinar"]}&sequencial={$registro["sequencial"]}\">{$det_turma["nm_turma"]}</a>"));
         }
     }
     $this->addPaginador2("educar_matricula_ocorrencia_disciplinar_lst.php", $total, $_GET, $this->nome, $this->limite);
     $obj_permissoes = new clsPermissoes();
     $this->array_botao = array();
     $this->array_botao_url = array();
     if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) {
         $this->array_botao_url[] = "educar_matricula_ocorrencia_disciplinar_cad.php?ref_cod_matricula={$this->ref_cod_matricula}";
         $this->array_botao[] = "Novo";
     }
     $this->array_botao[] = "Voltar";
     $this->array_botao_url[] = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}";
     $this->largura = "100%";
     $localizacao = new LocalizacaoSistema();
     $localizacao->entradaCaminhos(array($_SERVER['SERVER_NAME'] . "/intranet" => "In&iacute;cio", "educar_index.php" => "i-Educar - Escola", "" => "Listagem de ocorr&ecirc;ncias disciplinares da matr&iacute;cula"));
     $this->enviaLocalizacao($localizacao->montar());
 }