;** RM_0150B *******************************************************************
;* Relacao de Notas Fiscais - Produto                                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 06/09/2004 por Jos‚ Lu¡s Ameno da Silva
;Motivo Alteracao: PrivDir
;Ultima Alteracao: 23/06/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Opcao Item+Cor
;Ultima Alteracao: 01/12/2010 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo no Relat¢rio para Inbec (00193)
;Ultima Alteracao: 10/07/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado filtro na ask do NotaI "Situacao_Item"
;Ultima Alteracao: 07/10/2015 por Andrey Fillipe
;Motivo Alteracao: Adicionado Coluna Vended. no report RM_2000 "3" e RM_2000 "10"
;Ultima Alteracao: 18/08/2016 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo de REPORT, de RM_2000 "3" e "10" -> RM_1999 "R" e "1"
;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: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes ShowDialog TG_DESTINAT              
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustado ASK p/ check apenas nos campos utilizados no REPORT e criado um REPORT com a estutura utilizada
;Ultima Alteracao: 08/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes logica         
;Ultima Alteracao: 14/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes novo report e altera‡Æo estrutura tabela report
;Ultima Alteracao: 29/05/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado ValidarModelosRelatorios()
;Ultima Alteracao: 21/03/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes item do documento notai
;Ultima Alteracao: 05/02/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes substituido RM_0040    
;Ultima Alteracao: 10/02/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_DESTIN, TG_TPMOVDESTIN                  
;Ultima Alteracao: 21/02/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_OPDTESI                  

;*******************************************************************************
;* Seleciona Registros                                                         *
;*******************************************************************************
Proc RM_0150B_Seleciona()
ClearAll

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaI")
   Then
         {Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
         Moveto [Codigo do Item           ] Example "cite"
         Moveto [Codigo da Marca          ] TypeIn "~VSDGMARCA.."
    
         {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
         Moveto [Codigo da Empresa         ] Check Example "Empresa" TypeIn ", ~VSDGEMPRESA.."
         Moveto [Numero do Documento       ] Check Example "Docto"
         Moveto [Serie do Documento        ] Check Example "Serie"
         Moveto [Nome Fantasia Empresa     ] Check
         Moveto [Codigo                    ] Check TypeIn "~VSDGDESTINAT.." 
         Moveto [Razao Social              ] Check
         Moveto [Data de Emissao           ] Check  
         Moveto [Codigo da Destinacao      ] TypeIn "~VSDGDESTIN.."  
         Moveto [Descricao da Destinacao   ] Check
         Moveto [Descricao CondPagto       ] Check
         Moveto [Composicao de Dias        ] Check
         Moveto [Codigo do Representante   ] Check
         Moveto [Situacao                  ] TypeIn "Not C"
   
         Moveto [Codigo do Documento       ] TypeIn "~VSDGTPDOCTO.."
         Moveto [Codigo do Representante   ] TypeIn "~VSDGREPRESEN.."
         Moveto [Cidade                    ] TypeIn CIDADE
         Moveto [UF                        ] TypeIn "~VSDGESTADO.."
         switch
           case ListaRegra_VSDGDESTIN_Ativo  : Moveto [Codigo da Destinacao] TypeIn ListaRegra_VSDGDESTIN
           otherwise                         : Moveto [Codigo da Destinacao] TypeIn "~VSDGDESTIN.."
         endswitch
         Moveto [Tipo Movimento Estoque ] TypeIn "~VSDGTPMOVDESTIN.."

         switch
          case VSDGOPDTESI="1" : Moveto [Data de Emissao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
          case VSDGOPDTESI="2" : Moveto [Data de Saida  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
          case VSDGOPDTESI="3" : Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
         endswitch
         
         Moveto [Condicao de Pagamento  ] TypeIn "~VSDGCONDPGTO.."
         Moveto [Forma de Pagamento     ] TypeIn "~VSDGTPPAGTO.."

         Moveto [Numero_Carregamento    ] TypeIn "~VSDGNCARREG.."
         Moveto [Placa do Veiculo       ] TypeIn "~VSDGPLACAVEICULO.."

         Switch
            case VSDGSITUACAONOTA="NORMAL"                 : Moveto [Situacao                ] TypeIn "Not C"
                                                             Moveto [Descricao da Destinacao ] TypeIn "Not ..INUT.."
                                                                            
            case VSDGSITUACAONOTA="CANCELADA"              : Moveto [Situacao                ] TypeIn "C"
                
            case VSDGSITUACAONOTA="CANCELADA+DENEGADA"     : Moveto [Situacao                ] TypeIn "C"
                                                             Moveto [Sistema Gerador         ] TypeIn "DN"
                                                             
            case VSDGSITUACAONOTA="CANCELADA+EXTEMPORANEA" : Moveto [Situacao                ] TypeIn "C"
                                                             Moveto [Sistema Gerador         ] TypeIn "EX"

            case VSDGSITUACAONOTA="INUTILIZADA"            : Moveto [Descricao da Destinacao ] TypeIn "..INUT.."
         endSwitch
         
         {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"
         Moveto [Item do Documento      ] Check 
         Moveto [Codigo do Item         ] Check Example "cite" TypeIn ", ~VSDGITEM.."
         Moveto [Descricao do Item      ] Check
         Moveto [Unidade Fiscal         ] Check
         Moveto [Quantidade             ] Check
         Moveto [Preco Unitario         ] Check
         Moveto [Preco Total            ] Check
         Moveto [Valor Desconto Total   ] Check
         Moveto [Codigo da Cor_Tecido   ] Check
         Moveto [Descricao da Cor_Tecido] Check
         Moveto [Informacoes_Adicionais ] Check
         Moveto [Situacao_Item          ] TypeIn "Not C"
         If SYS_CODIGO_CLIENTE = "0193"
            Then {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaV" Enter 
                 Moveto [Codigo da Empresa      ] Example "Empresa"
                 Moveto [Numero do Documento    ] Example "Docto"
                 Moveto [Serie do Documento     ] Example "Serie"
                 Moveto [Forma de Pagamento     ] TypeIn  "Not OU"
                 Moveto [Sequencia              ] TypeIn  "01" 
         EndIf
         Do_It!
         ClearAll

         {Ask} {Answer} Check
         Moveto [Codigo do Item ] Example "CodI"
         {Ask} {\\Sistemas\\Estoque\\Itens} 
         Moveto [Codigo do Item ] Example "CodI"
         Moveto [Codigo da Grade] Check
         Do_It!
         ClearAll

         If IsTable("Answer") 
            Then {Modify} {Restructure} {Answer}
                 Moveto [Field Name]
                 Locate "Informacoes_Adicionais"
                 If RetVal
                    Then Right CtrlBackSpace "A255" Enter
                 EndIf
                 Do_it!
                 
                 if MenuChoice()="Trimming" then {Trimming} endif
 
                 ClearAll 
                 Adiciona_Dados_Tabela(Tabela)
         EndIf      

EndIf

EndProc  ; (Seleciona)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_0150B_Principal()

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

Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  RM_0150B_Seleciona()
EndWhile

If IsEmpty(Tabela)
   Then 
        MENSAGEM("N„o existem registros a processar")
   else
        Switch
          case VSDGCODMODELO="40"   : IMPRIREL(Tabela,"R")
          case VSDGCODMODELO="40A"  : IMPRIREL(Tabela,"1")
          case VSDGCODMODELO="40B"  : IMPRIREL(Tabela,"2")
        endSwitch
EndIf
Delete Tabela

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_0150B_Principal()

Release Vars Tabela
Release Procs RM_0150B_Principal, RM_0150B_Seleciona
