;** RM_0256A *******************************************************************
;* Resumo das Entradas - Estado                                                *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 27/05/2008 por Anivel Augusto Rodrigues
;Ultima Alteracao: 19/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 23/01/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao script concentrador RM_0256             

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc RM_0256A_Seleciona()
ClearAll

If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEI")
   Then {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC" Enter Check
        Moveto [Codigo da Empresa      ] TypeIn "~VSDGEMPRESA2.."
        Moveto [Data de Entrada        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [CFO                    ] TypeIn "1.. or 2.."
        Do_It!
        ClearAll
EndIf
EndProc

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc RM_0256A_Processa()
ClearAll

;***** Ajusta Dados ************************************
If VSDGEMPRESA="0000"
   Then {Ask} TypeIn Tabela Enter TypeIn "Fast"
        Moveto [Codigo da Empresa      ] TypeIn "changeto 0000"
        Moveto [Nome Fantasia Empresa  ] TypeIn "changeto TOTALIZA EMPRESAS"
        Do_It!
        ClearAll
   Else {Ask} {\\Sistemas\\Cadastro\\Empresas}
        Moveto [Codigo da Empresa      ] Example "cemp"
        Moveto [Nome Fantasia Empresa  ] Example "nemp"
        {Ask} TypeIn Tabela Enter TypeIn "Fast"
        Moveto [Codigo da Empresa      ] Example "cemp"
        Moveto [Nome Fantasia Empresa  ] TypeIn "changeto _nemp"
        Do_It!
        ClearAll
EndIf

{Ask} {\\Sistemas\\Vendas\\Estados}
Moveto [UF       ] Example "est"
Moveto [Descricao] Check
{Ask} TypeIn Tabela Enter Check
Moveto [UF       ] Example "est" TypeIn "!"
Do_It!
ClearAll

View Tabela2
Edit "Answer"
Scan
   Moveto Tabela2
   Moveto [Codigo da Empresa]
   Locate [Answer->Codigo da Empresa],"0",[Answer->UF],""
   If Not RetVal
      Then End Down
           [Codigo da Empresa       ]=[Answer->Codigo da Empresa       ]
           [Tipo Registro           ]="0"
           [Forma de Pagamento      ]=[Answer->UF                      ]
           [Descricao Tipo Pagamento]=[Answer->UF]+" - "+[Answer->Descricao]
           [Nome Fantasia Empresa   ]=[Answer->Nome Fantasia Empresa   ]
   EndIf

   [Valor Total  ]=[Valor Total  ]+[Answer->Valor Nota Fiscal]

   Moveto "Answer"
EndScan
Do_It!
ClearAll

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_0256A_Principal()

AGUARDE("Aguarde, Gerando o RelatĒrio")
Tabela=Cria_Temp(PrivDir())

Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  RM_0256A_Seleciona()
  If Not IsTable("Answer") Then Loop EndIf
  If IsTable(Tabela)
     Then Add "Answer" Tabela
     Else Rename "Answer" Tabela
  EndIf
EndWhile

If not IsEmpty(Tabela)
   then
        Empty "\\Base\\Sistemas\\Estoque\\Rm_0243"
        Tabela2=Cria_Temp(PrivDir())
        Copy "\\Base\\Sistemas\\Estoque\\Rm_0243"  Tabela2
        
        RM_0256A_Processa()

       ;switch
       ;  case VSDGOPRELCODALFRANK2="2"  : Seta_Ordem_Report(Tabela,"8","Codigo do Item","Descricao do Item"  ,"")
       ;  case VSDGOPRELCODALFRANK2="3"  : Seta_Ordem_Report(Tabela,"8","Codigo do Item","Compras_Quantidade" ,"D")
       ;  case VSDGOPRELCODALFRANK2="4"  : Seta_Ordem_Report(Tabela,"8","Codigo do Item","Compras_Preco Total","D")
       ;endswitch

        IMPRIREL(Tabela2,"2")
   else 
        MENSAGEM("No existem registros a processar")
EndIf

If IsTable(Tabela)   Then Delete Tabela   EndIf
If IsTable(Tabela2)  Then Delete Tabela2  EndIf
If IsTable("Answer") Then Delete "Answer" EndIf

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_0256A_Principal()

Release Vars Tabela
Release Procs RM_0256A_Principal, RM_0256A_Seleciona, RM_0256A_Processa
