;** RM_0050C *******************************************************************
;*  Relatorio p/ Conferencia Requsicao                                         *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 29/09/2011 por Bruno Carvalho
;Ultima Alteracao: 14/11/2014 por Andrey Fillipe
;Motivo Alteracao: Ajustes para nao sair diferenca em branco
;Ultima Alteracao: 18/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 27/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes agrupado RM_0050, substituido RM_4202
;Ultima Alteracao: 08/04/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes ask          

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc RM_0050C_Seleciona()
ClearAll

{Ask} TypeIn "\\Sistemas\\Estoque\\Rqcabeca" Enter
Moveto [Numero do Lancamento   ] Check
Moveto [Tipo do Documento      ] Check
Moveto [Numero do Documento    ] Check
Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
Moveto [Nome Fantasia Empresa  ] Check
Moveto [Data de Ocorrencia     ] Check TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"

Moveto [Tipo de Movimento      ] TypeIn "E"
Moveto [Tipo de Operacao       ] TypeIn "P"        

Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Tipo do Documento      ] Example "tpdoc"
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Codigo da Empresa      ] Example "codemp"
Moveto [Nome Fantasia Empresa  ] Example "nfant"
Moveto [Data de Ocorrencia     ] Example "data"
{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Tipo do Documento      ] Example "tpdoc"
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Codigo da Empresa      ] Example "codemp"
Moveto [Nome Fantasia Empresa  ] Example "nfant"
Moveto [Data de Ocorrencia     ] Example "data"
Do_It!
ClearAll

Tabela2=Cria_Temp(PrivDir())
Rename "Answer" Tabela2

;*** Itens PadrÆo ****
{Ask} TypeIn Tabela2 Enter
Moveto [Numero do Lancamento   ] Example "nlanc"
{Ask} TypeIn "\\Sistemas\\Estoque\\RqItem" Enter
Moveto [Numero do Lancamento   ] Check Example "nlanc"
Moveto [Quantidade             ] TypeIn "Calc Sum as Qtd"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Qtd                    ] TypeIn "_qtd"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Soma Itens Pecas       ] TypeIn "Changeto _qtd"
Do_It!
ClearAll

;*** Itens Grade ****
{Ask} TypeIn Tabela2 Enter
Moveto [Numero do Lancamento   ] Example "nlanc"
{Ask} TypeIn "\\Sistemas\\Estoque\\RqItemG" Enter
Moveto [Numero do Lancamento   ] Check Example "nlanc"
Moveto [Quantidade             ] TypeIn "Calc Sum as Qtd"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Qtd                    ] TypeIn "_qtd"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Numero do Lancamento   ] Example "nlanc"
Moveto [Soma Itens Grade Pecas ] TypeIn "Changeto _qtd"
Do_It!
ClearAll

EndProc   ;  (Seleciona)

;*******************************************************************************
;* Rotina Processa                                                             *
;*******************************************************************************
Proc RM_0050C_Processa()

Edit Tabela
Scan
  [Diferenca Itens Pecas]=NDecimal([Soma Itens Pecas]-[Soma Itens Grade Pecas],2)
  If [Diferenca Itens Pecas]=0 Or [Diferenca Itens Pecas]=-0    Then [Diferenca Itens Pecas]=BlankNum() EndIf
  If SYS_CLIENTE_CONFEC=""
     Then
          [Soma Itens Pecas     ]=BlankNum()
          [Diferenca Itens Pecas]=BlankNum()
  EndIf   

EndScan
Do_It!
ClearAll

{Ask} TypeIn Tabela Enter TypeIn "Delete"
Moveto [Diferenca Itens Pecas] TypeIn "Blank"
Do_It!
ClearAll

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_0050C_Principal()

AGUARDE("Aguarde, gerando o relat¢rio")
Tabela=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Estoque\\RM_4202" Tabela
Empty(Tabela)

;Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
;While Novo_Dir_Trab()
  RM_0050C_Seleciona()
;EndWhile

If IsEmpty(Tabela)
   Then 
        MENSAGEM("N„o existem registros a processar")
   else
        RM_0050C_Processa()

        If IsEmpty(Tabela)
           Then MENSAGEM("N„o foi detectada nenhuma diferen‡a")
           else
                Switch
                  Case VSDGCODMODELO="18"  : 
                EndSwitch
                IMPRIREL(Tabela,"R")  
        EndIf
EndIf
Delete Tabela
Delete Tabela2

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_0050C_Principal()

Release Vars Tabela, Tabela2
Release Procs RM_0050C_Principal, RM_0050C_Seleciona, RM_0050C_Processa
