;** RM_3056A *******************************************************************
;* Relacaoo Vendas/Tabela por Representante                                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 29/06/2004 por Anivel Augusto Rodrigues
;Ultima Alteracao: 31/05/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 11/07/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado filtro na ask do NotaI "Situacao_Item"
;Ultima Alteracao: 27/10/2016 por Rafael Matos
;Motivo Alteracao: Ajustes Layout para padroniza‡Æo
;Ultima Alteracao: 10/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 11/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes agrupado RM_3056    
;Ultima Alteracao: 11/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes substituido RM_3207    

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

;****** Vendas *****************************************************************
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaI")
   Then 
        if not isblank(VSDGFAMI)  or
           Not IsBlank(VSDGGRP)   or
           Not IsBlank(VSDGMARCA)   
           then
                {Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
                Moveto [Codigo do Item         ] Example "cit"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
        endif

        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter Check
        Moveto [Codigo da Empresa      ] Example "Empresa" TypeIn ", ~VSDGEMPRESA.."
        Moveto [Numero do Documento    ] Example "Docto"
        Moveto [Serie do Documento     ] Example "Serie"
        
        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"
        
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"Notai" Enter
        Moveto [Codigo da Empresa      ] Example "Empresa"
        Moveto [Numero do Documento    ] Example "Docto"
        Moveto [Serie do Documento     ] Example "Serie"
        
        if not isblank(VSDGFAMI)  or
           Not IsBlank(VSDGGRP)   or
           Not IsBlank(VSDGMARCA)   
           then
                Moveto [Codigo do Item         ] Example "cit" TypeIn ", ~VSDGITEM.."
           else Moveto [Codigo do Item         ]               TypeIn   "~VSDGITEM.."
        endif

        Do_It!
        ClearAll
        
        If not IsEmpty("Answer")
           then
                {Tools} {Copy} {JustFamily} {Notac} {Answer} {Replace}
                
                CoEdit "Answer"
                PickForm "1"
                Scan
                
                  VRTAB =0
                  Moveto "NotaI"
                  Scan For [Situacao_Item] <> "C"
                    VRTAB=VRTAB+([Quantidade]*[Preco Unitario Tabela])
                  EndScan
                
                  Moveto "Answer"
                  [Valor IPI]=VRTAB
                EndScan
                Do_It!
                ClearAll
        endif
EndIf

EndProc   ; (Seleciona)

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


EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_3056A_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_3056A_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_3056A_Processa()

        CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2001" "4" Tabela "R"
        IMPRIREL(Tabela,"R")
  
   Else MENSAGEM("N„o existem registros a processar")
EndIf

Delete Tabela
EndProc

;-- Chamada principal ----------------------------------------------------------
RM_3056A_Principal()

Release Vars Tabela
Release Procs RM_3056A_Principal, RM_3056A_Seleciona, RM_3056A_Adiciona_Dados, RM_3056A_Processa 

