;** Rm_0080C *******************************************************************
;*  Emissao do Ranking de Pedidos I - modelo relatorio 04                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 04/04/2018 por Anivel Augusto Rodrigues
;Ultima Alteracao: 28/10/2019 por Bruno Carvalho 
;Motivo Alteracao: Alterar Totalizador() para Rm_0080C_Totalizador()

;*******************************************************************************
;* Rotina p/ Cabecalho                                                         *
;*******************************************************************************
Proc Rm_0080C_Cabecalho()

pag=pag+1

Print File ARQIMP CI_10CPP
Print File ARQIMP CI_6LPP
Print File ARQIMP "\n\n"

Print File ARQIMP Fill("-",80)+"\n"
Print File ARQIMP Completa(NOMEMPRESA,37," ")

Print File ARQIMP Format("W43,AR","Emissao.: "+AlinhM(LTrim(Format("D13",Today())),10)+"-"+AlinhM(LTrim(Time()),8)+" Pag:"+Format("W4,EIC",pag))+"\n"
Print File ARQIMP Fill("-",80)+"\n\n"

Print File ARQIMP Format("W80,AC","Ranking de Pedidos I de "+StrVal(VSDGDTINI)+" ate "+StrVal(VSDGDTFIM))+"\n\n"


Print File ARQIMP "  Seq Cor                                     Total          Valor   % Empresa"+"\n" 
Print File ARQIMP "----- ------------------------------------ -------- --------------  ----------"+"\n" 
              
Print File ARQIMP "\027E"+"Empresa: "+"\027F"+[Codigo da Empresa]+" "+[Nome Fantasia Empresa]+"\027F"+"\n"
Print File ARQIMP "\n"

Linha=12
EndProc   ; (Cabecalho)
                    
;*******************************************************************************
;* Rotina para ImpressÆo Sintetica                                             *
;*******************************************************************************
Proc Rm_0080C_Corpo()

ArqImp=PrivDir()+"RM_0080.TXT"
If IsFile(ArqImp)
  Then Deleta_Arquivo(ARQIMP)
EndIf

Impressao_Orientacao="Retrato"

Sort Tabela On "Quantidade" D
ClearAll

View Tabela

NUM_LINHA_PAG=64

CODEMP   = "*****"   
pag      = 0
Contador = 0

If Not IsAssigned(NOMEMPRESA) Then NOMEMPRESA="" EndIf

Rm_0080C_Cabecalho()

NR=NRecords(Tabela)

SEQ     = 0
TOT_QTD = 0
TOT_PRT = 0
TOT_EMP = 0

Moveto Tabela
Scan 
  SEQ = SEQ + 1 
  Contador = Contador + 1
  ;*** Se futuramente liberar para mais de uma empresa ************************* 
  If CODEMP="*****"
     Then CODEMP=[Codigo da Empresa]
  EndIf   
  
  If (CODEMP<>[Codigo da Empresa] And CODEMP<>"*****") 
     Then Linha = Linha + 1
          Rm_0080C_Totalizador("EMPRESA")

          TOT_QTD = 0      
          TOT_PRT = 0      
          TOT_EMP = 0
                           
          Print File ARQIMP "\f"
          Rm_0080C_Cabecalho()        
  EndIf
  
  Print File ARQIMP Format("W5,AR",StrVal(SEQ))+Spaces(1)
  Print File ARQIMP Format("W05",[Referencia])
  Print File ARQIMP Format("W30",[Descricao do Item])
  Print File ARQIMP Format("W10,EIC",[Quantidade])+Spaces(1)
  Print File ARQIMP Format("W14.2,EIC",[Preco Total])+Spaces(2) 
  Print File ARQIMP Format("W9.2,EIC",([Quantidade]/[Total_Empresa])*100)+"%"+"\n"
      
  Linha = Linha + 1 
          
  TOT_QTD = TOT_QTD + [Quantidade]
  TOT_PRT = TOT_PRT + [Preco Total]
  TOT_EMP = TOT_EMP + (([Quantidade]*100)/[Total_Empresa])
  
  If Linha >= NUM_LINHA_PAG     
     Then Print File ARQIMP "\f"
          Rm_0080C_Cabecalho()
  EndIf    
EndScan
ClearAll

Rm_0080C_Totalizador("EMPRESA")

EndProc   ;Corpo() 
            
;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc Rm_0080C_Totalizador(PARAM)
private PARAM

Switch
  case PARAM="EMPRESA" :  
       QTD = Spaces(20)+"Total por Empresa... "
       
       Print File ARQIMP "\n"
       Print File ARQIMP Spaces(41)+"---------- --------------  ----------"+"\n"
       Print File ARQIMP QTD+Format("W10,EIC",TOT_QTD)+" "+Format("W14.2,EIC",TOT_PRT)+"  "+Format("W9",TOT_EMP)+"%"+"\n"                             
       
EndSwitch

EndProc ;Totalizador()

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************

Rm_0080C_Corpo()
If DISPOSITIVO_OPCAO="A"
  Then IMPRIREL(Tabela,"R") 
  Else ImpriArq(ARQIMP)
EndIf

Release Vars  TOT_QTD,TOT_PRT,TOT_EMP,Linha,SEQ,NUM_LINHA_PAG,
              CODEMP,pag,Contador

Release Procs Rm_0080C_Cabecalho,Rm_0080C_Corpo,Rm_0080C_Totalizador
