;** RM_0040A *******************************************************************
;*  Conferencia de Notas de Entradas por Emitente/Per¡odo                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 20/01/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 28/01/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Duplicidade
;Ultima Alteracao: 28/09/2009 por Bruno Carvalho
;Motivo Alteracao: Adi‡Æo da Op‡Æo TIPO DE OPERA€ÇO
;Ultima Alteracao: 17/09/2010 por Karina Andrade
;Motivo Alteracao: Add Observa‡äes e Vencimentos - Seleciona2()
;Ultima Alteracao: 30/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao data de inclusao/modelo paisagem
;Ultima Alteracao: 18/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 27/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog       
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog TG_DESTINAT            
;Ultima Alteracao: 03/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Nota Entrada Opera‡Æo para Impostos 
;Ultima Alteracao: 02/04/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes observacoes e vencimentos no report 
;Ultima Alteracao: 15/01/2020 por Bruno Carvalho                                     
;Motivo Alteracao: Adicionado scripts "RM_0045" (45), "RM_0041" (40) neste script "RM_0040" (07)
;Ultima Alteracao: 05/02/2020 por Bruno Carvalho
;Motivo Alteracao: Adicionado ValidarModelosRelatorios()
;Ultima Alteracao: 06/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 24/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog   
;Ultima Alteracao: 26/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes agrupado RM_0040
;Ultima Alteracao: 08/05/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes novos filtros  
;Ultima Alteracao: 01/07/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes modelo 36A     
;Ultima Alteracao: 30/07/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes ask tipo do item nova fun‡Æo

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros Cabecalho                         *
;*******************************************************************************
Proc RM_0040A_Seleciona()
private tabela2

ClearAll

If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC")
   Then 
        {Ask} TypeIn "\\Sistemas\\Cadastro\\Destinat" Enter
        Moveto [Codigo                   ] example "cemit"
        Moveto [Codigo Atividade         ] TypeIn "~VSDGATIVIDADE.."

        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC" Enter Check
        Moveto [Numero do Lancamento] Example "LANCTO" TypeIn ", ~VSDGNE.."
        Moveto [Codigo da Empresa   ] TypeIn "~VSDGEMPRESA.."   
        Moveto [Codigo              ] Example "cemit" TypeIn ",~VSDGDESTINAT.."
        Moveto [Tipo de Operacao    ] TypeIn "~VSDGOPERACAO.."
        Moveto [Tipo do Documento   ] TypeIn VSDGESPDOCTO
        Moveto [Numero do Documento ] TypeIn VSDGNUMDOCTO
        Switch
          Case VSDGTPDATA="1" : Moveto [Data de Entrada  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
          Case VSDGTPDATA="2" : Moveto [Data de Emissao  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
          Case VSDGTPDATA="3" : Moveto [Data_Inclusao    ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
        EndSwitch
        Moveto [UF               ] TypeIn "~VSDGESTADO.."

        switch
          case VSDGCODMODELO="07A" Or VSDGCODMODELO="07B" :
            Do_It!
            ClearAll

            Adiciona_Campo("Answer","Vencimentos(M10)")
            Tabela2=Adiciona_Indice_Temp("Numero do Lancamento")
    
            {Ask} TypeIn tabela2 Enter 
            Moveto [Numero do Lancamento] Example "LANCTO" typein "!"
            {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECP" Enter Check
            Moveto [Numero do Lancamento] Example "LANCTO"
            Do_It!
            ClearAll
            
            CoEdit Tabela2,"Answer"
            Scan
               Moveto Tabela2
               Moveto [Numero do Lancamento]
               Locate [Answer->Numero do Lancamento]
               If RetVal
                  Then 
                       [Vencimentos]= [Vencimentos]+Format("D13",[Answer->Data de Vencimento])+ " " + 
                                                    LTrim(Format("W12.2,EIC",[Answer->Valor do Documento]))+"; "
               endif                                      
               
               Moveto "Answer"
            EndScan
            Do_It!
            ClearAll 
    
            {Ask} {\\Sistemas\\Estoque\\Itens}
            Moveto [Codigo do Item         ] Example "cite"
            Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
            Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
            Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
            Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
            {Ask} TypeIn tabela2 Enter Check
            Moveto [Numero do Lancamento] Example "LANCTO" 
            {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEI" Enter Check
            Moveto [Numero do Lancamento] Example "LANCTO"
            Moveto [Codigo do Item      ] Example "cite" Typein ", ~VSDGITEM.."
            Ask_EstoqueTpItem("")
            Do_It!
            ClearAll
    
            Adiciona_Campo("Answer","Referencia(A20)")
            Delete tabela2

            {Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
            Moveto [Codigo do Item      ] typein "_item"
            Moveto [Referencia          ] typein "_ref"
            {Ask} {Answer}
            Moveto [Codigo do Item      ] typein "_item"
            Moveto [Referencia          ] typein "changeto _ref"
            Do_It!
            ClearAll
            
          
          otherwise :
            {Ask} {\\Sistemas\\Estoque\\Itens}
            Moveto [Codigo do Item         ] Example "cite"
            Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
            Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
            Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
            Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."

            {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEI" Enter Check
            Moveto [Numero do Lancamento] Example "LANCTO"     
            Moveto [Codigo do Item      ] Example "cite" Typein ", ~VSDGITEM.."
            Ask_EstoqueTpItem("")
            Do_It!
            ClearAll

        endswitch
EndIf

EndProc   

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_0040A_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_0040A_Seleciona()
  If Not IsTable("Answer") Then Loop EndIf
  If IsTable(Tabela)
     Then Add "Answer" Tabela
     Else Rename "Answer" Tabela
  EndIf
EndWhile

If IsEmpty(Tabela)
   Then 
        MENSAGEM("N„o existem registros a processar")
   else
        Switch
          Case VSDGCODMODELO="07A" : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "R" Tabela "R"

          Case VSDGCODMODELO="07B" : Impressao_Orientacao="Paisagem"
                                     CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "6" Tabela "R"

          Case VSDGCODMODELO="45A" : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "4" Tabela "R"   

          Case VSDGCODMODELO="45B" : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "7" Tabela "R"

          Case VSDGCODMODELO="40"  : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "2" Tabela "R"

          Case VSDGCODMODELO="06"  : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_0008" "1" Tabela "R"

          Case VSDGCODMODELO="52"  : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "5" Tabela "R"

          Case VSDGCODMODELO="36"  : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "1" Tabela "R"
          Case VSDGCODMODELO="36A" : CopyReport "\\Base\\Sistemas\\Estoque\\Rm_2000" "8" Tabela "R"

        EndSwitch
        IMPRIREL(Tabela,"R")  
EndIf
Delete Tabela

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_0040A_Principal()

Release Vars Tabela
Release Procs RM_0040A_Principal, RM_0040A_Seleciona
