;** RM_3056D *******************************************************************
;*  Relatorio de Notas Fiscais com Peso                                        *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 26/04/2007 por Nikolas M. Mateus
;Ultima Alteracao: 03/02/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes somente dados NotaC
;Ultima Alteracao: 06/01/2011 por Bruno Carvalho
;Motivo Alteracao: Adicionado Filtro por Representante
;Ultima Alteracao: 03/09/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado Filtro por Cliente
;Ultima Alteracao: 10/02/2014 por Andrey Fillipe
;Motivo Alteracao: Adicionado bloqueio de relatorio usuario/representante
;Ultima Alteracao: 18/04/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes filtro marca, familia, grupo pontocon
;Ultima Alteracao: 10/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: 23/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes agrupado RM_3056    
;Ultima Alteracao: 23/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes substituido RM_0045

;*******************************************************************************
;* Rotina p/ Selecionar e Order Registros                                      *
;*******************************************************************************
Proc RM_3056D_Seleciona()
ClearAll

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
   Then
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP)
           Then {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.."
        EndIf
   
         {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter Check
         Moveto [Codigo da Empresa       ] Example "cemp" TypeIn ", ~VSDGEMPRESA.."
         Moveto [Numero do Documento     ] Example "ndoc"
         Moveto [Serie do Documento      ] Example "sdoc"
 
         Moveto [Codigo do Documento    ] TypeIn "~VSDGTPDOCTO.."
         Moveto [Codigo                 ] TypeIn "~VSDGDESTINAT.."
         Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
         Moveto [Cidade                 ] TypeIn CIDADE
         Moveto [UF                     ] TypeIn "~VSDGESTADO.."
         Moveto [Data de Emissao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"

         Moveto [Condicao de Pagamento  ] TypeIn "~VSDGCONDPGTO.."
         Moveto [Forma de Pagamento     ] TypeIn "~VSDGTPPAGTO.."
         Moveto [Numero_Carregamento    ] TypeIn "~VSDGNCARREG.."
         Moveto [Codigo_Usuario         ] TypeIn "~VSDGCHAPA.."

         Moveto [Descricao da Destinacao] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
         Moveto [Tipo Movimento Estoque ] TypeIn "S"
         Moveto [Situacao               ] TypeIn "Not C"
        
        If Not IsBlank(VSDGMARCA) Or
           Not IsBlank(VSDGFAMI) Or
           Not IsBlank(VSDGGRP)
           Then 
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaI" Enter
                Moveto [Codigo da Empresa      ] Example "cemp"
                Moveto [Numero do Documento    ] Example "ndoc"
                Moveto [Serie do Documento     ] Example "sdoc"
                Moveto [Codigo do Item         ] Example "cite"
        EndIf
        
        Do_It!
        ClearAll
EndIf
EndProc ; (Seleciona)

;*******************************************************************************
;* Rotina Processar Dados                                                      *
;*******************************************************************************
Proc RM_3056D_Processa()


EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_3056D_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_3056D_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 
        RM_3056D_Processa()

        Switch
          Case VSDGCODMODELO="96"  : CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2000"  "8" Tabela "R" 
          Case VSDGCODMODELO="96A" : CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2000" "13" Tabela "R" 
        EndSwitch
   
        IMPRIREL(Tabela,"R")
  
   Else MENSAGEM("No existem registros a processar")
EndIf

Delete Tabela
EndProc

;-- Chamada principal ----------------------------------------------------------
RM_3056D_Principal()

Release Vars Tabela
Release Procs RM_3056D_Principal, RM_3056D_Seleciona, RM_3056D_Adiciona_Dados, RM_3056D_Processa 

