<?php
//
$sNomeIdJan1 = 'iJan_RelCNT_Princ';
$sNomeIdJan2 = 'iJan_RelCNT_TxtVs';
$sCorBarraInf = '#E8E3CE';
$sData_Trabalho = SQLVarConfig('DATA_DE_TRABALHO');
$sPulaLinha = CHR(13).CHR(10);
//
// Carrega sessão para á variável
$aSessaoLocal = @$aSessao[$sNomeAcesso.'_S'];
$nInt_DiasLmt = 0;                  // Intervalo máximo do período no relatório contagem em dias. 0=Desativado
//
//
//  ** TELA INICIAL **
If ( EMPTY( $sSubModulo ) ) {
    $s_Formulario = "fmPRelCP";     // Nome principal dos formulários HTML
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan1; 
    $oJanelaPrinc->nTop    = 40;
    $oJanelaPrinc->nLeft   = 5;
    $oJanelaPrinc->nWidth  = 550;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Relatório de contas financeiras';
	$sJavaTravarJ =
	  "parent.Disabled_In_Elems('".$oJanelaPrinc->sIdObj."',true);".
	  "parent.document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible';";
	$oJanelaPrinc->sJavOnClickF =
	  "parent.document.forms.".$s_Formulario.".acao.value='FECHAR';".
      "parent.document.forms.".$s_Formulario.".submit();".
	  $sJavaTravarJ;
    $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."1.Teclas_F(this,event);";
	$oJanelaPrinc->aIdsObjList =
	      ARRAY(
		    'in_RelCNT_DatIni', 'in_RelCNT_DatFim', 'sl_CNT_Opcao_', 'sl_CNT_Cod_Cta', 'sl_CNT_Cod_Cus'
		  );
	//
	// >> Janela Principal
    If ( EMPTY($sAcao) ) {
	   //
	   // Montagem nos itens do cadastro de contas para a combobox
	   $sHTML_Combo_CodCTA = '<option value="0">* Todas as conta financeiras *</option>';
	   $Rows = MYSQL_QUERY("SELECT * FROM cad_contas WHERE CTA_ATIVO_ ORDER BY CTA_CODIGO ASC;") or die(MYSQL_ERROR());
       While ($Row = MYSQL_FETCH_OBJECT($Rows)) {
           $sHTML_Combo_CodCTA .=
		     '<option value="'.$Row->CTA_CODIGO.'">'.
			 $Row->CTA_DESCRI.
			 '</option>';
       }
	   // Montagem nos itens do cadastro de centro de custo para a combobox
	   $sHTML_Combo_CodCUS = '<option value="0">* Todos os custo *</option>';
	   $Rows = MYSQL_QUERY("SELECT * FROM cad_centro_custo WHERE CUS_ATIVO_ ORDER BY CUS_CODIGO ASC;") or die(MYSQL_ERROR());
       While ($Row = MYSQL_FETCH_OBJECT($Rows)) {
           $sHTML_Combo_CodCUS .=
		     '<option value="'.$Row->CUS_CODIGOI.'">'.
			 ( ( Somente_Numeros(SUBSTR($Row->CUS_CODIGO,4,3))+0==0 ) ? "" : "&nbsp;&nbsp;" ).
			 $Row->CUS_CODIGO.'-'.$Row->CUS_DESCRI.
			 '</option>';
       }
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
		  '<form name="'.$s_Formulario.'" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'2">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="'.$sSubModulo.'">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
		  // 1º linha
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="80px" align="right">'.
             'Período:'.
            '</td>'.
            '<td align="left">'.
       	     '<table border="0" cellspacing="0" cellpadding="0"><tr>'.
			  '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_RelCNT_DatIni';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCNT_DatIni" style="cursor:pointer;"></td>'.
			  '<td width="77px">'.
			   '<input id="in_RelCNT_DatIni" name="Fil_DataIni" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="" style="font-size:12px; width:99%;">'.
			  '</td>'.
			  '<td align="center" width="10px">'.
			   '-'.
			  '</td>'.
			  '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_RelCNT_DatFim';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCNT_DatFim" style="cursor:pointer;"></td>'.
			  '<td width="77px">'.
			   '<input id="in_RelCNT_DatFim" name="Fil_DataFim" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" style="font-size:12px; width:99%;">'.
			  '</td>'.
			  '<td align="left" style="color:#FF0000;">'.
			   ($nInt_DiasLmt==0 ? "" :
			     '&nbsp;&nbsp;* intervalo máximo de '.$nInt_DiasLmt.' dias.'
			   ).
			  '</td>'.
			 '</tr></table>'.
            '</td>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  // 2º linha
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="80px" align="right" valign="middle">'.
             'Opção:'.
            '</td>'.
            '<td width="223px" align="left" valign="middle">'.
		   	 '<select id="sl_CNT_Opcao_" name="Rel_Opcao" style="width:99%;" onchange="Car_'.$sNomeAcesso.'1.Atualiza();">'.
		   	  '<option value="0">Extrato de contas financeiras</option>'.
		   	  '<option value="1">Centro de custo (Analítico)</option>'.
		   	  '<option value="2">Centro de custo (Sintético)</option>'.
		   	 '</select>'.
			'</td>'.
            '<td>&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  // 3º linha
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="80px" align="right" valign="middle">'.
             'Conta:'.
            '</td>'.
            '<td width="300px" align="left" valign="middle">'.
		   	 '<select id="sl_CNT_Cod_Cta" name="Fil_Cod_Cta" style="width:99%;" onchange="Car_'.$sNomeAcesso.'1.Atualiza();">'.
			  $sHTML_Combo_CodCTA.
		   	 '</select>'.
			'</td>'.
            '<td>&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  // 4º linha
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="80px" align="right" valign="middle">'.
             'Custo:'.
            '</td>'.
            '<td width="300px" align="left" valign="middle">'.
		   	 '<select id="sl_CNT_Cod_Cus" name="Fil_Cod_Cus" style="width:99%;" onchange="Car_'.$sNomeAcesso.'1.Atualiza();">'.
			  $sHTML_Combo_CodCUS.
		   	 '</select>'.
			'</td>'.
            '<td>&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  //
		  '</form>'.
		  // 4º linha (ultima dos botões)
          '<table width="100%" style="background-color:'.$sCorBarraInf.';">'.
		   '</tr>'.
            '<td width="4px" height="40px">&nbsp;</td>'.
            '<td align="left">'.
             HTML_Botao( 3, 'objRelCnt_BT_Abr', 'Car_'.$sNomeAcesso.'1.Relatorio();'
                          , 'Visualizar (F8)' ,'images/btimg_docs.png',120).		    
		    '</td>'.
            '<td align="right">'.
             HTML_Botao( 3, 'objRelCnt_BT_Fch', $oJanelaPrinc->sJavOnClickF
                          , 'Sair (ESC)' ,'images/btimg_fechar.png').		    
		    '</td>'.
            '<td width="4px">&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.		   
    	  $oJanelaPrinc->MontaJanHTML(False);
	   //
	   // Java anterior
       $sRet_Javs .=
	     'parent.document.getElementById("dv_MenuL_Barra").style.visibility="hidden";'.
		 //
	     "function Atualiza() {".
		    "var vFm = parent.document.forms.".$s_Formulario.";".
		    "sAntTarget = vFm.target;".
		    "vFm.target='car_".$sNomeAcesso."3';".
	        "vFm.acao.value='ATUALIZA'; ".
            "vFm.submit(); ".
		    "vFm.target = sAntTarget;".
		 "}".
		 //
	     "function Relatorio() {".
		    "var vFm = parent.document.forms.".$s_Formulario.";".
		    "sAntTarget = vFm.target;".
		    "vFm.target='car_".$sNomeAcesso."5';".
	        "vFm.acao.value=''; ".
	        "vFm.submod.value='RELATORIO'; ".
            "vFm.submit(); ".
	        "vFm.submod.value='".$sSubModulo."'; ".
		    "vFm.target = sAntTarget;".
			$sJavaTravarJ.
		 "}".
		 //
         "function Teclas_F( Objeto, Evento ) { ".
           "vNumTecla = parent.Tecla_Apertada(Evento); ".
		   "sAntFocus = parent.sIdHasFocus;".
           "if ( vNumTecla==119) { ".         // ** [F8] **
               "if (parent.document.getElementById('objRelCnt_BT_Abr').style.display!='none') {".           // (Visualizar)
                  "setTimeout( parent.document.getElementById('objRelCnt_BT_Abr').onclick , 10);".
         	  "}".
		   "} else if ( vNumTecla==116) { ".  // ** [F5] **     Não atualizar
               //
           "} else if ( vNumTecla==27 ) { ".  // ** [ESC] **    Fechar da janela
               "setTimeout( parent.document.getElementById('objRelCnt_BT_Fch').onclick , 10);".
		   "} else if ( vNumTecla==13) { ".   // ** [ENTER] **
		      "while (true) {".
		   	     "sTempId = parent.Proximo_TabObj(parent.document.getElementById('".$oJanelaPrinc->sIdObj."'),sAntFocus);".
		   	     "if ( sTempId.length>0 ) {".
		   	         "parent.document.getElementById(sTempId).focus();".
		   		     "if (sTempId == parent.sIdHasFocus ) {".
		   		         'parent.document.getElementById(sTempId).select();'.
		   		  	     "break;".
		   		     "}".
		   		     "sAntFocus=sTempId;".
		   	     "} else {".
	                 "parent.document.getElementById('in_RelCNT_DatIni').focus();".
	   	             'break;'.
		   	     "}".
		   	  "}".
		   "} else {".
		      "return true;".
		   "} ".
	       "return false;".
		 "}".
		 "";
       //
	   // Java posterior
       $sRet_JavsPos .=
	     "parent.document.getElementById('in_RelCNT_DatIni').focus();".
		 "Atualiza();".
		 //
         'parent.Calendar.setup({ '.
           'inputField : "in_RelCNT_DatIni", '.
           'trigger    : "bt_RelCNT_DatIni", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
         'parent.Calendar.setup({ '.
           'inputField : "in_RelCNT_DatFim", '.
           'trigger    : "bt_RelCNT_DatFim", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
		 "";
	   //
    //
    // >> Fechar janela
    } ElseIf ( $sAcao=="FECHAR" ) {
       $sRet_Javs .=
	       'parent.document.getElementById("dv_MenuL_Barra").style.visibility="visible";'.
	       "parent.RmElem('".$oJanelaPrinc->sIdObj."');".
	       "parent.Car_".$sNomeAcesso."2.location.href='about:blank';".
	       "parent.Car_".$sNomeAcesso."1.location.href='about:blank';".
		   "";
	   UNSET( $aSessaoLocal );
	   //
    //
    // >> Atualiza e valida campos
    } ElseIf ( $sAcao=="ATUALIZA" ) {
	   $s_Fil_DataIni = @$_POST['Fil_DataIni'];
	   $s_Fil_DataFim = @$_POST['Fil_DataFim'];
	   $n_Rel_OpcaoEx = Somente_Numeros(@$_POST['Rel_Opcao']  )+0;
	   $n_Fil_Cod_Cta = Somente_Numeros(@$_POST['Fil_Cod_Cta'])+0;
	   $n_Fil_Cod_Cus = Somente_Numeros(@$_POST['Fil_Cod_Cus'])+0;
	   $n_Fil_DataIni = ConvertDataSTR(ConvertDataBRUS(Somente_Numeros($s_Fil_DataIni,"/-")));
	   $n_Fil_DataFim = ConvertDataSTR(ConvertDataBRUS(Somente_Numeros($s_Fil_DataFim,"/-")));
	   //
	   If ( $n_Fil_DataIni<MKTIME(0,0,0,1,1,1996) ) {
		  $n_Fil_DataIni = 0;
	   }
	   If ( $n_Fil_DataFim<MKTIME(0,0,0,1,1,1996) ) {
		  $n_Fil_DataFim = 0;
	   }
	   If ( $n_Fil_DataIni>0 && $n_Fil_DataFim>0 ) {
	      If ( $n_Fil_DataIni>$n_Fil_DataFim ) {
		     $n_Fil_DataIni = $n_Fil_DataFim;
	      } ElseIf ( $nInt_DiasLmt>0 && ( $n_Fil_DataFim-$n_Fil_DataIni)>($nInt_DiasLmt*24*60*60) ) {
		     $n_Fil_DataFim = $n_Fil_DataIni + ($nInt_DiasLmt*24*60*60) ;
	      }
	   } Else {
		  If ( $nInt_DiasLmt==0 && $n_Fil_DataFim==0 ) {
		        $n_Fil_DataFim = MKTIME(0,0,0);
		        $n_Fil_DataIni = 0;
		  } Else {
		     If ($n_Fil_DataFim==0 && $n_Fil_DataIni==0) {
		        $n_Fil_DataFim = MKTIME(0,0,0);
		        $n_Fil_DataIni = $n_Fil_DataFim - ($nInt_DiasLmt*24*60*60);
		     }
		  }
	   }
	   If ( $n_Fil_DataIni<MKTIME(0,0,0,1,1,1996) ) {
		  $n_Fil_DataIni = 0;
		  $s_Fil_DataIni = '';
	   } Else {
	      $s_Fil_DataIni = DATE("d/m/Y",$n_Fil_DataIni);
	   }
	   If ( $n_Fil_DataFim<MKTIME(0,0,0,1,1,1996) ) {
		  $n_Fil_DataFim = 0;
		  $s_Fil_DataFim = '';
	   } Else {
	      $s_Fil_DataFim = DATE("d/m/Y",$n_Fil_DataFim);
	   }
       // Java
       $sRet_Javs .=
			'parent.document.getElementById("in_RelCNT_DatIni").value = "'.$s_Fil_DataIni.'";'.
			'parent.document.getElementById("in_RelCNT_DatFim").value = "'.$s_Fil_DataFim.'";'.
			( $n_Rel_OpcaoEx==0 ?
			  "parent.document.getElementById('sl_CNT_Cod_Cus').disabled = true;".
			  "parent.document.getElementById('sl_CNT_Cod_Cus').value = '0';"
			:
			  "parent.document.getElementById('sl_CNT_Cod_Cus').disabled = false;"
			).
			"";
    }
    //
//
//
//  ** TELA QUE MONTA O RELATÓRIO **
} ElseIf ( $sSubModulo=="RELATORIO" ) {
    $s_Formulario = "fmPRelCP_I";     // Nome principal dos formulários HTML
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan2; 
    $oJanelaPrinc->nTop    = 5;     // Inicio vertical
    $oJanelaPrinc->nLeft   = 0;     // Inicio horizontal
    $oJanelaPrinc->nWidth  = 1005;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Relatório';
	$oJanelaPrinc->sJavOnClick  = "parent.document.getElementById('in_RelCPCV_Tecla').focus();";
	//
	$sJavaTravarJ = "parent.document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible';";
	$oJanelaPrinc->sJavOnClickF =
        $sJavaTravarJ.
	    "parent.document.forms.".$s_Formulario.".acao.value='FECHAR'; ".
        "parent.document.forms.".$s_Formulario.".submit();";
    $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."5.Teclas_F(this,event);";
	//
	// >> Janela Principal
    If ( EMPTY($sAcao) ) {
	   $aSessaoLocal['Fil_DataIni'] = @$_POST['Fil_DataIni'];      // Data inicial
	   $aSessaoLocal['Fil_DataFim'] = @$_POST['Fil_DataFim'];      // Data final
	   $aSessaoLocal['Rel_Opcao'  ] = @$_POST['Rel_Opcao'  ];      // Opcao do tipo de relatório
	   $aSessaoLocal['Fil_Cod_Cta'] = @$_POST['Fil_Cod_Cta'];      // Código da conta financeira
	   $aSessaoLocal['Fil_Cod_Cus'] = @$_POST['Fil_Cod_Cus'];      // Código do centro de custo
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
		  // Teclas
		  '<input id="in_RelCPCV_Tecla" style="position:absolute; top:-600; left:-600; width:1px; height:1px;">'.
		  //
		  '<iframe name="VisCPCR_Print"></iframe>'.
          '<form name="'.$s_Formulario.'" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'6">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="'.$sSubModulo.'">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
          '</form>'.
		  '<div id="dv_RelCPCR_Txt" style="width:100%; height:480px; background:#FFFFFF; overflow:auto;">'.
           '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">'.
            '<tr><td align="center" valign="middle" style="color:#555555;">'.
            'Aguarde um momento...<br>'.
            '<img src="images/img_load1.gif" border="0">'.
            '</td></tr>'.
           '</table>'.
		  '</div>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';"></tr>'.
           '<td width="4px" height="40px">&nbsp;</td>'.
		   '<td width="150px" align="left">'.
              HTML_Botao( 3, 'objRelCPCR_BT_Imp',  'Car_'.$sNomeAcesso.'5.processPrint();'
                           , 'Imprimir (F2)'   ,'images/btimg_imp.png',130).		    
		   '</td>'.
		   '<td align="left">'.
              HTML_Botao( 3, 'objRelCPCR_BT_Dwn',  'Car_'.$sNomeAcesso.'5.SalvarTexto();'
                           , 'Salvar (F9)'   ,'images/btimg_baixar_texto.png',100).		    
		   '</td>'.
           '<td align="right">'.
            HTML_Botao( 3, 'objRelCPCR_BT_Fch', $oJanelaPrinc->sJavOnClickF
                         , 'Sair (ESC)' ,'images/btimg_fechar.png').		    
		   '</td>'.
           '<td width="4px">&nbsp;</td>'.
		  '</tr></table>'.
		  //
    	  $oJanelaPrinc->MontaJanHTML(False);
       //
	   // Java anterior
       $sRet_Javs .=
	      "function processPrint() {".
			"var sdivElements = parent.document.getElementById('dv_RelCPCR_Txt').innerHTML;".
            "var Quadro = parent.frames['VisCPCR_Print'];".
            "Quadro.window.location='about:blank';". 
			"Quadro.document.write('<html><head><title>Contas a Pagar</title></head><body>');".
			"Quadro.document.write(sdivElements);".
			"Quadro.document.write('</body></html>');".
			"Quadro.window.print();".
		  "}".
		  //
		  "function SalvarTexto() {".
	        "parent.document.forms.".$s_Formulario.".acao.value='GERAR_TEXTO';".
            "parent.document.forms.".$s_Formulario.".submit();".
		  "}".
		  //
	      "function Teclas_F( Objeto, Evento ) {".
             "vNumTecla = parent.Tecla_Apertada(Evento);".
             "if ( vNumTecla==120) { ".        //  ** [F9] **          // (Salvar em arquivo texto)
                 "setTimeout( parent.document.getElementById('objRelCPCR_BT_Dwn').onclick , 50);".
		     "} else if ( vNumTecla==116) { ". //  ** [F5] **          Não atualizar
			 
			 "} else if ( vNumTecla==113) { ". //  ** [F2] **          // (Imprimir)
                 "setTimeout( parent.document.getElementById('objRelCPCR_BT_Imp').onclick , 50);".
			     //
		     "} else if ( vNumTecla==27) { ".  //  ** [ESC] **         // (SAIR)
                 "setTimeout( parent.document.getElementById('objRelCPCR_BT_Fch').onclick , 50);".
			 "} else {".
			     "return true;".
			 "}".
			 "return false;".
          '}'.
		  //
	      "";
       // Java posterior
       $sRet_JavsPos .=
	     "parent.document.getElementById('in_RelCPCV_Tecla').focus(); ".
	     "setTimeout( function () { ".
	        "parent.document.forms.".$s_Formulario.".acao.value='MONTAR';".
            "parent.document.forms.".$s_Formulario.".submit();".
		 "} , 300); ".
         "";
	   //
    //
	// >> Montar o relatório
    } ElseIf ( $sAcao=="MONTAR" ) {
	   $s_Fil_DataIni = $aSessaoLocal['Fil_DataIni'];
	   $s_Fil_DataFim = $aSessaoLocal['Fil_DataFim'];
	   $n_Rel_OpcaoEx = Somente_Numeros($aSessaoLocal['Rel_Opcao'  ])+0;
	   $n_Fil_Cod_Cta = Somente_Numeros($aSessaoLocal['Fil_Cod_Cta'])+0;
	   $n_Fil_Cod_Cus = Somente_Numeros($aSessaoLocal['Fil_Cod_Cus'])+0;
	   $n_Fil_DataIni = ConvertDataSTR(ConvertDataBRUS(Somente_Numeros($s_Fil_DataIni,"/-")));
	   $n_Fil_DataFim = ConvertDataSTR(ConvertDataBRUS(Somente_Numeros($s_Fil_DataFim,"/-")));
	   $sTxt_Rel      = '';
	   //
       $sSQLQuery = "SELECT * FROM cad_centro_custo;";
       $RowsT = MYSQL_QUERY($sSQLQuery) Or Die($sSQLQuery.'<br>'.MYSQL_ERROR());
       $aGrupoCustos = ARRAY();
       $aItensCustos = ARRAY();
       While ($RowT = MYSQL_FETCH_ARRAY($RowsT, MYSQL_ASSOC)) {
		  If ( SUBSTR($RowT['CUS_CODIGO'],4,3)=="000" ) {
             $aGrupoCustos[$RowT['CUS_CODIGO']] = $RowT;
		  }
		  $aItensCustos[$RowT['CUS_CODIGOI']] = $RowT;
       }
       UNSET( $RowsT ); UNSET( $RowT );
	   //
	   $sSQL_Where = "";
	   If ( $n_Fil_Cod_Cus>0 ) {
		  If ( SUBSTR($aItensCustos[$n_Fil_Cod_Cus]['CUS_CODIGO'],4,3)=="000" ) {
			 $sSQL_Where .=
			   'AND SubString(CUS_CODIGO,1,3)="'.SUBSTR($aItensCustos[$n_Fil_Cod_Cus]['CUS_CODIGO'],0,3).'" ';
		  } Else {
			 $sSQL_Where .=
        	   "AND cus.CUS_CODIGOI=".$n_Fil_Cod_Cus." ";
		  }
	   }
	   If ( $n_Fil_DataFim>0 ) {
	      $sSQL_Where .= "AND MCO_L_DATA <= '".DATE("Y-m-d",$n_Fil_DataFim)."' ";
	   }
	   If ( $n_Rel_OpcaoEx==1 OR $n_Rel_OpcaoEx==2 ) {
		  If ( $n_Fil_DataIni==0 ) {
			 $n_Fil_DataIni = MKTIME(0,0,0, 1, 1, 2000);
		  }
	      $sSQL_Where .= "AND MCO_L_DATA >= '".DATE("Y-m-d",$n_Fil_DataIni)."' ";
	   }
	   //
       $sSQLQuery =
         "SELECT ".
            "mco.MCO_SEQUEN, mco.MCO_NUMDOC, mco.MCO_VALLAN, mco.MCO_L_DATA, mco.MCO_CREDEB, mco.MCO_HISTOR, ".
        	"mco.MCO_CODCON, mco.MCO_CODCUS, ".
        	//"ctp.CTP_ID_MOV, ctp.CTP_NUMDUP, ctp.CTP_CODFOR, ctp.CTP_HISTOR, ctp.CTP_CODCUS, ".
        	//"ctp.CTP_CODMOD, ".
        	"cta.CTA_DESCRI, cta.CTA_AGENCI, cta.CTA_CONTAC, cta.CTA_VSALDO, cta.CTA_DTSALD, ".
			"cus.CUS_CODIGO, cus.CUS_DESCRI, cus.CUS_CREDEB ".
         "FROM      mov_contas       AS mco ".
         "LEFT JOIN cad_contas       AS cta  ON  mco.MCO_CODCON = cta.CTA_CODIGO ".
         //"LEFT JOIN fin_contas_pagar AS ctp  ON  mco.MCO_CODCTP = ctp.CTP_ID_MOV ".
         "LEFT JOIN cad_centro_custo AS cus  ON  mco.MCO_CODCUS = cus.CUS_CODIGOI ".
         "WHERE ".
                "mco.MCO_CODEMP=".$Dados_Empresa['EMP_CODIGOI']." ".
        	"AND mco.MCO_CANCEL=0 ".
        	( $n_Fil_Cod_Cta>0 ?
        	"AND mco.MCO_CODCON=".$n_Fil_Cod_Cta." "
        	: '').
			$sSQL_Where." ".
         "ORDER BY ".
		    ( ( $n_Rel_OpcaoEx==1 OR $n_Rel_OpcaoEx==2 ) ?
		    "cus.CUS_CODIGO ASC, "     // Ordenar por codigo de centro de custo
			:
			"mco.MCO_CODCON ASC, "     // Ordenar por codigo de conta financeira
			).
			"mco.MCO_L_DATA ASC, ".
			"mco.MCO_SEQUEN ASC  ".
         ";";
       $RowsT = MYSQL_QUERY($sSQLQuery) Or Die($sSQLQuery.'<br>'.MYSQL_ERROR());
       $aRegistros = ARRAY();
       While ($RowT = MYSQL_FETCH_ARRAY($RowsT, MYSQL_ASSOC)) {
          $aRegistros[] = $RowT;
       }
       UNSET( $RowsT ); UNSET( $RowT );
	   //
	   // Relatório: Extrato de conta financeira
	   If ( $n_Rel_OpcaoEx==0 ) {
		  //
          $sTxt_Rel .=    // Cabeçalho do relatório
             //AlinhaStr($Dados_Empresa['EMP_FANTAS'],0,80).AlinhaStr('Emissão: '.DATE('d/m/Y H:i:s'),2,40).$sPulaLinha.
             //AlinhaStr("RELATÓRIO DE CONTAS FINANCEIRAS",1,120).$sPulaLinha.
	         //'Filtros: '.
			 AlinhaStr('Empresa.....: '.$Dados_Empresa['EMP_FANTAS'],0,80).$sPulaLinha.
			 AlinhaStr('Relatorio...: CONTAS FINANCEIRAS',0,80).$sPulaLinha.
			 AlinhaStr('Emissao.....: '.DATE('d/m/Y H:i:s'),0,40).
		     AlinhaStr('Operador....: '.$R_CadFuncionario->FUN_NOMECP,2,80).$sPulaLinha.
			 ( ($n_Fil_DataIni==0 && $n_Fil_DataFim==0) ? "" :
		     'Período.....:  '.
			   ( $n_Fil_DataIni>0 ?
			    DATE("d/m/Y",$n_Fil_DataIni).' '
			   :
			    "Até "
			   ).
			   ( $n_Fil_DataFim>0 ?
				DATE("d/m/Y",$n_Fil_DataFim)
			   :
			    ""
			   ).
			 "").
			 $sPulaLinha.
             STR_REPEAT("=",120).$sPulaLinha.
			 "";
		  //
		  $nMco_CodConAtual = -1;
		  $nSaldoTotalGeral = 0;
		  $nGrl_RegistroCnt = 0;    // Contador geral de registros
		  ForEach( $aRegistros As $nContadorInd => $aRegistro ) {
			 //
			 If ( $aRegistro['MCO_CODCON']<>$nMco_CodConAtual ) {
		        $nSaldoOrgConta   = $aRegistro['CTA_VSALDO'];
				$nDataSOrgConta   = ConvertDataSTR($aRegistro['CTA_DTSALD']);
				$nSaldoLinha      = $nSaldoOrgConta;
				$nMco_CodConAtual = $aRegistro['MCO_CODCON'];
				$nImp_RegistroCnt = 0;
				$sTxt_RelCon = "";
			 }
			 // Ignorar o registro anterior a data do saldo na conta financeira
			 If ( $nDataSOrgConta > ConvertDataSTR($aRegistro['MCO_L_DATA']) ) {
				CONTINUE; 
			 }
			 //
			 If ( ConvertDataSTR($aRegistro['MCO_L_DATA']) <= $n_Fil_DataFim ) {
			    $nSaldoAnterior = $nSaldoLinha;
			    $nSaldoLinha   += ( $aRegistro['MCO_CREDEB'] ? $aRegistro['MCO_VALLAN'] : (-$aRegistro['MCO_VALLAN']) );
		     }
			 //
			 If ( ConvertDataSTR($aRegistro['MCO_L_DATA']) >= $n_Fil_DataIni && ConvertDataSTR($aRegistro['MCO_L_DATA']) <= $n_Fil_DataFim ) {
				//
				If ( $nImp_RegistroCnt==0 ) {
                   $sTxt_RelCon .=
                     AlinhaStr("Saldo anterior",2,108).
                     AlinhaStr(FormatoMoeda($nSaldoAnterior),2,12).
                     $sPulaLinha.
                     "";
				}
                //
				$nImp_RegistroCnt++;
				$nGrl_RegistroCnt++;
                $sTxt_RelCon .=
                  Str_Zero($aRegistro['MCO_NUMDOC'],10)                     ." ".
                  ConvertDataUSBR($aRegistro['MCO_L_DATA'])                 ."|".
                  " ".AlinhaStr($aRegistro['CUS_DESCRI'],0,18)." "          ."|".
                  AlinhaStr($aRegistro['MCO_HISTOR'],0,41)                  ."|".
                  ( $aRegistro['MCO_CREDEB'] ?
                	 AlinhaStr(FormatoMoeda($aRegistro['MCO_VALLAN']),2,11) ."|".
                    "           "                                    
                  :
                    "           "                                           ."|".
                	 AlinhaStr(FormatoMoeda($aRegistro['MCO_VALLAN']),2,11)
                  )                                                         ."|".
                  AlinhaStr(FormatoMoeda($nSaldoLinha),2,11)                .
                  $sPulaLinha.
                  "";
			 }
			 //
			 If ( (!ISSET($aRegistros[$nContadorInd+1])) OR $aRegistros[$nContadorInd+1]['MCO_CODCON']<>$nMco_CodConAtual ) {
				$nSaldoTotalGeral += $nSaldoLinha;
                $sTxt_Rel .=
				   // Cabeçalho
                   AlinhaStr(
				      "Conta Financeira: ".
					  $aRegistro['CTA_DESCRI'].
					  ( EMPTY($aRegistro['CTA_AGENCI']) ? "" :
					    ", Agencia:".$aRegistro['CTA_AGENCI'].", Conta:".$aRegistro['CTA_CONTAC']
					  ).
					  "",1,120).
				   $sPulaLinha.
                   STR_REPEAT("-",120).$sPulaLinha.
				  ( $nImp_RegistroCnt==0 ? "" :
                   "Num. Doc  |   Data   | Centro de custo    | Historico                               |   Credito |    Debito |      Saldo".
                   $sPulaLinha.
                   STR_REPEAT("-",120).$sPulaLinha
				   ).
				   // Movimentos
				   $sTxt_RelCon.
				   // Rodapé do relatório da conta
				   ( $nImp_RegistroCnt==0 ?
                      AlinhaStr("Saldo",2,108).
                      AlinhaStr(FormatoMoeda($nSaldoLinha),2,12).
                      $sPulaLinha
				   : "" ).
                   STR_REPEAT("-",120).
				   $sPulaLinha.
				   $sPulaLinha.
                   "";
				//
			 }
			 //
		  }
		  // Total geral
		  If ( $n_Fil_Cod_Cta==0 ) {
			 If ( $nGrl_RegistroCnt==0 ) {
                $sTxt_Rel .=    // Rodapé do relatório da conta
                   $sPulaLinha.
                   $sPulaLinha.
                   AlinhaStr("** NÃO HÁ MOVIMENTO **",1,120).$sPulaLinha.
                   $sPulaLinha.
                   $sPulaLinha.
                   STR_REPEAT("=",120).
                   $sPulaLinha.
                   $sPulaLinha.
				   "";
			 } Else {
                $sTxt_Rel .=    // Rodapé do relatório da conta
                   STR_REPEAT("=",120).
                   $sPulaLinha.
                   AlinhaStr("Saldo geral",2,108).
                   AlinhaStr(FormatoMoeda($nSaldoTotalGeral),2,12).
                   $sPulaLinha.
                   STR_REPEAT("=",120).
			       $sPulaLinha.
			       $sPulaLinha.
                   "";
			 }
		  }
		  //
	   //
	   // Relatório: Centro de custos (Analítico)
	   } ElseIf ( $n_Rel_OpcaoEx==1 ) {
		  //
          $sTxt_Rel .=    // Cabeçalho do relatório
             AlinhaStr($Dados_Empresa['EMP_FANTAS'],0,80).AlinhaStr('Emissão: '.DATE('d/m/Y H:i:s'),2,40).$sPulaLinha.
             AlinhaStr("RELATÓRIO DE CENTRO DE CUSTO ANALITICO",1,120).$sPulaLinha.
	         'Filtros: '.
			 ( ($n_Fil_DataIni==0 && $n_Fil_DataFim==0) ? "" :
		     'período '.
			   ( $n_Fil_DataIni>0 ?
			    DATE("d/m/Y",$n_Fil_DataIni).' '
			   :
			    "Até "
			   ).
			   ( $n_Fil_DataFim>0 ?
				DATE("d/m/Y",$n_Fil_DataFim)
			   :
			    ""
			   ).
			 "").
			 $sPulaLinha.
             STR_REPEAT("=",120).$sPulaLinha.
			 "";
		  //
		  $sMco_CodCusAtual = "000";
		  $nMco_CodCusAtual = 0;
		  $nSaldoGr_Debitos = 0;
		  $nSaldoG_Creditos = 0;
		  $nGrl_RegistroCnt = 0;
		  ForEach( $aRegistros As $nContadorInd => $aRegistro ) {
			 If ( SUBSTR($aRegistro['CUS_CODIGO'],0,3)+0==0 ) {
				CONTINUE;
			 }
			 //
			 If ( SUBSTR($aRegistro['CUS_CODIGO'],0,3)<>$sMco_CodCusAtual ) {
				$sMco_CodCusAtual = SUBSTR($aRegistro['CUS_CODIGO'],0,3);
				$nImp_RegistroCnt = 0;
				$nSaldoLinha      = 0;
                $sTxt_RelCus =   // Cabeçalho do centro de custo
				   $sPulaLinha.
                   AlinhaStr(
				      "Centro de custo: ".
					  $sMco_CodCusAtual.".000".
					  "-".
					  @$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_DESCRI'].
					  " ".
					  ( @$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_CREDEB'] ?
					    "(CREDITOS)"
					  :
					    "(DEBITOS)"
					  ).
					  "",1,120).
				   $sPulaLinha.
                   STR_REPEAT("-",120).$sPulaLinha.
                  //         1         2         3         4         5         6         7         8         9        10         1         2
                  //123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   "   Centro de custo".
                   $sPulaLinha.
                   "Cod. Seq. |   Data   | Conta Financeira   | Historico                                                      |       Valor".
                   $sPulaLinha.
                   STR_REPEAT("-",120).$sPulaLinha.
                   "";
			 }
			 //
			 If ( $nMco_CodCusAtual<>$aRegistro['MCO_CODCUS'] ) {
			    $nMco_CodCusAtual = $aRegistro['MCO_CODCUS'];
			    $nSubSaldoTotal   = 0;
                $sTxt_RelCus .=
                   "   ".$aRegistro['CUS_CODIGO'].' - '.$aRegistro['CUS_DESCRI'].
			 	   $sPulaLinha.
			 	   "";
			 }
			 //
			 $nValor_Lanc = $aRegistro['MCO_VALLAN'];
			 If ( $aRegistro['MCO_CREDEB'] ) {
		        $nSaldoG_Creditos += $nValor_Lanc; // Crédito
			 } Else {                             
		        $nSaldoGr_Debitos += $nValor_Lanc; // Débito
			 }
			 $nSaldoLinha    += $nValor_Lanc;
			 $nSubSaldoTotal += $nValor_Lanc;
			 //
			 $nImp_RegistroCnt++;
			 $nGrl_RegistroCnt++;
             $sTxt_RelCus .=
                Str_Zero($aRegistro['MCO_SEQUEN'],10)                     ." ".
                ConvertDataUSBR($aRegistro['MCO_L_DATA'])                 ."|".
                " ".AlinhaStr($aRegistro['CTA_DESCRI'],0,18)." "          ."|".
                AlinhaStr($aRegistro['MCO_HISTOR'],0,64)                  ."|".
                AlinhaStr(FormatoMoeda($nValor_Lanc),2,12)                .
                $sPulaLinha.
                "";
             //
             If ( (!ISSET($aRegistros[$nContadorInd+1])) OR $aRegistros[$nContadorInd+1]['MCO_CODCUS']<>$nMco_CodCusAtual ) {
                $sTxt_RelCus .=    // Rodapé do relatório do centro de custo
                  AlinhaStr("Subtotal ".$aRegistro['CUS_CODIGO'].' - '.$aRegistro['CUS_DESCRI'],2,108).
                  AlinhaStr(FormatoMoeda($nSubSaldoTotal),2,12).
                  $sPulaLinha.
                  "";
             }
			 //
			 If ( (!ISSET($aRegistros[$nContadorInd+1])) OR
				  SUBSTR($aRegistros[$nContadorInd+1]['CUS_CODIGO'],0,3)+0==0 OR
			      SUBSTR($aRegistros[$nContadorInd+1]['CUS_CODIGO'],0,3)<>$sMco_CodCusAtual
			 ) {
				If ( $nImp_RegistroCnt>0 ) {
                   $sTxt_Rel .=    // Rodapé do relatório da conta
				      $sTxt_RelCus.
                      STR_REPEAT("-",120).
                      $sPulaLinha.
                      AlinhaStr(
				        "Total ".
				   	    $sMco_CodCusAtual.
				   	    ".000 - ".@$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_DESCRI']
				      ,2,108).
                      AlinhaStr(FormatoMoeda($nSaldoLinha),2,12).
                      $sPulaLinha.
				      $sPulaLinha.
                      "";
				}
				//
			 }
		  }
		  // Total geral
		  If ( $n_Fil_Cod_Cus==0 ) {
			 If ( $nGrl_RegistroCnt==0 ) {
                $sTxt_Rel .=    // Rodapé do relatório do custo
                   $sPulaLinha.
                   $sPulaLinha.
                   AlinhaStr("** NÃO HÁ LANÇAMENTOS **",1,120).$sPulaLinha.
                   $sPulaLinha.
                   $sPulaLinha.
                   STR_REPEAT("=",120).
                   $sPulaLinha.
                   $sPulaLinha.
				   "";
			 } Else {
                $sTxt_Rel .=    // Rodapé do relatório da custo
                   STR_REPEAT("=",120).
                   $sPulaLinha.
                   AlinhaStr("Total de receitas",2,108).
                   AlinhaStr(FormatoMoeda($nSaldoG_Creditos),2,12).
                   $sPulaLinha.
                   AlinhaStr("Total de despesas",2,108).
                   AlinhaStr(FormatoMoeda($nSaldoGr_Debitos),2,12).
                   $sPulaLinha.
                   AlinhaStr("Total geral",2,108).
                   AlinhaStr(FormatoMoeda($nSaldoG_Creditos-$nSaldoGr_Debitos),2,12).
                   $sPulaLinha.
                   STR_REPEAT("=",120).
			       $sPulaLinha.
			       $sPulaLinha.
			       $sPulaLinha.
                   "";
			 }
		  }
		  //
	   //
	   // Relatório: Centro de custos (Sintético)
	   } ElseIf ( $n_Rel_OpcaoEx==2 ) {
		  //
          $sTxt_Rel .=    // Cabeçalho do relatório
             AlinhaStr($Dados_Empresa['EMP_FANTAS'],0,40).AlinhaStr('Emissão: '.DATE('d/m/Y H:i:s'),2,40).$sPulaLinha.
             AlinhaStr("RELATÓRIO DE CENTRO DE CUSTO SINTETICO",1,80).$sPulaLinha.
	         'Filtros: '.
			 ( ($n_Fil_DataIni==0 && $n_Fil_DataFim==0) ? "" :
		     'período '.
			   ( $n_Fil_DataIni>0 ?
			    DATE("d/m/Y",$n_Fil_DataIni).' '
			   :
			    "Até "
			   ).
			   ( $n_Fil_DataFim>0 ?
				DATE("d/m/Y",$n_Fil_DataFim)
			   :
			    ""
			   ).
			 "").
			 $sPulaLinha.
             STR_REPEAT("=",80).$sPulaLinha.
			 "";
		  //
		  $sMco_CodCusAtual = "000";
		  $nMco_CodCusAtual = 0;
		  $nSaldoGr_Debitos = 0;
		  $nSaldoG_Creditos = 0;
		  $nGrl_RegistroCnt = 0;
		  ForEach( $aRegistros As $nContadorInd => $aRegistro ) {
			 If ( SUBSTR(@$aRegistro['CUS_CODIGO'],0,3)+0==0 ) {
				CONTINUE; 
			 }
			 If ( SUBSTR($aRegistro['CUS_CODIGO'],0,3)<>$sMco_CodCusAtual ) {
				$sMco_CodCusAtual = SUBSTR($aRegistro['CUS_CODIGO'],0,3);
				$nImp_RegistroCnt = 0;
				$nSaldoLinha      = 0;
                $sTxt_RelCus =    // Cabeçalho do centro de custo
				   //$sPulaLinha.
				   $sMco_CodCusAtual.".000".
				   " - ".
				   @$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_DESCRI'].
				   " ".
				   ( @$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_CREDEB'] ?
				     "(CREDITOS)"
				   :
				     "(DEBITOS)"
				   ).
				   $sPulaLinha.
                   "";
			 }
			 //
			 If ( $nMco_CodCusAtual<>$aRegistro['MCO_CODCUS'] ) {
			    $nMco_CodCusAtual = $aRegistro['MCO_CODCUS'];
			    $nSubSaldoTotal   = 0;
			 }
			 //
			 $nValor_Lanc = $aRegistro['MCO_VALLAN'];
			 If ( $aRegistro['MCO_CREDEB'] ) {
		        $nSaldoG_Creditos += $nValor_Lanc; // Crédito
			 } Else {                             
		        $nSaldoGr_Debitos += $nValor_Lanc; // Débito
			 }
			 $nSaldoLinha    += $nValor_Lanc;
			 $nSubSaldoTotal += $nValor_Lanc;
			 //
			 $nImp_RegistroCnt++;
			 $nGrl_RegistroCnt++;
             //
             If ( (!ISSET($aRegistros[$nContadorInd+1])) OR $aRegistros[$nContadorInd+1]['MCO_CODCUS']<>$nMco_CodCusAtual ) {
                $sTxt_RelCus .=    // Rodapé do relatório do centro de custo
                  AlinhaStr($aRegistro['CUS_CODIGO'].'   -   '.$aRegistro['CUS_DESCRI'],0,68).
                  AlinhaStr(FormatoMoeda($nSubSaldoTotal),2,12).
                  $sPulaLinha.
                  "";
             }
			 //
			 If ( (!ISSET($aRegistros[$nContadorInd+1])) OR
			      SUBSTR($aRegistros[$nContadorInd+1]['CUS_CODIGO'],0,3)+0==0 OR
			      SUBSTR($aRegistros[$nContadorInd+1]['CUS_CODIGO'],0,3)<>$sMco_CodCusAtual
			 ) {
				If ( $nImp_RegistroCnt>0 ) {
                   $sTxt_Rel .=    // Rodapé do relatório da conta
				      $sTxt_RelCus.
                      //STR_REPEAT("-",120).
                      //$sPulaLinha.
                      AlinhaStr(
				        "Total ".
				   	    $sMco_CodCusAtual.
				   	    ".000 - ".@$aGrupoCustos[$sMco_CodCusAtual.".000"]['CUS_DESCRI']
				      ,2,68).
                      AlinhaStr(FormatoMoeda($nSaldoLinha),2,12).
                      //$sPulaLinha.
				      $sPulaLinha.
                      "";
				}
		     }
			 //
		  }
		  // Total geral
		  If ( $n_Fil_Cod_Cus==0 ) {
			 If ( $nGrl_RegistroCnt==0 ) {
                $sTxt_Rel .=    // Rodapé do relatório do custo
                   $sPulaLinha.
                   $sPulaLinha.
                   AlinhaStr("** NÃO HÁ LANÇAMENTOS **",1,80).$sPulaLinha.
                   $sPulaLinha.
                   $sPulaLinha.
                   STR_REPEAT("=",80).
                   $sPulaLinha.
                   $sPulaLinha.
				   "";
			 } Else {
                $sTxt_Rel .=    // Rodapé do relatório da custo
                   STR_REPEAT("=",80).
                   $sPulaLinha.
                   AlinhaStr("Total de receitas",2,68).
                   AlinhaStr(FormatoMoeda($nSaldoG_Creditos),2,12).
                   $sPulaLinha.
                   AlinhaStr("Total de despesas",2,68).
                   AlinhaStr(FormatoMoeda($nSaldoGr_Debitos),2,12).
                   $sPulaLinha.
                   AlinhaStr("Total geral",2,68).
                   AlinhaStr(FormatoMoeda($nSaldoG_Creditos-$nSaldoGr_Debitos),2,12).
                   $sPulaLinha.
                   STR_REPEAT("=",80).
			       $sPulaLinha.
			       $sPulaLinha.
			       $sPulaLinha.
                   "";
			 }
		  }
		  //
	   }
	   //
	   //
	   $sTxt_Rel = RemoveAcentos($sTxt_Rel);
	   $aSessaoLocal['TXT_REL'] = $sTxt_Rel;
       $sHTML_Rel = $sTxt_Rel;
       $sHTML_Rel = STR_REPLACE(CHR(10),"",$sHTML_Rel);
       $sHTML_Rel = STR_REPLACE(CHR(13),"<br>",$sHTML_Rel);
       $sHTML_Rel = STR_REPLACE(CHR(32),"&nbsp;",$sHTML_Rel);
       $sHTML_Rel =
          '<div align="center" style="-moz-user-select:text; -khtml-user-select:text; -webkit-user-select:text; -ms-user-select:text; user-select: text; cursor:auto;">'.
           '<table border="0" cellspacing="0" cellpadding="0"><tr><td align="left" style="font-size:13px; font-family:Courier New,Courier,mono;">'.
            $sHTML_Rel.
           '</td></tr></table>'.
          '</div>';
	   //
       $sRet_Javs .= 
          "parent.document.getElementById('dv_RelCPCR_Txt').innerHTML = ".JAVA_CharCode($sHTML_Rel).";".
          "";
	   //
    //
    // IMPRIMIR Relatório pronto
    } ElseIf ( $sAcao=="IMP" ) {
       $sRet_Javs .= "parent.JanEspera(false); ";
       $sCfg_ClpExp2 = SQLVarConfig('GARCOM_CLIPPER_ARQ_EXPORTA2');
       If ( STRLEN($sCfg_ClpExp2)>3 ) {
	      $sTxt_Cupom = @$aSessaoLocal['TXT_REL'];
          If (STRLEN($sTxt_Cupom)>0) {
		     // Gravar o relatório Texto
             $sNomArqExpT = $sCfg_ClpExp2.$R_CadFuncionario->FUN_CODIGO.'_'.DATE("d-m-Y_h-i-s").'_RCP.TMP';
             $sIP_NomeArq = STR_REPLACE(".","_",ObterIPdoCliente());
             $sNomArqExpR = $sCfg_ClpExp2.$R_CadFuncionario->FUN_CODIGO.'_'.DATE("d-m-Y_h-i-s").'_RCP_'.$sIP_NomeArq.'.REL';
			 //
			 ERROR_REPORTING(0);      // Bloqueio o relatório de erro
             If ( $hArqExp = FOPEN( $sNomArqExpT, "a" ) ) {
                FWRITE($hArqExp, $sTxt_Cupom );
                FCLOSE( $hArqExp );
        	    If ( FILE_EXISTS($sNomArqExpR) ) { UNLINK($sNomArqExpR); }
        	    RENAME( $sNomArqExpT, $sNomArqExpR );
			    //
			 } Else {
		        $sRet_Javs .= Info_Evento('Erro ao gerar arquivo do relatório para impressão.',1,"Impressão de relatório");
			 }
			 ERROR_REPORTING(E_ALL); // Desbloqueio o relatório de erro
             //
          } Else {    // Sem conteudo para imprimir
             $sRet_Javs .=
                 Info_Evento('Não há conteúdo para imprimir.').
                 '';
          }
       } Else {       // Sem caminho para impressão
          $sRet_Javs .=
             Info_Evento('Parametros do caminho inválido.').
             $sJavaFechaEr;
       }
    //
	// >> Gerar texto para download
    } ElseIf ( $sAcao=="GERAR_TEXTO" ) {
	   $sArquivo = "Relatorio_Contas_Financeiras_".DATE("d-m-Y_H-i-s").".txt";
       $sTxt_Cupom = @$aSessaoLocal['TXT_REL'];
	   HEADER("Content-Type: text/plain");
	   HEADER("Content-Length: ".STRLEN($sTxt_Cupom));
	   HEADER("Content-Disposition: attachment; filename=".$sArquivo);
	   ECHO $sTxt_Cupom;
	   EXIT;
    //
    // >> FECHAR Janela
    } ElseIf ( $sAcao=="FECHAR" ) {
       $sRet_Javs .=
	       "if (parent.document.getElementById('".$oJanelaPrinc->sIdObj."') != null) { parent.RmElem('".$oJanelaPrinc->sIdObj."'); }".
		   "parent.document.getElementById('".$sNomeIdJan1."_Travar').style.visibility='hidden';".
		   "parent.Disabled_In_Elems('".$sNomeIdJan1."',false);".
	       "parent.document.getElementById('in_RelCNT_DatIni').focus();".
		   "parent.Car_".$sNomeAcesso."1.Atualiza();".
		   "";
	}
    //
}
//
// Tratamento da variável de sessão
If ( ISSET($aSessaoLocal) ) {
   $aSessao[$sNomeAcesso.'_S'] = $aSessaoLocal;
} Else {
   UNSET( $aSessao[$sNomeAcesso.'_S'] );
}
//
?>