<?php
INCLUDE "./global/imp_pdf.inc";
//
$sNomeIdJan1 = 'iJan_RelCmsP_Princ';
$sNomeIdJan2 = 'iJan_RelCmsP_TxtVs';
$sCorBarraInf = '#E8E3CE';
$sEmpresaFan = SQLVarConfig('EMPRESA_NOME_FANTASIA');
$sTipoLocal = SQLVarConfig('NOME_LOCAIS_SVC');
$sData_Trabalho = SQLVarConfig('DATA_DE_TRABALHO');
$bTaxaIteIndv = (SQLVarConfig('TODOSITENS_COM_TAXASVR')+0)==0;
$bFatControle = SQLVarConfig('CONTROLE_DO_FAT_GERAL');
$bCom_P_V = SQLVarConfig('COM_MOT_P_V');
$bCom_T_M = SQLVarConfig('REC_MOT_TAX');
$bCom_TxaE = SQLVarConfig('TXA_ENT_VAL');
//
$sPulaLinha = CHR(13).CHR(10);

$sLocalCom  = $sTipoLocal;
If ($bFatControle) {
 $sLocalCom = 'Comanda';
}
//
$aV_Sessao = @$aSessao[$sNomeAcesso.'_S'];
//  ** TELA QUE MONTA O RELATÓRIO **
If ( $sSubModulo=="RELATORIO" ) {
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan2; 
    $oJanelaPrinc->nTop    = 2;
    $oJanelaPrinc->nLeft   = 5;
    $oJanelaPrinc->nWidth  = 580;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Relatório';
	$oJanelaPrinc->sJavOnClick  = "document.getElementById('in_RelCmsPV_Tecla').focus();";
	//
	$sJavaTravarJ = "document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; ";
	$oJanelaPrinc->sJavOnClickF =
        $sJavaTravarJ.
	    "document.forms.fmPRelCmsP_R.acao.value='FECHAR'; ".
        "document.forms.fmPRelCmsP_R.submit();";
	//
	//$aV_Sessao = @$aSessao[$sNomeAcesso.'_S'];
    //
    //
    // Montar o relatório
    If ( $sAcao=="MONTAR" ) {
	   $sSQLParm = '';
	   $d_Fil_DataIni = ConvertDataSTR( ConvertDataBRUS($aV_Sessao['Fil_DataIni']) );
	   $d_Fil_DataFim = ConvertDataSTR( ConvertDataBRUS($aV_Sessao['Fil_DataFim']) );
       // DATA INICIAL e FINAL
	   If ($d_Fil_DataIni>0) {
	      If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	      If ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==2 || $aV_Sessao['Opc_Tip_Opc']==3 ){
			 $sSQLParm .= '(FAT_DATAINI>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';                  // Comparando (Inicial)
          } ElseIf ($aV_Sessao['Opc_Tip_Opc']==1) {
             $sSQLParm .= '(MCF_DATAENTRA>="'.DATE('Y-m-d H:i:s',$d_Fil_DataIni).'")';          // Comparando (Inicial)
          }			 
	   }
	   If ($d_Fil_DataFim>0) {
	      If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	      If ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==2 || $aV_Sessao['Opc_Tip_Opc']==3 ){
			 $sSQLParm .= '(FAT_DATAINI<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';                  // Comparando (Final)
          } ElseIf ($aV_Sessao['Opc_Tip_Opc']==1) {
		      $sSQLParm .= '(MCF_DATAENTRA<="'.DATE('Y-m-d 23:59:59',$d_Fil_DataFim).'")';      // Comparando (Final)
		  }
	   }
	   //
	   $sPeriodo = '';
	   If ($d_Fil_DataIni==0 && $d_Fil_DataFim==0) {
	      $sPeriodo = '** TODOS **';
	   } ElseIf ($d_Fil_DataIni>0 && $d_Fil_DataFim==0) {
	      $sPeriodo = 'Apartir de '.$aV_Sessao['Fil_DataIni'];
	   } ElseIf ($d_Fil_DataIni==0 && $d_Fil_DataFim>0) {
	      $sPeriodo = 'Ate '.$aV_Sessao['Fil_DataFim'];
	   } Else {
	      $sPeriodo = $aV_Sessao['Fil_DataIni'].' ate '.$aV_Sessao['Fil_DataFim'];
	   }
	   //
	   If ( $aV_Sessao['Fil_Cod_Fun']>0 ) {
	       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	       If($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==2 || $aV_Sessao['Opc_Tip_Opc']==3 ){
			   If($aV_Sessao['Opc_Tip_Opc']==2) {
				  $sSQLParm .= '(FAT_COD_ENT="'.$aV_Sessao['Fil_Cod_Fun'].'")';                  // Filtro por Funcionario
				} Else {
				  $sSQLParm .= '(FAT_COD_FUN="'.$aV_Sessao['Fil_Cod_Fun'].'")';                  // Filtro por Funcionario
	         }
			 } ElseIf ($aV_Sessao['Opc_Tip_Opc']==1) {
			   $sSQLParm .= '(MCF_CODFUNCIO="'.$aV_Sessao['Fil_Cod_Fun'].'")';                  // Filtro por Funcionario
		    }
		}
	   If ( $aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==3 ) {
       If ( STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
          $sSQLParm .= '(FAT_TIP_LOC<>2 AND FAT_TIP_LOC<>1 )';                  // Filtro por Funcionario
       }  
       //
	   // Extrair do Banco de dados
	   //Por Produto
	   If ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']== 3) {
	      $sSQLRequest = "SELECT * FROM cad_produto;";
	      $Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
	      $aCad_Produtos = ARRAY();
	      While ( $Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp) ) {
	          $aCad_Produtos[ $Row_Temp['ITE_CODIGOI'] ] = $Row_Temp;
	      }
	      //
	      $sSQLRequest =
	          "SELECT cad_funcionario.FUN_CODIGO,cad_funcionario.FUN_NOMECP, cad_funcionario.FUN_PERCOM, ".
		             "fat_item.FAT_CODITE1, fat_item.FAT_CODITE2, fat_item.FAT_CODITE3, fat_item.FAT_CODITE4, ".
				     "fat_item.FAT_PRE_TOT, fat_item.FAT_QTD_ITE, cad_produto.ITE_CALCTAXASVR, ".
                     "fat_geral.FAT_CODIGOI, fat_geral.FAT_TAXASVR, fat_geral.FAT_TOT_CTX,fat_geral.FAT_DATAINI ".
	      	   "FROM fat_item,fat_geral,cad_funcionario,cad_produto ".
	      	   "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND' : '').
                " ITE_CODIGOI=fat_item.FAT_CODITE1 AND fat_geral.FAT_CODIGOI=fat_item.FAT_CFATGER AND ".
               "LENGTH(fat_item.FAT_CANITEM)=0 AND fat_geral.FAT_CANCELA=0 AND ".
               "fat_item.FAT_COD_FUN=cad_funcionario.FUN_CODIGO AND ".
               "fat_geral.FAT_RCFORMA > 0 AND cad_funcionario.FUN_ATIVO_ = 1 ".
               "ORDER BY fat_item.FAT_COD_FUN ASC, fat_geral.FAT_CODIGOI ASC;";
	      //DIE($sSQLRequest);
		  $Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
	      //
	      // $aLstRelFt[]    0 => Codigo do funcionario (também é chave da matriz, Ex: $aLstRelFt[(Codigo do funcionario)]
	      //                 1 => Nome do funcionario
	      //                 2 => Valor total dos produtos vendidos
	      //                 3 => Valor total da comissão
	      //                 4 => Lista de produtos (MATRIZ $aTmp_Prod)
	      //                 5 => Percentual da comissão
	      //                 6 => Quantidade de Mesas que garçom atendeu
          //
	      // $aTmp_Prod[]    0 => Codigo do produto (também é chave da matriz, Ex: $aTmp_Prod[(Codigo do produto)]
	      //                 1 => Descrição do produto
	      //                 2 => Valor total vendido
	      //                 3 => Valor da comissão
	      //                 4 => Quantidade
	      //                 5 => Percentual por produto da comissão
		  //                 
	      $aLstRelFt = ARRAY();
		  $Data_Venda= '';
		  $aItems    = Array(); // por produto
		  
	      While ( $Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp) ) {
	            //
	      	    If ( $bTaxaIteIndv && (!$Row_Temp['ITE_CALCTAXASVR']) ) {  CONTINUE; }
	      	    $n_CodFun = $Row_Temp['FUN_CODIGO'];
	            If ( ! ISSET($aLstRelFt[ $n_CodFun ]) ) {
		           $n_CodFtg = 0;
	      	       $aRegRelFt[0] = $n_CodFun;                            // Codigo do funcionario
	      	       $aRegRelFt[1] = $Row_Temp['FUN_NOMECP'];              // Nome do funcionario
	      	       $aRegRelFt[2] = 0;                                    // Valor total dos produtos vendidos
	      	       $aRegRelFt[3] = 0;                                    // Valor total da comissão
	      		   $aRegRelFt[4] = ARRAY();                              // Matriz da lista de produtos
				   $aRegRelFt[5] = 0;
				   $aRegRelFt[6] = 0;
				   $aRegRelFt[7] = ARRAY();                              // MATRIZ COM TOTAIS POR DIA
				   
                   If ( $aV_Sessao['Opc_Tip_Opc']==0 ) {  
                     $aRegRelFt[5] = $Row_Temp['FUN_PERCOM'];            // Percentual da comissão
                   }
                   
				   $aLstRelFt[$n_CodFun] = $aRegRelFt;
	      	    }
	      	    $aRegRelFt = $aLstRelFt[$n_CodFun];
				If ( $n_CodFtg<>$Row_Temp['FAT_CODIGOI'] ) {
				   $aRegRelFt[6]++;
	      	       $n_CodFtg = $Row_Temp['FAT_CODIGOI'];
				}
	      	    //
	      	    $aTmp_Prod  = $aRegRelFt[4];
	            $nQtdPartes = 0;
	      	    For ($nCont1Temp=1; $nCont1Temp<=4; $nCont1Temp++) {     // Calcula a quantidade de partes do produto
	      	        $n_CodPro = $Row_Temp['FAT_CODITE'.$nCont1Temp];
	      		    If ($n_CodPro>0) {
	      		       $nQtdPartes++;
	      	        }
	      	    }
			    // Capturar fator de comissão
			    $nFatorComissao = 0; 
				
				
                If ( $aV_Sessao['Opc_Tip_Opc']==3 ) {   // Por taxa de comissão
                   If ( $Row_Temp['FAT_TAXASVR']>0 ) {
                       If ( $Row_Temp['FAT_TOT_CTX']>0 ) {
					      $nFatorComissao = ROUND($Row_Temp['FAT_TAXASVR']/$Row_Temp['FAT_TOT_CTX'],4)*100;
                       }
				       
				   } 
                
				} Else {
                   $nFatorComissao = $Row_Temp['FUN_PERCOM'];
                }
			    //
	       	    $aReg_Temp = ARRAY();
                //
	       	    For ($nCont1Temp=1; $nCont1Temp<=4; $nCont1Temp++) {
	       	      $n_CodPro = $Row_Temp['FAT_CODITE'.$nCont1Temp];
       		      $bAdicionaPro = False;
	              If ( $n_CodPro>0 ) {  // Produtos
       		         $bAdicionaPro = True;
	                 If ( $aV_Sessao['Fil_Cod_Pro']>0 ) {
	       			    $bAdicionaPro = ($n_CodPro==$aV_Sessao['Fil_Cod_Pro']);
	       			 }
				  }
	       		  If ($bAdicionaPro) {
			         If ( ! ISSET($aTmp_Prod[$n_CodPro]) ) {
			            $aReg_Temp[0] = $n_CodPro;                     // Codigo
				        $aReg_Temp[1] = '(Não cadastrado)';            // Descrição
				        $aReg_Temp[2] = 0;                             // Valor total vendido
				        $aReg_Temp[3] = 0;                             // Valor total da comissão
				        $aReg_Temp[4] = 0;                             // Quantidade
						
						
                        //
			            If ( ISSET( $aCad_Produtos[$n_CodPro] ) ) {
		                   $aReg_Temp[1] = SUBSTR( $aCad_Produtos[$n_CodPro]['ITE_DESCRIC'], 0,30 );
			            }
			               $aTmp_Prod[$n_CodPro] = $aReg_Temp;
				     }
				     $aReg_Temp = $aTmp_Prod[$n_CodPro];
					 // Variáveis do item para calculo
					 $nItem_ValorVen = 0;   // Valor vendido
					 $nItem_ValorCms = 0;   // Valor da comissão
					 $nItem_Quantida = 0;   // Quantidade
					 // Calculo do item
					 $nItem_ValorVen = ROUND($Row_Temp['FAT_PRE_TOT']/$nQtdPartes,2);
					 $nItem_Quantida = ROUND($Row_Temp['FAT_QTD_ITE']/$nQtdPartes,3);
					 $nItem_ValorCms = ROUND($nItem_ValorVen * ($nFatorComissao/100),2);
				     //
					 
					 //
					 $aReg_Temp[2] += $nItem_ValorVen;
					 $aReg_Temp[3] += $nItem_ValorCms;
                     $aReg_Temp[4] += $nItem_Quantida;
                     If ($aReg_Temp[2]>0){
					    $aReg_Temp[5]  = ROUND(($aReg_Temp[3]/$aReg_Temp[2])*100,2);
                     } Else {
					    $aReg_Temp[5]  = 0;
					 }
					 
					 //
                     //ALTERAÇÃO 4324 
					 $Data_Venda = DATE( 'd-m-Y', ConvertDataSTR($Row_Temp['FAT_DATAINI']) );   // Data da Venda
					 //
                     $pos_ascan = ascan_sim( $aItems, 0, $Data_Venda.$n_CodFun ) ;
                     If ( $pos_ascan >= 0 ){
                        $aItems[$pos_ascan][1] += $nItem_ValorVen;
                        $aItems[$pos_ascan][2] += $nItem_ValorCms;
						//
                        // Se nao existir, ADD na Matriz
						//
                     } Else {
						$aItems[] = Array($Data_Venda.$n_CodFun,
						  			      $nItem_ValorVen,
										  $nItem_ValorCms );      
					 }
					 
					 $aTmp_Prod[$n_CodPro] = $aReg_Temp;     //
					 
					 // Atualizar Totais
				     $aRegRelFt[2] += $nItem_ValorVen;
                     $aRegRelFt[3] += $nItem_ValorCms;
                     If ($aRegRelFt[2]>0){
					    $aRegRelFt[5]  = ($aRegRelFt[3]/$aRegRelFt[2])*100;
					 } Else {
					    $aRegRelFt[5]  = 0;
					 }
					 
					 
                  }
	      		  //
	      	    }
					 
	      	    //
	      	    $aRegRelFt[4] = $aTmp_Prod;
				$aRegRelFt[7] = $aItems;
				//
                $aLstRelFt[$n_CodFun] = $aRegRelFt;
	      	    If ($aLstRelFt[$n_CodFun][2]==0) {
	      	       UNSET( $aLstRelFt[$n_CodFun] );
	      	    }
	      }
		  
	  //lancamento manual
      } ElseIf($aV_Sessao['Opc_Tip_Opc']==1) {
			
		  $sSQLRequest =
	     	   ($aV_Sessao['Tipo_Relato']==0 ?
				   "SELECT sum(MCF_VALLANCAM) AS MCF_VALLANCAM, MCF_CODFUNCIO, MCF_DATACANCE, MCF_CODEMPRES,
		              FUN_NOMECP " 
		      :
               "SELECT MCF_DATAENTRA,MCF_CODFUNCIO,MCF_VALLANCAM, MCF_DATACANCE, MCF_CODEMPRES,
		             FUN_NOMECP "
				).		  
            "FROM mov_comissao_func ".
            "LEFT JOIN cad_funcionario on MCF_CODFUNCIO = FUN_CODIGO ".
		      "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND ' : '').
				        "MCF_DATACANCE IS NULL AND cad_funcionario.FUN_ATIVO_ = 1 ".
				($aV_Sessao['Tipo_Relato']==0 ?
				   "GROUP BY MCF_CODFUNCIO,MCF_DATACANCE, MCF_CODEMPRES,
		                FUN_NOMECP " 
		      :
				   ""
				).			 
   			" ORDER BY MCF_CODFUNCIO ASC;";
		
		
		
		   $Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
		   $aMov_ComFunc = ARRAY();
	      $nVal_Com = 0;
		   While ($Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp)){
		     $aMov_ComFunc [ $Row_Temp['MCF_CODFUNCIO'] ] = $Row_Temp;			
		
		   }
      //
		} ElseIf ($aV_Sessao['Opc_Tip_Opc']==2) { // POR ENTREGADOR	
			
			$sSQLRequest =
	        	   ($aV_Sessao['Tipo_Relato']==0 ?
					  ( $bCom_P_V==0 ?
						"SELECT ".$aV_Sessao['Com_Ent']." AS COMDIG, "
					  :	
					   "SELECT SUM(".$aV_Sessao['Com_Ent'].") AS COMDIG, "
					  ). 
								  " FAT_DATAINI,FAT_CODIGOI,SUBSTR(FAT_DAT_INI,11) AS DATAINI, ".
						        "SUM( FAT_TOT_REC - FAT_TAXASVR) AS VALCOM, ".
								  "SUM(FAT_TOT_REC) AS TOTREC , SUM(FAT_TAXASVR) AS TAXASVR, ".
								  "SUM(FAT_TROCOPA) AS TROCOPA,FAT_COD_ENT, ".
						        "FUN_CODIGO, FUN_NOMECP, ".
                          "COUNT(FAT_COD_ENT) AS Quantidade, ".
								  "CLI_NOMECP "									
			      :
                  "SELECT ".$aV_Sessao['Com_Ent']." AS COMDIG , FAT_DATAINI,FAT_CODIGOI,SUBSTR(FAT_DAT_INI,11) AS DATAINI, ".
						        "( FAT_TOT_REC - FAT_TAXASVR) AS VALCOM, ".
								  "FAT_TOT_REC, FAT_TAXASVR, ".
								  "FAT_TROCOPA AS TROCOPA,FAT_COD_ENT, ".
						        "FUN_CODIGO, FUN_NOMECP, ".
                          //"COUNT(FAT_COD_ENT) AS Quantidade, ".
								  "CLI_CODIGOI,CLI_NOMECP "									
					  
					).		  
               //"FROM cad_funcionario ".
               "FROM fat_geral ".
					//"LEFT JOIN fat_geral on FUN_CODIGO = FAT_COD_ENT ".
					"LEFT JOIN cad_funcionario on FAT_COD_ENT = FUN_CODIGO ".
					"LEFT JOIN cad_cliente on FAT_CLIENTE = CLI_CODIGOI ".
			      "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND ' : '').
					       "FAT_CAN_DAT IS NULL  AND ".
					       "FAT_TIP_LOC = 2 AND FAT_RCFORMA > 0 AND cad_funcionario.FUN_ATIVO_ = 1 ".
					($aV_Sessao['Tipo_Relato']==0 ?
					"GROUP BY FAT_COD_ENT,FAT_CAN_DAT, FAT_COD_EMP,
			             FUN_NOMECP " 
			      :
					  ""
					).			 
   				" ORDER BY FAT_COD_ENT ASC;";
					'';
			   
			  
			
			   $Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
			   $aMov_ComFunc = ARRAY();
	         $nVal_Com = 0;
			   
				While ($Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp)){
			     $aMov_ComFunc [ $Row_Temp['FAT_COD_ENT'] ] = $Row_Temp;			
			  	}
		
		}
	    $sNome_Rel = '';
	    ( ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==2 || $aV_Sessao['Opc_Tip_Opc']==3 ) ?
		   $sNome_Rel = 'COMISSAO FUNCIONARIO'
        :
		   $sNome_Rel = 'COMISSAO POR PRODUTOS'
	    ).
	    '';
       //
       $sCsv_Rel = "";
       //
	   // Cabeçalho do relatório
       $sTxt_Rel =
          $sPulaLinha.
          //AlinhaStr($sEmpresaFan,1).$sPulaLinha.
		  // ( ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==2 || $aV_Sessao['Opc_Tip_Opc']==3 ) ?
		  //    AlinhaStr("** COMISSAO FUNCIONARIO**",1).$sPulaLinha
          //:
		  //     AlinhaStr("** COMISSAO POR PRODUTOS **",1).$sPulaLinha
          // ).
		  // 'Emissao.: '.DATE('d/m/Y H:i:s').$sPulaLinha.
          //'Operador: '.SUBSTR(PegarPorPausa($R_CadFuncionario->FUN_NOMECP,3),0,30).$sPulaLinha.
          AlinhaStr('Empresa.....: '.$Dados_Empresa['EMP_FANTAS'],0,40).$sPulaLinha.
		  AlinhaStr('Relatorio...: '.$sNome_Rel,0,40).$sPulaLinha.
		  AlinhaStr('Emissao.....: '.DATE('d/m/Y H:i:s'),0,40).$sPulaLinha.
		  AlinhaStr('Operador....: '.$R_CadFuncionario->FUN_NOMECP,0,40).$sPulaLinha.
		            'Periodo.....: '.$sPeriodo.$sPulaLinha.
		  ($aV_Sessao['Tipo_Relato']==0 ? ' * Relatorio sintetico'.$sPulaLinha : '').
		  ($aV_Sessao['Tipo_Relato']==1 ? ' * Relatorio analitico'.$sPulaLinha : '').
		  ($aV_Sessao['Tipo_Relato']==2 ? ' * Relatorio sintetico por data'.$sPulaLinha : '').
	      ($aV_Sessao['Opc_Tip_Opc']==0 ? ' * ('.$sLocalCom.')'.'Perc. do Cad. de Func.Prod.'.$sPulaLinha : '').
          ($aV_Sessao['Opc_Tip_Opc']==3 ? ' * ('.$sLocalCom.')'.'Perc. da Tx. de Serv. Cob.Prod.'.$sPulaLinha : '').
          ($aV_Sessao['Opc_Tip_Opc']==2 ? ' * (Disk)'.'Por Entregador'.$sPulaLinha : '').
          ($aV_Sessao['Opc_Tip_Opc']==1 ? ' * Lançamento Manual'.$sPulaLinha : '').
          ($aV_Sessao['Fil_Cod_Fun']>0 ? 'Somente funcionario.: '.Str_Zero($aV_Sessao['Fil_Cod_Fun'],3).'-'.SUBSTR( PegarPorPausa(@$aLstRelFt[$aV_Sessao['Fil_Cod_Fun']][1],2) ,0,14).$sPulaLinha : '').
          ($aV_Sessao['Fil_Cod_Pro']>0 ? 'Somente produto.: '.Str_Zero($aV_Sessao['Fil_Cod_Pro'],3).'-'.SUBSTR( PegarPorPausa(@$aCad_Produtos[$aV_Sessao['Fil_Cod_Pro']]['ITE_DESCRIC'],2) ,0,14).$sPulaLinha : '').
          STR_REPEAT("=",40).$sPulaLinha.
          "";
	  //
	  $n_Reg_Qtd = 0;
	  $n_Tot_Fun = 0;
	  $n_UltCodFun = 0;
	  $n_UltCodTmp = 0;
	  // PRODUTO
	  $nTotalPro = 0;
      $nGeralPer = 0;
	  $nTotalCom = 0;
	  //
	  // ** Relatório Sintético **
	  If ( $aV_Sessao['Tipo_Relato']==0 || $aV_Sessao['Tipo_Relato']==2 ) {
         If ( $aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==3) {
		   	$sTxt_Rel .=
	           //"      VALOR TOTAL   x   PERC. = COMISSAO".$sPulaLinha.
	             "      VALOR TOTAL               COMISSAO".$sPulaLinha.
                 STR_REPEAT("=",40).$sPulaLinha.
			     "";
	        ForEach ( $aLstRelFt As $aTmp_Func ) {        // Funcionario
               
			   $sTxt_Rel .=
                   AlinhaStr( Str_Zero($aTmp_Func[0],3).' - '.PegarPorPausa($aTmp_Func[1],5),0 ).$sPulaLinha.
				   AlinhaStr('Qtde de '. $sTipoLocal.': '.$aTmp_Func[6],0).$sPulaLinha.
				   $sPulaLinha.
				   $sPulaLinha.
				   "";
			   If ($aV_Sessao['Opc_Tip_Opc']==3 && $aV_Sessao['Tipo_Relato']==2){
			      ForEach ( $aTmp_Func[7] As $aTmp_PoDia ) {    // Por dia
                     If (SUBSTR($aTmp_PoDia[0],10)==$aTmp_Func[0]){
				        $sTxt_Rel .=
				           AlinhaStr( SUBSTR($aTmp_PoDia[0],0,10).' '.
					       ' R$ '.AlinhaStr( FormatoMoeda( $aTmp_PoDia[1]),2,10 ).' '.
					       ' R$ '.AlinhaStr( FormatoMoeda( $aTmp_PoDia[2]),2,10 ),0,40 ).
					       $sPulaLinha.
					       "";
				     }	  
			      }
			   }	 
			   //"TOTAL..:".AlinhaStr( FormatoMoeda($aTmp_Func[2]),2, 11)." x ".AlinhaStr(FormatoMoeda($aTmp_Func[5]),2,6)."% = ".AlinhaStr( FormatoMoeda($aTmp_Func[3]), 2, 8).$sPulaLinha.
			   $sTxt_Rel .=
			      $sPulaLinha.
			      "TOTAL..:".AlinhaStr( FormatoMoeda($aTmp_Func[2]),2, 11)."             ".AlinhaStr( FormatoMoeda(ROUND($aTmp_Func[5])*$aTmp_Func[2]/100), 2, 8).$sPulaLinha. //13|08|2019  Murilo Augusto Hanisch coloquei mais um ROUND para tirar o valor que vinha a mais errado na porcentagem da comissão, e fiz o calculo pela porcentagem vezes o total dividindo por 100
                  STR_REPEAT("-",40).$sPulaLinha.
			      "";
		       
			   $n_Reg_Qtd++;
			   $nTotalPro += $aTmp_Func[2];
               $nTotalCom += ROUND($aTmp_Func[5]) * $aTmp_Func[2] /100; //13|08|2019  Murilo Augusto Hanisch alterar o valor geral das comissões
	         
			}
			If ( $nTotalCom>0 AND $nTotalPro>0 ) { 
               $nGeralPer = ROUND($nTotalCom/$nTotalPro*100,2);
			} 
		 } ElseIf ($aV_Sessao['Opc_Tip_Opc']==1) { //SINTETICO LANCAMENTO MANUAL
				$sTxt_Rel .=
		         '| COD-GARCOM              '.
			      '|   VALOR   '.
		         ' |'.
					$sPulaLinha.
                    STR_REPEAT("=",40).$sPulaLinha.
					  "";
			   $n_Tot_Sin = 0;
				ForEach ( $aMov_ComFunc as $aComFunc ) {
			     If($aComFunc['MCF_VALLANCAM']>0) {
                					 				 
					 If ($aComFunc['MCF_CODFUNCIO'] <> $n_UltCodFun ){		
					   $n_UltCodFun = $aComFunc['MCF_CODFUNCIO'];
						$sNomFun = Str_Zero($aComFunc['MCF_CODFUNCIO'],4).' - '.$aComFunc['FUN_NOMECP'];
		            
						$sTxt_Rel .=
			            '| '.
			            AlinhaStr( $sNomFun  ,0 , 23).
			            ' | '.
			            AlinhaStr( NUMBER_FORMAT($aComFunc['MCF_VALLANCAM'],2,',','') ,2,10).
			            ' |'.
			            $sPulaLinha.
			            '';
			         
						$n_Tot_Sin +=  $aComFunc['MCF_VALLANCAM'];
				      $n_Reg_Qtd++;
			 	    } 
				  } 
				 	 
				}	 
				If ($n_Tot_Sin>0) {
			       $sTxt_Rel .=
				      '| '.
				      STR_REPEAT(" ", 37).'|'.
				      $sPulaLinha.
				      '| '.
				      STR_REPEAT(" ", 11)."TOTAL GERAL..:".AlinhaStr( FormatoMoeda($n_Tot_Sin),2,11)." ".
					  '|'.
					  $sPulaLinha.
			          '';
				}
		 } ElseIf ($aV_Sessao['Opc_Tip_Opc']==2) { // SINTÉTICO POR ENTREGADOR
            $sCsv_Rel .=
               "Entregador;Qtd Entregas;Valor;Troco;Comissão".
               $sPulaLinha;
            //
			$sTxt_Rel .=
		       "                 Entregador             ".$sPulaLinha.
			   "  Ent.  Valor       Troco       Comissao".$sPulaLinha.
               STR_REPEAT("=",40).$sPulaLinha.
			   "";
			//
			$n_Tot_Sin = 0;
			$n_Qtd_Tot = 0;
			$n_Tot_Tro = 0;
			$n_Tot_Fun = 0;
			$nTot_Tax  = 0;
			$nTro_Ger  = 0;
            $nFun_Ven  = 0;
            $nFun_Com  = 0;				
            $nFun_Tro  = 0;
			$nFun_Tax  = 0;
            $nTro_Fun =  0;
			//
			ForEach ( $aMov_ComFunc as $aComFunc ) {
			  If ($bCom_P_V==0) { // percentual
		         $_Ent_Ent = (( $aComFunc['COMDIG']*$aComFunc['VALCOM']) / 100);
		         $_Per_Ent = $aComFunc['COMDIG'];
		      } ElseIf ($bCom_P_V==1) { // valor
		         $_Ent_Ent = $aComFunc['COMDIG'];
			     $_Per_Ent = '';
		      } Else { //  pizza entregue
			     $_Ent_Ent = '';
			     $_Per_Ent = '';
			  }
			  If ($aComFunc['VALCOM']>0) {
                 $nFun_Ven = $aComFunc['VALCOM'];
			     $nFun_Com = $_Ent_Ent ;
			     $nFun_Tro = ( $aComFunc['TROCOPA'] > 0 ? $aComFunc['TROCOPA'] : $aComFunc['TOTREC']);		            				
                 $nTro_Fun = ( $aComFunc['TROCOPA'] > 0 ?  $aComFunc['TROCOPA'] - $aComFunc['TOTREC'] : 0);
			     If ($aComFunc['FAT_COD_ENT'] <> $n_UltCodFun ) {
                    $n_UltCodFun = $aComFunc['FAT_COD_ENT'];
                    $sNomFun = Str_Zero($aComFunc['FAT_COD_ENT'],4).' - '.$aComFunc['FUN_NOMECP'];
                    //
                    $sTxt_Rel .=
                      AlinhaStr( $sNomFun  ,0 , 23).
                      $sPulaLinha.
                      AlinhaStr( $aComFunc['Quantidade'],2,4).AlinhaStr( '  R$ '.NUMBER_FORMAT($aComFunc['VALCOM'],2,',','') ,2,11).AlinhaStr('R$ '.FormatoMoeda(($aComFunc['TROCOPA'] > 0 ? $aComFunc['TROCOPA']: $aComFunc['TOTREC'])),2, 11).AlinhaStr('R$ '.FormatoMoeda($nFun_Com),2, 14). 
                      $sPulaLinha.
                      '';
                    //
                    $sCsv_Rel .=
                      $sNomFun.';'.
                      $aComFunc['Quantidade'].';'.
                      "R$ ".FormatoMoeda($aComFunc['VALCOM']).';'.
                      "R$ ".FormatoMoeda(($aComFunc['TROCOPA'] > 0 ? $aComFunc['TROCOPA']: $aComFunc['TOTREC'])).';'.
                      "R$ ".FormatoMoeda($nFun_Com).';'.
                      $sPulaLinha;
                    //
                    $n_Tot_Sin += $aComFunc['VALCOM'];
                    $n_Qtd_Tot += $aComFunc['Quantidade'];
                    $n_Tot_Tro += ( $aComFunc['TROCOPA'] > 0 ? $aComFunc['TROCOPA']:$aComFunc['TOTREC']);
                    $n_Tot_Fun += $nFun_Com;
                    $nTro_Ger  += ( $aComFunc['TROCOPA'] > 0 ?  $aComFunc['TROCOPA'] - $aComFunc['TOTREC'] : 0);	
                    $n_Reg_Qtd++;
                    // motoqueiro recebe taxa
                    If ($bCom_T_M) {
                       $nFun_Tax  = $aComFunc['TAXASVR'];
                       $nTot_Tax += $aComFunc['TAXASVR'];
                       $sTxt_Rel .=
                         AlinhaStr( 'Total de Taxas..: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nFun_Tax),2, 12). 
                         $sPulaLinha.
				         $sPulaLinha.
					     AlinhaStr( 'Comissao + Taxas: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nFun_Com+$nFun_Tax),2, 12). 
					     $sPulaLinha.
				         AlinhaStr( 'Vr dado p/ Troco: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nTro_Fun),2, 12). 
					     $sPulaLinha.							  
					     AlinhaStr( 'Vr a Receber....: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nFun_Tro),2, 12).
                         $sPulaLinha.							  
					     '';
				    } 
                    $sTxt_Rel .=
				      STR_REPEAT("-",40).$sPulaLinha.
                      '';							
			     } 
			  } 
			}	
				If($n_Tot_Sin>0){	 
				  $sTxt_Rel .=
				    AlinhaStr( "TOTAL GERAL DO RELATORIO",1,40).
					 $sPulaLinha.
					 AlinhaStr( "Qdde de Entregas: ".$n_Qtd_Tot,2,40).
					 $sPulaLinha.
					 '  '.AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Sin),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Tro),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Fun),2,14)." ".
					 $sPulaLinha.
				    '';
				     
					If($bCom_T_M) {
				      $sTxt_Rel .=
				         AlinhaStr( 'Total de Taxas..: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nTot_Tax),2, 12). 
					      $sPulaLinha.
				         '';
				
                    $sTxt_Rel .=
				           $sPulaLinha.
					        AlinhaStr( 'Total Final....: R$ ',2,28 ).AlinhaStr( FormatoMoeda($n_Tot_Fun+$nTot_Tax),2, 12). 
					        $sPulaLinha.
				           AlinhaStr( 'Total de Troco.: R$ ',2,28 ).AlinhaStr( FormatoMoeda($nTro_Ger),2, 12). 
					        $sPulaLinha.							  
							  AlinhaStr( 'Total a Receber: R$ ',2,28 ).AlinhaStr( FormatoMoeda($n_Tot_Tro),2, 12).
                       $sPulaLinha.							  
					        '';
				   } 
				
				}
			
         }
	   //
	   // ** Relatório Analítico **
	   } ElseIf ($aV_Sessao['Tipo_Relato']==1) {
         If ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==3) {
			$sTxt_Rel .=
		      //"    QTD       TOTAL     PERC.   COMISSAO".$sPulaLinha.
		      //"       VALOR TOTAL  x   PERC.   COMISSAO".$sPulaLinha.
		        "    QTD       TOTAL             COMISSAO".$sPulaLinha.
		        "       VALOR TOTAL              COMISSAO".$sPulaLinha.
                STR_REPEAT("=",40).$sPulaLinha.
			    "";
	        ForEach ( $aLstRelFt As $aTmp_Func ) {          // Funcionario
               $sTxt_Rel .=
                   AlinhaStr(Str_Zero($aTmp_Func[0],3).' - '.PegarPorPausa($aTmp_Func[1],5),0).$sPulaLinha.
				   $sPulaLinha.
				   "";
	           ForEach ( $aTmp_Func[4] As $aTmp_Prod ) {    // Produtos
                 $sTxt_Rel .=
				     Str_Zero($aTmp_Prod[0],4)." - ".$aTmp_Prod[1].$sPulaLinha.
					 //AlinhaStr( NUMBER_FORMAT($aTmp_Prod[4],3,',','') ,2,9)." ".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Prod[2]),2,9)." ".AlinhaStr(FormatoMoeda($aTmp_Prod[5]),2,9).'%'." ".AlinhaStr('R$ '.FormatoMoeda( $aTmp_Prod[3]),2,9).$sPulaLinha.
					 AlinhaStr( NUMBER_FORMAT($aTmp_Prod[4],3,',','') ,2,9)." ".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Prod[2]),2,9)."            ".AlinhaStr('R$ '.FormatoMoeda( $aTmp_Prod[3]),2,9).$sPulaLinha.
					 "";
		         $n_Reg_Qtd++;
			   }
               $sTxt_Rel .=
			       $sPulaLinha.
		           //"TOTAL..:".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Func[2]),2, 11)." x  ".AlinhaStr(FormatoMoeda($aTmp_Func[5]),2,6)."%".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Func[3]), 2, 10).$sPulaLinha.
		           "TOTAL..:".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Func[2]),2, 11)."           ".AlinhaStr( 'R$ '.FormatoMoeda($aTmp_Func[3]), 2, 10).$sPulaLinha.
                   STR_REPEAT("-",40).$sPulaLinha.
				   "";
		       $nTotalPro += $aTmp_Func[2];
		       $nTotalCom += $aTmp_Func[3];
	        }
			If ($nTotalCom>0 AND $nTotalPro>0 ) {
               $nGeralPer = ROUND($nTotalCom/$nTotalPro*100,2);
			}
		  //
          } ElseIf ($aV_Sessao['Opc_Tip_Opc']==1) { //ANALITICO LANCAMENTO MANUAL
			
				$sTxt_Rel .=
		         '| DATA PAG.  '.
			      '| DATA ENT.  '.
			      '| VALOR     '.
		         ' |'.
					$sPulaLinha.
                    STR_REPEAT("=",40).$sPulaLinha.
					  "";
			   
				$n_Tot_Fun = 0;
			   $n_UltCodFun = 0;
			   $n_Tot_FunGer = 0;
           	
				$Rows_Temp2 = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR()); 
				//
				
				While ($aComFunc2 = MYSQL_FETCH_ARRAY($Rows_Temp2)){
	   		   //$n_UltCodFun = $aComFunc2['MCF_CODFUNCIO'];
				
				   If ($aComFunc2['MCF_CODFUNCIO'] <> $n_UltCodFun ){		
                   $n_UltCodFun = $aComFunc2['MCF_CODFUNCIO'];
						 $sNomFun = Str_Zero($aComFunc2['MCF_CODFUNCIO'],4).' - '.$aComFunc2['FUN_NOMECP'];
		             
						 $sTxt_Rel .=
			            '| '.
							STR_REPEAT(" ", 37).'|'.
							$sPulaLinha.
							'| '.
							AlinhaStr( $sNomFun  ,0 , 36).
			            ' |'.
							$sPulaLinha.'| '.
							STR_REPEAT(" ", 37).'|'.
							$sPulaLinha.
							'';

						$sSQLReques2 =
	     	            "SELECT MCF_DATAENTRA,MCF_CODFUNCIO,MCF_VALLANCAM, MCF_DATACANCE, MCF_CODEMPRES,
		                       FUN_NOMECP ". 
		               "FROM mov_comissao_func ".
                     "LEFT JOIN cad_funcionario on MCF_CODFUNCIO = FUN_CODIGO ".
		               "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND ' : '').
				                "MCF_DATACANCE IS NULL AND AND cad_funcionario.FUN_ATIVO_ = 1 ".
							       "MCF_CODFUNCIO = ".$n_UltCodFun.
                     " ORDER BY MCF_CODFUNCIO ASC;";
				      
				      $Rows_Temp3 = MYSQL_QUERY($sSQLReques2) Or Die($sSQLReques2."<br>".MYSQL_ERROR()); 
				      
						While ($aComFunc3 = MYSQL_FETCH_ARRAY($Rows_Temp3)) {
						      
			           If($aComFunc3['MCF_VALLANCAM']>0) {
                      $n_Tot_FunGer += $aComFunc3['MCF_VALLANCAM'];
							 $n_Tot_Fun    += $aComFunc3['MCF_VALLANCAM'];  
							 
							 $sTxt_Rel .=
			               '| '.
			               AlinhaStr( DATE("d/m/Y",ConvertDtHrSTR($aComFunc3['MCF_DATAENTRA'])),2,10).
			               ' | '.
							   AlinhaStr( DATE("d/m/Y",ConvertDtHrSTR($aComFunc3['MCF_DATAENTRA'])),2,10).
			               ' | '.
							   AlinhaStr( NUMBER_FORMAT($aComFunc3['MCF_VALLANCAM'],2,',','') ,2,10).
			               ' |'.
			               $sPulaLinha.
			               '';
         				
				
	                   $n_Reg_Qtd++;		
							 
			 	 	 	    
						  }
						 
						  
						}
					}			 
					
					If($n_Tot_Fun>0) {
					
						$sTxt_Rel .= 
						  '| '.
				        STR_REPEAT(" ", 37).'|'.
				        $sPulaLinha.
						  '| '.
						  STR_REPEAT(" ", 9).
						  'TOTAL DO GARCON: '.
						  AlinhaStr( NUMBER_FORMAT($n_Tot_Fun,2,',','') ,2,10).
                    ' |'.
						  $sPulaLinha.
						  '';			
						  $n_Tot_Fun = 0;
					
              }
				
				}
			} ElseIf ($aV_Sessao['Opc_Tip_Opc']==2) { //ANALITICO 
   		      $sTxt_Rel .=
		        "  Data     | Comanda | Hora             ".$sPulaLinha.
				  "             Dados do Cliente           ".$sPulaLinha.
				  "  Ent.  Valor       Troco       Comissao".$sPulaLinha.
                 STR_REPEAT("=",40).$sPulaLinha.
				  "";
              //
			
				$n_Tot_Sin = 0;
				$n_Qtd_Tot = 0;
				$n_Tot_Tro = 0;
				$n_Tot_Fun = 0;
				$nTot_Tax  = 0;
				$nTro_Ger  = 0;
				
				
				$nFun_Ven  = 0;
            $nFun_Com  = 0;				
            $nFun_Tro  = 0;
				$nFun_Tax  = 0;
            $nTro_Fun =  0;
				
				$Rows_Temp2 = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR()); 
				//
				
				While ($aComFunc2 = MYSQL_FETCH_ARRAY($Rows_Temp2)){
				
					If ($aComFunc2['FAT_COD_ENT'] <> $n_UltCodFun ){		
					  $n_UltCodFun = $aComFunc2['FAT_COD_ENT'];
					  	
					  If($aComFunc2['VALCOM']>0) {
               	 $sNomFun = Str_Zero($aComFunc2['FAT_COD_ENT'],4).' - '.$aComFunc2['FUN_NOMECP'];
                 
  					    $sTxt_Rel .=
							 $sPulaLinha.
					  	    AlinhaStr( $sNomFun  ,0 , 23).
					  	    $sPulaLinha.
								'';
                        //
                        $sCsv_Rel .=
						   $sPulaLinha.
						   $sPulaLinha.
                           $sNomFun.";".
						   $sPulaLinha.
                           "Data;Hora;Comanda;Cliente;Valor da entrega;Troco;Comissão;".
                           $sPulaLinha;
					  	// 
						  $sSQLReques2 =
	     	             "SELECT ".$aV_Sessao['Com_Ent']." AS COMDIG , FAT_DATAINI,FAT_CODIGOI,SUBSTR(FAT_DAT_INI,11) AS DATAINI, ".
						            "( FAT_TOT_REC - FAT_TAXASVR) AS VALCOM, ".
								      "FAT_TOT_REC, FAT_TAXASVR, ".
										"FAT_TROCOPA AS TROCOPA,FAT_COD_ENT, ".
						            "FUN_CODIGO, FUN_NOMECP, ".
                          	   "CLI_CODIGOI,CLI_NOMECP ".									
					       "FROM fat_geral ".
							 "LEFT JOIN cad_funcionario on FAT_COD_ENT = FUN_CODIGO ".
					       "LEFT JOIN cad_cliente on FAT_CLIENTE = CLI_CODIGOI ".
			             "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND ' : '').
					               "FAT_CAN_DAT IS NULL  AND ".
					               "FAT_TIP_LOC = 2 AND FAT_RCFORMA > 0 AND ".
							         "FAT_COD_ENT = ".$n_UltCodFun." AND cad_funcionario.FUN_ATIVO_ = 1 ".
                      " ORDER BY FAT_COD_ENT ASC;";
				      
				        $Rows_Temp3 = MYSQL_QUERY($sSQLReques2) Or Die($sSQLReques2."<br>".MYSQL_ERROR()); 
				      
						  While ($aComFunc3 = MYSQL_FETCH_ARRAY($Rows_Temp3)) {
						    If($bCom_P_V==0) { // percentual
		                  $_Ent_Ent = (( $aComFunc3['COMDIG']*$aComFunc3['VALCOM']) / 100);
		                  $_Per_Ent = $aComFunc3['COMDIG'];
		                } ElseIf ($bCom_P_V==1) { // valor
		                  $_Ent_Ent = $aComFunc3['COMDIG'];
						      $_Per_Ent = '';
		                } Else { //  pizza entregue
					         $_Ent_Ent = '';
					         $_Per_Ent = '';
					       }
							 
							 $nFun_Ven += $aComFunc3['VALCOM'];
							 $nFun_Com += $_Ent_Ent ;
						    $nFun_Tro += ( $aComFunc3['TROCOPA'] > 0 ? $aComFunc3['TROCOPA'] : $aComFunc3['FAT_TOT_REC']);	
	                   $nTro_Fun += ( $aComFunc3['TROCOPA'] > 0 ?  $aComFunc3['TROCOPA'] - $aComFunc3['FAT_TOT_REC'] : 0);
							 $n_Qtd_Tot++;
							 
							 // motoqueiro recebe taxa
						    If($bCom_T_M) {
						      $nFun_Tax  += $aComFunc3['FAT_TAXASVR'];
						    }
							 
							 
							 $sTxt_Rel .=
					  	  	   AlinhaStr( DATE("d/m/Y",ConvertDtHrSTR($aComFunc3['FAT_DATAINI'])),2,10).
								' | '.Str_Zero($aComFunc3['FAT_CODIGOI'],8).
								' | '.$aComFunc3['DATAINI'].' | '.
								$sPulaLinha.
								AlinhaStr( $aComFunc3['CLI_CODIGOI'].' - '.$aComFunc3['CLI_NOMECP'],0,25).
								$sPulaLinha.
								'    '.AlinhaStr( 'R$ '.NUMBER_FORMAT($aComFunc3['VALCOM'],2,',','') ,2,11).
                                " ".AlinhaStr('R$ '.FormatoMoeda(($aComFunc3['TROCOPA'] > 0 ? $aComFunc3['TROCOPA']: $aComFunc3['FAT_TOT_REC'])),2, 11).
                                " ".AlinhaStr('R$ '.FormatoMoeda($_Ent_Ent),2, 12). 
					  	      $sPulaLinha.
					  	      ( $bCom_T_M ?
								  AlinhaStr( "Taxa de Entrega: R$ ".FormatoMoeda($aComFunc3['FAT_TAXASVR'],2,11),2,40).
								  $sPulaLinha
								:
								"" ).
								'';
                             //
                             $sCsv_Rel .=
                                DATE("d/m/Y",ConvertDtHrSTR($aComFunc3['FAT_DATAINI'])).";".
                                $aComFunc3['DATAINI'].";".
                                Str_Zero($aComFunc3['FAT_CODIGOI'],8).";".
                                $aComFunc3['CLI_CODIGOI'].' - '.$aComFunc3['CLI_NOMECP'].";".
                                "R$ ".FormatoMoeda($aComFunc3['VALCOM']).";".
                                "R$ ".FormatoMoeda(($aComFunc3['TROCOPA'] > 0 ? $aComFunc3['TROCOPA']: $aComFunc3['FAT_TOT_REC'])).";".
                                "R$ ".FormatoMoeda($_Ent_Ent).";".
                                $sPulaLinha;
					  	     //
							 $n_Tot_Sin += $aComFunc3['VALCOM'];
					  	    $n_Tot_Tro += ( $aComFunc3['TROCOPA'] > 0 ? $aComFunc3['TROCOPA']:$aComFunc3['FAT_TOT_REC']);
							 $n_Tot_Fun += $_Ent_Ent;
							 $nTro_Ger  += ( $aComFunc3['TROCOPA'] > 0 ?  $aComFunc3['TROCOPA'] - $aComFunc3['FAT_TOT_REC'] : 0);	
							 If($bCom_T_M) {
							    $nTot_Tax += $aComFunc3['FAT_TAXASVR'];
							 }
							 $n_Reg_Qtd++;
						  }	 
					  	  
					  } 
							
					} 	
				     	
				   If($nFun_Ven>0){
				     $sTxt_Rel .=
						 $sPulaLinha.
					    '    '.AlinhaStr( 'R$ '.FormatoMoeda($nFun_Ven),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($nFun_Tro),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($nFun_Com),2,12).
					    $sPulaLinha.
						 ( $bCom_T_M ?
						   AlinhaStr( "Total Taxa de Entrega: R$ ",2,28).AlinhaStr(FormatoMoeda($nFun_Tax,2,11),2,12).
				         $sPulaLinha.
							$sPulaLinha.
							AlinhaStr( 'Comissao + Taxas: R$ ',2,28).AlinhaStr(FormatoMoeda($nFun_Com+$nFun_Tax),2, 12). 
					      $sPulaLinha.
				         AlinhaStr( 'Vr dado p/ Troco: R$ ',2,28).AlinhaStr(FormatoMoeda($nTro_Fun),2, 12). 
					      $sPulaLinha.							  
							AlinhaStr( 'Vr a Receber....: R$ ',2,28).AlinhaStr(FormatoMoeda($nFun_Tro),2, 12).
                     $sPulaLinha.
							STR_REPEAT("-",40).
							''							
						 :
                     "" ).						 
						 '';
						 
					  $nFun_Ven = 0;
					  $nFun_Com = 0;
					  $nFun_Tro = 0; 
					  $nFun_Tax = 0;
					  $nTro_Fun = 0;
					   
				   }
				
				}   
             
            If($n_Tot_Sin>0){	 
				  $sTxt_Rel .=
				    $sPulaLinha.
				    AlinhaStr( "TOTAL GERAL DO RELATORIO",1,40).
					 $sPulaLinha.
					 AlinhaStr( "Qdde de Entregas: ".$n_Qtd_Tot,2,40).
					 $sPulaLinha.
					 '  '.AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Sin),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Tro),2,11)." ".AlinhaStr( 'R$ '.FormatoMoeda($n_Tot_Fun),2,14)." ".
					 $sPulaLinha.
				    '';
					 
					 	If($bCom_T_M) {
				      $sTxt_Rel .=
				         AlinhaStr( 'Total de Taxas..: R$ ',2,28).AlinhaStr( FormatoMoeda($nTot_Tax),2, 12). 
					      $sPulaLinha.
				         '';
				
                    $sTxt_Rel .=
				           $sPulaLinha.
					        AlinhaStr( 'Total Final....: R$ ',2,28).AlinhaStr( FormatoMoeda($n_Tot_Fun+$nTot_Tax),2, 12). 
					        $sPulaLinha.
				           AlinhaStr( 'Total de Troco.: R$ ',2,28).AlinhaStr( FormatoMoeda($nTro_Ger),2, 12). 
					        $sPulaLinha.							  
							  AlinhaStr( 'Total a Receber: R$ ',2,28).AlinhaStr( FormatoMoeda($n_Tot_Tro),2, 12).
                       $sPulaLinha.							  
					        '';
				     } 
				 
				} 				
				
         }
				 
	   }
	   //
	   If ( $n_Reg_Qtd>0 ) {
          $n_Tot_FunGer = 0;
		  $sTxt_Rel .=
			 ( ($aV_Sessao['Opc_Tip_Opc']==0 || $aV_Sessao['Opc_Tip_Opc']==3 ) ? 
			 //"GERAL..:".AlinhaStr( 'R$ '.FormatoMoeda($nTotalPro),2,11)." ".AlinhaStr( FormatoMoeda($nGeralPer),2,8).'%'." ".AlinhaStr('R$ '.FormatoMoeda($nTotalCom), 2, 10).$sPulaLinha 
			   "GERAL..:".AlinhaStr( 'R$ '.FormatoMoeda($nTotalPro),2,11)."           ".AlinhaStr('R$ '.FormatoMoeda($nTotalCom), 2, 10).$sPulaLinha 
             :
			   ($aV_Sessao['Tipo_Relato']==1 && ! $aV_Sessao['Opc_Tip_Opc']==2 ? 
                  '| '.
				  STR_REPEAT(" ", 37).'|'.
				  $sPulaLinha.
				  '| '.
				  STR_REPEAT(" ", 11)."TOTAL GERAL..:".AlinhaStr( FormatoMoeda($n_Tot_FunGer),2,11)." ".'|'.$sPulaLinha
			   : ""
			   )
			 ).  
			 STR_REPEAT("-",40).$sPulaLinha.
             AlinhaStr('Registros impressos: '.Str_Zero($n_Reg_Qtd,6),0).$sPulaLinha.
		     $sPulaLinha.$sPulaLinha.$sPulaLinha.
		     "";
	      //
	      $sTxt_Rel = RemoveAcentos($sTxt_Rel);
	      $aV_Sessao['TXT_REL'] = $sTxt_Rel;
	      $aV_Sessao['CSV_REL'] = $sCsv_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_RelCmsPR_Txt').innerHTML = ".JAVA_CharCode($sHTML_Rel).";".
             'parent.document.getElementById("objRelCmsPR_BT_Dwn").style.visibility="'.( EMPTY($sTxt_Rel) ? 'hidden' : 'visible').'";'.
             'parent.document.getElementById("objRelCmsPR_BT_Exc").style.visibility="'.( EMPTY($sCsv_Rel) ? 'hidden' : 'visible').'";'.
             'parent.document.getElementById("objRelCmsPR_BT_Abr").style.visibility="'.( EMPTY($sTxt_Rel) ? 'hidden' : 'visible').'";'.
             "";
	      //
	   } Else {
	      $aV_Sessao['TXT_REL'] = '';
	      $aV_Sessao['CSV_REL'] = '';
          $sRet_Javs .= 
		     "parent.sIdHasFocus='in_RelCmsP_DatIni';".
             Info_Evento('Não há movimento para gerar este relatório.',0).
             "setTimeout( function () { ".
	            "parent.document.forms.fmPRelCmsP_R.acao.value='FECHAR'; ".
                "parent.document.forms.fmPRelCmsP_R.submit();".
			 "}, 500);".
			 "";
	   }
	   $aSessao[$sNomeAcesso.'_S'] = $aV_Sessao;
    //
    // IMPRIMIR Relatório pronto
    } ElseIf ( $sAcao=="IMP" ) {
       $sRet_Javs .= "parent.JanEspera(false); ";
	   $aV_Sessao = @$aSessao[$sNomeAcesso.'_S'];
       $sCfg_ClpExp2 = SQLVarConfig('GARCOM_CLIPPER_ARQ_EXPORTA2');
       If ( STRLEN($sCfg_ClpExp2)>3 ) {
	      $sTxt_Cupom = @$aV_Sessao['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").'_CMS_PRODUTO.TMP';
             $sIP_NomeArq = STR_REPLACE(".","_",ObterIPdoCliente());
             $sNomArqExpR = $sCfg_ClpExp2.$R_CadFuncionario->FUN_CODIGO.'_'.DATE("d-m-Y_h-i-s").'_CMS_PRODUTO_'.$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
		     //
             //$hArqExp = FOPEN( "//GUSTAVO/EpsonLX", "r+" );  // EXEMPLO DE COMO IMPRIMIR NA IMPRESSORA LOCAL
		     //
	         // Gera o arquivo PDF
			 /*
			 $sICaminhoPDF = 'Rel_'.DATE('d-m-Y').'_'.GeraChave(6).'.pdf';
			 $sECaminhoPDF = './temporarios/'.$sICaminhoPDF;
			 $sICaminhoPDF = Dir_Temporarios.'/'.$sICaminhoPDF;
             $sHTML_Rel = $sTxt_Cupom;
             $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 = STR_REPLACE(CHR(32).CHR(32).CHR(32),'<span style="color:#FFFFFF;">___</span>',$sHTML_Rel);
             $sHTML_Rel = STR_REPLACE(CHR(32).CHR(32),'<span style="color:#FFFFFF;">__</span>',$sHTML_Rel);
             $sHTML_Rel =
			     '<html>'.
				 '<body style="margin-left:0.5cm; font-size:12px; font-family:Courier;">'.
                   $sHTML_Rel.
				 '</body>'.
				 '</html>';
             $Gera_PDF = new DOMPDF();
             $Gera_PDF->load_html($sHTML_Rel);
             $Gera_PDF->render();
             $sBin_PDF=$Gera_PDF->output();
			 $hArqTmp = FOPEN( $sICaminhoPDF , 'w');
			 FWRITE($hArqTmp,$sBin_PDF);
			 FCLOSE($hArqTmp);
             $sRet_Javs .=
			    "window.open('".$sECaminhoPDF."','_blank');".
				"";
			 */
             //
          } 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_Comissao_Produtos_".DATE("d-m-Y_H-i-s").".txt";
       $sTxt_Cupom = @$aV_Sessao['TXT_REL'];
	   HEADER("Content-Type: text/plain");
	   HEADER("Content-Length: ".STRLEN($sTxt_Cupom));
	   HEADER("Content-Disposition: attachment; filename=".$sArquivo);
	   ECHO $sTxt_Cupom;
	   EXIT;
    //
    // >> Gerar CSV para excel para download
    } ElseIf ( $sAcao=="GERAR_CSV" ) {
	   $sArquivo = "Relatorio_Comissao_Produtos_".DATE("d-m-Y_H-i-s").".csv";
       $s_Conteudo = @$aV_Sessao['CSV_REL'];
       OB_CLEAN();
	   HEADER("Content-Type: text/csv");
	   HEADER("Content-Length: ".STRLEN($s_Conteudo));
	   HEADER("Content-Disposition: attachment; filename=".$sArquivo);
	   ECHO $s_Conteudo;
	   EXIT;
    //
    // FECHAR Janela
    } ElseIf ( $sAcao=="FECHAR" ) {
	   UNSET( $aSessao[$sNomeAcesso.'_S'] );
       $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_RelCmsP_DatIni').focus();".
		   "";
    //
    // Janela
	} Else {
	   $aV_Sessao = ARRAY();
	   $aV_Sessao['Fil_DataIni'] = @$_REQUEST['Fil_DataIni'];          // Data inicial
	   $aV_Sessao['Fil_DataFim'] = @$_REQUEST['Fil_DataFim'];          // Data Final
	   $aV_Sessao['Tipo_Relato'] = (@$_REQUEST['Ck_RelTipo']+0);       // Tipo do Relatório ( 0=Sintético, 1=Analítico 2=Sintético por Data)
	   $aV_Sessao['Fil_Cod_Fun'] = (@$_REQUEST['Cod_Fun']+0);          // Codigo do funcionário
	   $aV_Sessao['Fil_Cod_Pro'] = (@$_REQUEST['Cod_Pro']+0);          // Codigo do produto
	   $aV_Sessao['Opc_Tip_Opc'] = (@$_REQUEST['Tip_Opc']+0);          // Opção
		$aV_Sessao['Com_Ent']     = (str_replace(',','.',@$_REQUEST['Com_Ent'])+0);              // Valor ou Percentual
		
		$aSessao[$sNomeAcesso.'_S'] = $aV_Sessao;
	   //
	   $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."2.Teclas_F(this,event);";	   
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
		  // Teclas
		  '<input id="in_RelCmsPV_Tecla" style="position:absolute; top:-100; left:-100; width:1px; height:1px;">'.
		  //
          '<form name="fmPRelCmsP_R" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'3">'.
           '<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_RelCmsPR_Txt" style="width:100%; height:400px; 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, 'objRelCmsPR_BT_Abr',
			               "parent.JanEspera(true, 'Imprimindo relatório... aguarde...');".
						   "setTimeout( function () { ".
		                      "document.forms.fmPRelCmsP_R.acao.value='IMP'; ".
                              "document.forms.fmPRelCmsP_R.submit();".
						   "}, 500);"
                         , 'Imprimir (F2)'   ,'images/btimg_imp.png',120).		    
		   '</td>'.
		   '<td width="110px" align="left">'.
            HTML_Botao( 3, 'objRelCmsPR_BT_Dwn', 'Car_'.$sNomeAcesso.'2.SalvarTexto();'
                         , 'Salvar (F9)'   ,'images/btimg_baixar_texto.png',100).		    
		   '</td>'.
		   '<td width="110px" align="left">'.
            HTML_Botao( 3, 'objRelCmsPR_BT_Exc', 'Car_'.$sNomeAcesso.'2.SalvarExcel();'
                         , 'Excel (F10)'   ,'images/btimg_exportar_excel.png',100).		    
		   '</td>'.
           '<td align="right">'.
            HTML_Botao( 3, 'objRelCmsPR_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 Teclas_F( Objeto, Evento ) {".
             "vNumTecla = parent.Tecla_Apertada(Evento);".
             "if ( vNumTecla==113) { ".        //  ** [F2] **          // (Imprimir)
                 "if ( parent.document.getElementById('objRelCmsPR_BT_Abr').style.visibility=='visible') {".
                     "setTimeout( parent.document.getElementById('objRelCmsPR_BT_Abr').onclick , 10);".
                 "}".
		     "} else if ( vNumTecla==116) { ". // ** [F5] **     Não atualizar
			     //
		     "} else if ( vNumTecla==120) { ". // ** [F9] **           // (Salvar em texto)
                 "if ( parent.document.getElementById('objRelCmsPR_BT_Dwn').style.visibility=='visible') {".
                     "setTimeout( parent.document.getElementById('objRelCmsPR_BT_Dwn').onclick , 10);".
                 "}".
			     //
		     "} else if ( vNumTecla==121) { ". // ** [F10] **           // (Salvar em CSV)
                 "if ( parent.document.getElementById('objRelCmsPR_BT_Exc').style.visibility=='visible') {".
                     "setTimeout( parent.document.getElementById('objRelCmsPR_BT_Exc').onclick , 10);".
                 "}".
			     //
		     "} else if ( vNumTecla==27) { ".  //  ** [ESC] **         // (SAIR)
                 "setTimeout( parent.document.getElementById('objRelCmsPR_BT_Fch').onclick , 50);".
			 "} else {".
			     "return true;".
			 "}".
			 "return false;".
          '}'.
		  //
		  "function SalvarTexto() {".
	        "parent.document.forms.fmPRelCmsP_R.acao.value='GERAR_TEXTO';".
            "parent.document.forms.fmPRelCmsP_R.submit();".
		  "}".
          //
		  'function SalvarExcel() {'.
	        "parent.document.forms.fmPRelCmsP_R.acao.value='GERAR_CSV';".
            "parent.document.forms.fmPRelCmsP_R.submit();".
          '}'.
		  //
	      "";
       // Java posterior
       $sRet_JavsPos .=
         'parent.document.getElementById("objRelCmsPR_BT_Dwn").style.visibility="hidden";'.
         'parent.document.getElementById("objRelCmsPR_BT_Exc").style.visibility="hidden";'.
         'parent.document.getElementById("objRelCmsPR_BT_Abr").style.visibility="hidden";'.
	     "parent.document.getElementById('in_RelCmsPV_Tecla').focus(); ".
	     "setTimeout( function () { ".
	        "parent.document.forms.fmPRelCmsP_R.acao.value='MONTAR';".
            "parent.document.forms.fmPRelCmsP_R.submit();".
		 "} , 300); ".
         "";
	   //
	}
//
//  ** TELA PRINCIPAL DE RELATORIO DE COMISSÃO POR PRODUTO **
} Else {
    // 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 Comissão por produto';
    //
	$sJavaTravarJ = "document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; parent.Disabled_In_Elems('".$oJanelaPrinc->sIdObj."',true);";
 	$oJanelaPrinc->sJavOnClickF =
         $sJavaTravarJ.
		 "document.forms.fmPRelCmsP.acao.value='FECHAR'; ".
         "document.forms.fmPRelCmsP.submod.value=''; ".
         "document.forms.fmPRelCmsP.submit();";
    //
    // ATUALIZA TELA: Sequencia de Caixa
	 
    If ( $sAcao=="ATUALIZA" ) {
	   //
	   $sFil_DataIni = @$_REQUEST['Fil_DataIni'];          // Data inicial
	   $sFil_DataFim = @$_REQUEST['Fil_DataFim'];          // Data Final
	   $nP_Cod_Fun   = @$_REQUEST['Cod_Fun']+0;            // Código do Funcionário
	   $nP_Cod_Pro   = @$_REQUEST['Cod_Pro']+0;            // Código do Produto
	   $nP_Tip_Opc   = @$_REQUEST['Tip_Opc']+0;            // Opção
	   $nP_Com_Ent   = str_replace(',','.',@$_REQUEST['Com_Ent'])+0;            // Valor ou Percentual Comissão por Entregador
       $nP_Tip_S_A   = @$_REQUEST['Ck_RelTipo']+0;	
	
	   $d_Fil_DataIni = ConvertDataSTR( ConvertDataBRUS($sFil_DataIni) );
	   $d_Fil_DataFim = ConvertDataSTR( ConvertDataBRUS($sFil_DataFim) );
	   // DATA INICIAL e FINAL
	   $sSQLParm = '';
       If($nP_Tip_Opc == 0 || $nP_Tip_Opc == 3 ){	   
		  If ($d_Fil_DataIni>0) {
	       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	       $sSQLParm .= '(FAT_DATAINI>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';             // Comparando (Inicial)
	       
		  }
	     If ($d_Fil_DataFim>0) {
	       If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	       $sSQLParm .= '(FAT_DATAINI<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';             // Comparando (Final)
          
	     }
		}
		//
	   /*
          SELECT fat_item.FAT_CODITE1,fat_item.FAT_CODITE2,fat_item.FAT_CODITE3,fat_item.FAT_CODITE4,fat_item.FAT_PRE_TOT,fat_item.FAT_COD_FUN
          FROM fat_item,fat_geral
          WHERE fat_geral.FAT_DATAINI > "2013-03-10" AND fat_item.FAT_COD_FUN=1 AND fat_geral.FAT_CODIGOI=fat_item.FAT_CFATGER;
	   */
	   //
	   $sSQLRequest = "SELECT * FROM cad_produto;";
	   $Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
	   $aCad_Produtos = ARRAY();
	   While ( $Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp) ) {
	       $aCad_Produtos[ $Row_Temp['ITE_CODIGOI'] ] = $Row_Temp;
	   }
	   //

		If($nP_Tip_Opc == 0 || $nP_Tip_Opc == 3){
	   $sSQLRequest =
	       "SELECT cad_funcionario.FUN_CODIGO, cad_funcionario.FUN_NOMECP, ".
		          "fat_item.FAT_CODITE1, fat_item.FAT_CODITE2, fat_item.FAT_CODITE3, fat_item.FAT_CODITE4 ".
		   "FROM fat_item,fat_geral,cad_funcionario ".
		   "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND' : '')." fat_geral.FAT_CODIGOI=fat_item.FAT_CFATGER AND fat_item.FAT_COD_FUN=cad_funcionario.FUN_CODIGO ORDER BY fat_item.FAT_COD_FUN ASC;";
	   } Else {
		  $sSQLRequest =
	       "SELECT cad_funcionario.FUN_CODIGO, cad_funcionario.FUN_NOMECP,
			         cad_empresa.EMP_CODIGOI ".
		    "FROM cad_funcionario, cad_empresa ".
			 "WHERE EMP_CODIGOI ='".$aSessao['CODIGO_EMPRESA']."' AND cad_funcionario.FUN_ATIVO_ = 1 "; 
		
		}
		$Rows_Temp = MYSQL_QUERY($sSQLRequest) Or Die($sSQLRequest."<br>".MYSQL_ERROR());
	   // Montar uma lista de funcionario e produtos ( $aLst_FatFuns, $aLst_FatPros )
	   $sLst_Temp  = '';
	   $sLst_Temp2 = '';
	   $aLst_FatFuns = ARRAY();
	   $aLst_FatPros = ARRAY();
	   While ( $Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp) ) {
	      If ( STRPOS(" ;".$sLst_Temp, ";".$Row_Temp['FUN_CODIGO'].";" )==0 ) {  // Funcionarios
		     $sLst_Temp .= $Row_Temp['FUN_CODIGO'].";";
			 $aReg_Temp = ARRAY();
			 $aReg_Temp[0] = $Row_Temp['FUN_CODIGO'];
			 $aReg_Temp[1] = $Row_Temp['FUN_NOMECP'];
			 $aLst_FatFuns[] = $aReg_Temp;
		  }
		  If($nP_Tip_Opc == 0 || $nP_Tip_Opc == 3){
		     $aReg_Temp = ARRAY();
		     For ($nCont1Temp=1; $nCont1Temp<=4; $nCont1Temp++) {
		      $n_CodPro = $Row_Temp['FAT_CODITE'.$nCont1Temp];
	          If ( $n_CodPro>0 && STRPOS(" ;".$sLst_Temp2, ";".$n_CodPro.";" )==0 ) {  // Produtos
			     $aReg_Temp[0] = $n_CodPro;                                    // Codigo
				 $aReg_Temp[1] = '(Não cadastrado)';                           // Descrição
				 If ( ISSET( $aCad_Produtos[$n_CodPro] ) ) {
			        $aReg_Temp[1] = $aCad_Produtos[$n_CodPro]['ITE_DESCRIC'];  // Descrição
				 }
				 $aLst_FatPros[] = $aReg_Temp;
				 $sLst_Temp2 .= $aReg_Temp[0].';';
		      }
		     }
		  }
	   }
	   //
		
	   // Combo de funcionários
	   $sLstFunHtml = '<option value="0">** Todos os funcionarios **</option>';
	   ForEach ( $aLst_FatFuns As $aReg_Temp ) {
	      $sLstFunHtml .=
		    '<option value="'.$aReg_Temp[0].'" '.($nP_Cod_Fun==$aReg_Temp[0] ? 'selected' : '').'>'.
			 Str_Zero($aReg_Temp[0],4).' - '.
			 $aReg_Temp[1].
	        '</option>';
	   }
	   //
	    
		// Combo de produtos
	   If($nP_Tip_Opc == 0 || $nP_Tip_Opc == 3 ){
		  $sLstProHtml = '<option value="0">** Todos os produtos **</option>';
	     ForEach ( $aLst_FatPros As $aReg_Temp ) {
	       $sLstProHtml .=
		      '<option value="'.$aReg_Temp[0].'" '.($nP_Cod_Pro==$aReg_Temp[0] ? 'selected' : '').'>'.
			   Str_Zero($aReg_Temp[0],6).' - '.
			   $aReg_Temp[1].
	         '</option>';
	     }
		  
		} Else {
		  $sLstProHtml = '';
		 
		}
       //
       $sRet_Javs .=
	      'parent.document.getElementById("sl_RelCmsP_CodFun").innerHTML = '.JAVA_CharCode_Mini($sLstFunHtml).'; '.
	      'parent.document.getElementById("sl_RelCmsP_CodPro").innerHTML = '.JAVA_CharCode_Mini($sLstProHtml).'; '.
		   'parent.document.getElementById("in_RelCmsP_DatIni").value="'.$sFil_DataIni.'"; '.
		   'parent.document.getElementById("in_RelCmsP_DatFim").value="'.$sFil_DataFim.'"; '.
		   ( ($nP_Tip_Opc == 0 ) || ($nP_Tip_Opc == 1) || ($nP_Tip_Opc == 3) ?
              'parent.document.getElementById("dv_PRelComP").style.display="none";'.
		      (  $nP_Tip_Opc == 3  ?
		 	     'parent.document.getElementById("dv_PRelPorD").style.display="";'
			  :
			     'parent.document.getElementById("dv_PRelPorD").style.display="none";'
			  )
           
          :
             'parent.document.getElementById("dv_PRelComP").style.display="";'.
			 (  $nP_Tip_Opc == 3  ?
		 	     'parent.document.getElementById("dv_PRelPorD").style.display="";'
			  :
			     'parent.document.getElementById("dv_PRelPorD").style.display="none";'
			  )
			 
          ).
         '';
    //
    // FECHAR
    } 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';";
    //
    // JANELA TELA PRINCIPAL
	} Else {
	   
       //
	   $oJanelaPrinc->aIdsObjList =
	      ARRAY(  'sl_RelCmsP_TipOpc',
			      'sl_RelCmsP_CodFun',
	   	          'sl_RelCmsP_CodPro',
				  'sl_RelCmsP_Com_Ent',
				  'in_RelCmsP_DatIni', 
				  'in_RelCmsP_DatFim',
				  'ck_RelCmsP_RelTipo0',
				  'ck_RelCmsP_RelTipo1',
                  'ck_RelCmsP_RelTipo2'						
               );
	   
	   $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."1.Teclas_F(this,event);";
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
          '<form name="fmPRelCmsP" 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="">'.
             '<input name="acao" type="hidden" value="">'.
    	     '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
		        '&nbsp;'.
		     '<table width="100%" border="0">'.
		        '<tr>'.
				   '<td width="4px" height="20px">&nbsp;</td>'.
                   '<td width="110px" align="right">'.
				      'Opção:'.
		           '</td>'.
				   '<td align="left">'.
				      '<select id="sl_RelCmsP_TipOpc" name="Tip_Opc" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" style="width:96%; font-size:11px; font-family:Courier New,Courier,mono;">'.
				         '<option value="0">('.$sLocalCom.')'.'Percentual do Cad. de Funcionário - Por Produto'.'</option>'.
				         '<option value="3">('.$sLocalCom.')'.'Percentual da Tx. de Serv. Cobrada- Por Produto'.'</option>'.
                         '<option value="2">(Disk)Por Entregador</option>'.
                         '<option value="1"> Por Lançamento Manual</option>'.
				      '</select>'.
		           '</td>'.
			    '</tr>'.
		     '</table>'.
		     '<table width="100%" border="0">'.
                '<tr>'.
                   '<td width="4px" height="20px">&nbsp;</td>'.
                   '<td width="110px" align="right">'.
                      'Funcionário:'.
                   '</td>'.
                   '<td align="left">'.
			          '<select id="sl_RelCmsP_CodFun" name="Cod_Fun" style="width:98%; font-size:11px; font-family:Courier New,Courier,mono;"></select>'.
                   '</td>'.
                   '<td width="4px">&nbsp;</td>'.
		        '</tr>'.
		     '</table>'.
		     '<table width="100%" border="0">'.
                '<tr>'.
                   '<td width="4px" height="20px">&nbsp;</td>'.
                   '<td width="110px" align="right">'.
                      'Produto:'.
                   '</td>'.
                   '<td align="left">'.
			          '<select id="sl_RelCmsP_CodPro" name="Cod_Pro" style="width:98%; font-size:11px; font-family:Courier New,Courier,mono;">'.
   	                  '</select>'.
			       '</td>'.
                   '<td width="4px">&nbsp;</td>'.
		        '</tr>'.
			    '<tr id="dv_PRelComP" style="display:none;">'.
                   '<td width="4px" height="20px">&nbsp;</td>'.
                   '<td width="110px" align="right">'.
                      'Comissão:'.
                   '</td>'.
                   '<td  align="left">'.
                      ( $bCom_P_V==0 ?
				         '<input id="sl_RelCmsP_Com_Ent" name="Com_Ent" type="text" maxlength="7" value="00.00" style="width:38%; font-size:11px; font-family:Courier New,Courier,mono;">'.'&nbsp;%'
                      :
                         '<input id="sl_RelCmsP_Com_Ent" name="Com_Ent"  type="text" maxlength="7" value="0,00" style="width:38%; font-size:11px; font-family:Courier New,Courier,mono;">'
				      ).
                   '</td>'.
                   '<td width="4px">&nbsp;</td>'.
		        '</tr>'.
		     '</table>'.
		     '<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_RelCmsP_DatIni';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCmsP_DatIni" style="cursor:pointer;"></td>'.
			                '<td width="77px">'.
			                   '<input id="in_RelCmsP_DatIni" name="Fil_DataIni" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
			                '</td>'.
			                '<td align="center" width="10px">'.
			                   '-'.
			                '</td>'.
			                '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_RelCmsP_DatFim';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCmsP_DatFim" style="cursor:pointer;"></td>'.
			                '<td width="77px">'.
			                   '<input id="in_RelCmsP_DatFim" name="Fil_DataFim" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
			                '</td>'.
			             '</tr>'.
			          '</table>'.
                   '</td>'.
                   '<td width="4px" height="20px">&nbsp;</td>'.
		        '</tr>'.
		     '</table>'.
		     '<table width="100%" border="0">'.
		        '<tr>'.
		           '<td width="60px" height="20px" align="right">'.
			          '<input name="Ck_RelTipo" id="ck_RelCmsP_RelTipo0" type="radio" value="0" checked>'.
			       '</td>'.
			       '<td align="left">'.
			          'Sintético'.
			       '</td>'.
		        '</tr>'.
		        '<tr id="dv_PRelPorD" style="display:none;">'.
		           '<td width="60px" height="20px" align="right">'.
			          '<input name="Ck_RelTipo" id="ck_RelCmsP_RelTipo2" type="radio" value="2">'.
			       '</td>'.
			       '<td align="left">'.
			          'Sintético por Data'.
			       '</td>'.
		        '</tr>'.
				'<tr>'.
		           '<td height="20px" align="right">'.
			          '<input name="Ck_RelTipo" id="ck_RelCmsP_RelTipo1" type="radio" value="1">'.
			       '</td>'.
			       '<td align="left">'.
			          'Analítico'.
			       '</td>'.
		        '</tr>'.
		     '</table>'.
		  '</form>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';"></tr>'.
           '<td width="4px" height="40px">&nbsp;</td>'.
           '<td align="left">'.
            HTML_Botao( 3, 'objRelCmsP_BT_Abr',
			                                 "var vff = document.forms.fmPRelCmsP;".
		                                     "vff.acao.value=''; ".
                                             "vff.submod.value='RELATORIO'; ".
                                             "vff.submit();".
											 $sJavaTravarJ
                         , 'Visualizar (F8)' ,'images/btimg_docs.png',120).		    
		   '</td>'.
           '<td align="right">'.
            HTML_Botao( 3, 'objRelCmsP_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 Teclas_F( Objeto, Evento ) { ".
           "vNumTecla = parent.Tecla_Apertada(Evento); ".
           "if ( vNumTecla==119) { ".         // ** [F8] **
               "if (parent.document.getElementById('objRelCmsP_BT_Abr').style.display!='none') {".           // (Visualizar)
                  "parent.".$sJava_Desfoca_Input.
                  "setTimeout( parent.document.getElementById('objRelCmsP_BT_Abr').onclick , 10);".
         	  "}".
		   "} else if ( vNumTecla==116) { ".  // ** [F5] **     Não atualizar
               //
           "} else if ( vNumTecla==27 ) { ".  // [ESC]
               "parent.".$sJava_Desfoca_Input.
               "setTimeout( parent.document.getElementById('objRelCmsP_BT_Fch').onclick , 10);".
		   "} else {".
		     "return true;".
		   "} ".
	       "return false;".
		  "}".
        "";

       // Java posterior
       $sRet_JavsPos .=
	     "parent.document.getElementById('in_RelCmsP_DatIni').focus();".
	     "function Atualiza() {".
		    "var vff = parent.document.forms.fmPRelCmsP;".
			"stmp = vff.target;".
			"vff.target='car_".$sNomeAcesso."5';".
	        "vff.acao.value='ATUALIZA'; ".
	        "vff.submod.value=''; ".
            "vff.submit(); ".
			"vff.target = stmp;".
   	 "}".
		 "Atualiza(); ".
		 //
         'parent.Calendar.setup({ '.
           'inputField : "in_RelCmsP_DatIni", '.
           'trigger    : "bt_RelCmsP_DatIni", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
         'parent.Calendar.setup({ '.
           'inputField : "in_RelCmsP_DatFim", '.
           'trigger    : "bt_RelCmsP_DatFim", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
          
		   //

		 //
         "";
	}
}

function ascan_sim( $aMatriz, $nColuna, $sProcurar ) {
   $nPosicao_encontrada = -1;

// echo "<script>alert('". '  Procurar: ' . $sProcurar .'  -  Tam Matriz: ' . count( $aMatriz ) ."');</script>";      

   For ($nCon_asc = 0; $nCon_asc <=  (count( $aMatriz  )-1); $nCon_asc++) {   

//echo "<script>alert('". 'Indice: '.$nCon_asc. '  linha: ' . $aMatriz[ $nCon_asc ][ $nColuna ] . ' Procurar: ' . $sProcurar ."');</script>";      
     
      if ( $aMatriz[ $nCon_asc ][ $nColuna ] == $sProcurar ){
//         echo "<script>alert('". 'Achei.: ' . $nCon_asc .' -- '. $aMatriz[ $nCon_asc ][ $nColuna ] ."');</script>";      
         
         $nPosicao_encontrada = $nCon_asc;
         break;
      }
   }

   return $nPosicao_encontrada ;
}