;** RC_0090B *******************************************************************
;*  Listagem de Codigo de Barras **Duplicidade                                 *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 07/04/2015 por Bruno Carvalho
;Ultima Alteracao: 16/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 05/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Seta_Ordem_Report()                
;Ultima Alteracao: 11/06/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes adicionado iten_bar
;Ultima Alteracao: 10/01/2019 por Bruno Carvalho
;Motivo Alteracao: Removido [Inativo] da tabela "Iten_bar"                
;Ultima Alteracao: 13/04/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Agrupado RC_0090, substituido RM_0009A

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc RC_0090B_Seleciona()
private wi

for wi from 1 to 2 

  {Ask} {Itens} Check
  moveto [Codigo do Item      ] typein "_coditem!"
  Moveto [Tipo do Item        ] TypeIn "~VSDGTPITEM.."
  Moveto [Codigo da Familia   ] TypeIn "~VSDGFAMI.."
  Moveto [Codigo do Grupo     ] TypeIn "~VSDGGRP.."
  Moveto [Codigo da Marca     ] TypeIn "~VSDGMARCA.."
  Moveto [Codigo da Cor_Tecido] TypeIn "~VSDGCORTECIDO.."
  Moveto [Referencia          ] TypeIn "~VSDGREFERENCIA.."
  if search("..",VSDGLOCAL)>0
     then Moveto [Localizacao         ] TypeIn VSDGLOCAL
     else Moveto [Codigo_Localizacao  ] TypeIn "~VSDGLOCAL.."
  endif   
  Moveto [Inativo]            
  Switch
    Case VSDGSTATUS="1": TypeIn "N"
    Case VSDGSTATUS="2": TypeIn "S"
  EndSwitch
  Moveto [Tipo Codigo_Barras]
  If CDBAR <> ""
     Then TypeIn CDBAR
  EndIf
  Moveto [Codigo do Departamento] TypeIn "~VSDGDEPART.."
  Moveto [NCM                   ] TypeIn "~VSDGNCM.."
  Moveto [Tipo Tributacao       ] TypeIn "~VSDGTPTRIBUT.."
  
  Moveto [Codigo de Barras      ] typeIn "not blank"
  
  {Ask} {Iten_Com} Check
  moveto [Codigo do Item      ] Check typein "_coditem"
  Do_It!
  ClearAll
  
  if not isblank(VSDGCOMPTECIDO) and VSDGCOMPTECIDO<>".."
     then 
          {Ask} {Answer} Check
          moveto [Codigo do Item      ]       typein "_coditem"
          {Ask} {Iten_Tec} Check
          moveto [Codigo do Item      ] Check typein "_coditem"
          Moveto [Composicao          ]       TypeIn VSDGCOMPTECIDO
  endif
  Do_It!
  ClearAll
  
  if wi=2 
     then
          tabela2=Adiciona_Indice_Temp("Codigo do Item")
      
          {Ask} typein tabela2 Enter
          Moveto [Codigo do Item   ] typeIn "_cditem"
          Moveto [Descricao do Item] Check
          {Ask} {Iten_bar}
          Moveto [Codigo do Item   ] check typeIn "_cditem"
          Moveto [Codigo de Barras ] Check 
          Do_It!
          ClearAll
        
          delete tabela2
  endif

  MudaEstruturaDaTabelaPara("Answer",Tabela)
  Add "Answer" Tabela
  ClearAll

endfor

if VSDGCODMODELO="20A"
   then 
        {Ask} typein Tabela Enter
        Moveto [Codigo de Barras] Check 
        Moveto [Codigo do Item  ]       TypeIn "Calc Count as Repete"
        Do_It!
        ClearAll
        
        {Ask} {Answer}
        Moveto [Codigo de Barras] Check 
        Moveto [Repete          ]       TypeIn ">1"
        Do_It!
        ClearAll
        tabela2=Adiciona_Indice_Temp("Codigo de Barras")
        
        {Ask} typein tabela2 Enter
        Moveto [Codigo de Barras ] typeIn "_cdbar"
        {Ask} typein tabela  Enter check
        Moveto [Codigo de Barras ] typeIn "_cdbar"
        Do_It!
        ClearAll

        empty(Tabela)
        Add "Answer" Tabela

        delete tabela2
endif   
   
EndProc ;Seleciona()

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RC_0090B_Principal()

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

RC_0090B_Seleciona()

If IsEmpty(Tabela)
   Then 
        MENSAGEM("No existem registros a processar")
   else
        If VSDGCODMODELO="20"
           Then Seta_Ordem_Report(Tabela,"R","Codigo de Barras","Codigo do Item","")
        EndIf
        IMPRIREL(Tabela,"R")
EndIf
Delete Tabela

EndProc

;-- Chamada principal ----------------------------------------------------------
RC_0090B_Principal()

Release Vars Tabela, Tabela2      
Release Procs RC_0090B_Principal, RC_0090B_Seleciona
