;** RM_0006 ********************************************************************
;* Inativa‡„o/Exclus„o de Itens                                                *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 06/04/2015 por Andrey Fillipe
;Ultima Alteracao: 18/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 15/03/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes exclusÆo rotinas controle de pecas
;Ultima Alteracao: 30/05/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes exclusÆo tabela "fatura g"                
;Ultima Alteracao: 27/01/2018 por Bruno Carvalho
;Motivo Alteracao: Removido processos que referencia ao campo [Edita Descricao do Item]
;Ultima Alteracao: 05/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Seta_Ordem_Report()         
;Ultima Alteracao: 07/06/2018 por Bruno Carvalho
;Motivo Alteracao: Adicionado/ajustado Grava_LogEx()        
;Ultima Alteracao: 02/07/2019 por Bruno Carvalho
;Motivo Alteracao: Alterado [Producao Esgotada] da tabela "Iten_Com" p/ a tabela "Itens"
;Ultima Alteracao: 15/09/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado VisePedidosEsgotado         

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True
  SetaCorRegistro("Editar")

  Moveto [Codigo do Item]
  End
  Down

  While True
    TECLA=""
    AguardaTeclasPadrao()
  
    If RetVal=-33
       Then Echo Normal
            Echo Off
            ShowPopup " Fun‡”es " CENTERED
             "F2 ~I~nativar" : " Inativar itens que n„o tem movimenta‡„o " : "F2",
             "F9 ~E~xcluir " : " Excluir itens que n„o tem movimenta‡„o  " : "F3",
             "~C~ancelar   " : " Cancelar a Opera‡„o                     " : "CANCELAR"
            EndMenu
             To MenuVar
  
            echo off
            If MenuVar="CANCELAR" or MenuVar="Esc"
                Then Loop
            EndIf
  
            RetVal=MenuVar
    EndIf
  
    Switch
        Case RetVal="F2": 
             If INATIVAR("Inativar")  
                Then CHAVEC=9
                     Return
             EndIf
        Case RetVal="F3": 
             If INATIVAR("")  
                Then CHAVEC=9
                     Return
             EndIf
        Case RetVal=-94 : MsgTeclasPadrao()
        Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":  
             While True
               PAGINA(TabelaREF,"MR")
               Switch
                  Case EDITAR="S":
                       Mensagem("Edi‡„o n„o permitida !")
                  Case EXCLUIR="S" :
                       If QuerExcluir("")
                          Then DEL
                          Else UnLockRecord
                       EndIf
                  OtherWise : QuitLoop
               EndSwitch
               SetaPosForm()
             EndWhile
             QuitLoop
        Case Retval="ESC":
             CHAVEC=9
             Del
             Return    
    EndSwitch
  EndWhile
EndWhile
EndProc

;*******************************************************************************
;* Inativacao de Itens                                                         *
;*******************************************************************************
Proc INATIVAR(PARAM)
Private PARAM, MES, ANO, DATA

; PARAM for diferente de vazio, Ex: PARAM = "Inativar" vai so inativar os itens
; PARAM for vazio,              Ex: PARAM = ""         vai inativar e excluir os itens
     
If PARAM<>""
   Then MSG="Ao tornar estes Itens INATIVO observe:// //"
        MSG=MSG+"- Os valores no Invent rio dever„o estar zerados, //"
        MSG=MSG+"- Novos movimentos de entrada/saida n„o ser„o permitidos.// //"
        MSG=MSG+"Tem certeza que deseja inativar estes itens ?"
        ConfGeral(MSG)
        If OK<>"S"
           Then Return False
        EndIf
   Else MSG=    "Antes de excluir os ITENS observe:                      //"
        MSG=MSG+"  - Os valores no Invent rio dever„o estar zerados,    //"
        MSG=MSG+"Automaticamente ser  excluido:                         //"
        MSG=MSG+"  - da consulta [ F1=Tabelas ],                        //"
        MSG=MSG+"  - das cota‡”es.                                      //"
        MSG=MSG+"Excluir os Itens se for extremamente necess rio !!      // //"
        MSG=MSG+"Tem certeza que deseja excluir estes itens ?"
        ConfGeral(MSG)
        If OK<>"S"
           Then Return False
        EndIf
EndIf
Do_It!
ClearAll

While True
  If Verifica_Usuario()
     Then QuitLoop
     Else ConfGeral("Comunicar os usuarios !// //Deseja Continuar o procedimento ?")
          If OK<>"S"
             Then CoEdit TabelaREF
                  PickForm "F"
                  SetaCorRegistro("Editar")
                  Moveto [Codigo do Item]
                  End
                  Down
                  Return False
          EndIf
  EndIf
EndWhile

Aguarde("Inativando Itens "+Barra(2,1))
;----------------------- Itens Nao Inativados/Excluidos -----------------------
MES  = AlinhM(StrVal(Month(Today())),2)
ANO  = AlinhM(StrVal(Year(Today())),4)
DATA = Today()

{Ask} TypeIn TabelaREF Enter Check
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\Sdestq" Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Mes Referencia      ] TypeIn "~MES"
Moveto [Ano Referencia      ] TypeIn "~ANO"
Moveto [Saldo Atual         ] TypeIn "Not 0.000"
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then {Tools} {More} {Subtract} {Answer} TypeIn TabelaREF Enter 
        ClearAll  
        
        {Ask} {Answer}
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn Tabela Enter Check
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
        
        Empty Tabela
        Add "Answer" Tabela
        ClearAll
   Else Empty Tabela      
EndIf

If IsEmpty(TabelaREF)
   Then If PARAM<>""
           Then MENSAGEM("N„o existe nenhum item para inativar !")
           Else MENSAGEM("N„o existe nenhum item para excluir !")
        EndIf   
        Return True
EndIf

Aguarde("Inativando Itens "+Barra(2,2))
;----------------------------- Inativando Itens -------------------------------      
{Ask} TypeIn TabelaREF Enter
Moveto [Codigo do Item] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
Moveto [Codigo do Item] Example "cite"
Moveto [Inativo       ] TypeIn "N Or Blank, changeto S"
Do_It!
ClearAll

{Ask} TypeIn TabelaREF Enter
Moveto [Codigo do Item     ] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\Estqprm" Enter
Moveto [Codigo do Item     ] Example "cite"
Moveto [Data de Inatividade] TypeIn "Blank, changeto ~DATA"
Do_It!
ClearAll
 
Grava_LogEx("RM_0006 InaItem")
If PARAM=""
   Then EXCLUSAO()
        Grava_LogEx("RM_0006 ExcItem")
EndIf 

;---------------- Relatorio de Itens Nao Inativados/Excluidos -----------------  
If Not IsEmpty(Tabela)
   Then DATA = AlinhM(StrVal(Month(Today())),2)+"/"+AlinhM(StrVal(Year(Today())),4)
        If PARAM<>""
           Then TITULO = "Relacao de Itens nao Inativados de"
           Else TITULO = " Relacao de Itens nao Excluidos de"
        EndIf   
        IMPRIREL(Tabela,"R")
   Else If PARAM<>""
           Then Mensagem("Todos os itens foram Inativados !")
           Else Mensagem("Todos os itens foram Exclu¡dos !")
        EndIf 
EndIf   

Mensagem("Opera‡„o Finalizada !")

Return True    
    
EndProc

;*******************************************************************************
;* Exclusao de Itens                                                           *
;*******************************************************************************
Proc EXCLUSAO()
ClearAll

;------------------------------ Exclusao Curtume ------------------------------
Aguarde("Deletando Itens na Pasta Curtume "+Barra(5,1))
If IsTable("\\Sistemas\\Curtume\\FCouro")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item          ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Curtume\\FCouro" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item_Consumido] Example "cite"
        Do_It!
        ClearAll
EndIf        

Aguarde("Deletando Itens na Pasta Curtume "+Barra(5,2))
If IsTable("\\Sistemas\\Curtume\\Iremolho")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Curtume\\Iremolho" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf        

Aguarde("Deletando Itens na Pasta Curtume "+Barra(5,3))
If IsTable("\\Sistemas\\Curtume\\Iwetblue")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Curtume\\Iwetblue" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf        

Aguarde("Deletando Itens na Pasta Curtume "+Barra(5,4))
If IsTable("\\Sistemas\\Curtume\\FormulaC")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Curtume\\FormulaC" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Curtume "+Barra(5,5))
If IsTable("\\Sistemas\\Curtume\\FormulaI")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Curtume\\FormulaI" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

;------------------------------ Exclusao Estoque -------------------------------
Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,1))
If IsTable("\\Sistemas\\Estoque\\Itens")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter Check
        Moveto [Codigo do Item] Example "cite" 
        Do_It!
        ClearAll

        Exclui_Itens("Itens")
EndIf

If IsTable("\\Sistemas\\Estoque\\Iten_Com")
   Then {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Iten_Com" Enter Check
        Moveto [Codigo do Item] Example "cite" 
        Do_It!
        ClearAll

        Exclui_Itens("Iten_Com")
EndIf          

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,2))
If IsTable("\\Sistemas\\Estoque\\Itens")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Complementos na Pasta Estoque "+Barra(11,3))
If IsTable("\\Sistemas\\Estoque\\Iten_Com")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Iten_Com" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf                                    

Aguarde("Deletando Inf. dos Tecidos na Pasta Estoque "+Barra(11,4))
If IsTable("\\Sistemas\\Estoque\\Iten_tec")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Iten_tec" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,5))
If IsTable("\\Sistemas\\Estoque\\Cotacao")
   Then        
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Cotacao" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,6))
If IsTable("\\Sistemas\\Estoque\\FornProd")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\FornProd" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf        

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,7))
If IsTable("\\Sistemas\\Estoque\\Iten_Cor")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Iten_Cor" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,9))
If IsTable("\\Sistemas\\Estoque\\Itens_CB")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\Itens_CB" Enter
        Moveto [Codigo do Item   ] Example "cite" TypeIn ", changeto Blank"
        Moveto [Descricao do Item] TypeIn "changeto Blank"
        Do_It!
        ClearAll
EndIf 

Aguarde("Deletando Itens na Pasta Estoque "+Barra(11,10))
If IsTable("\\Sistemas\\Estoque\\EstqPrm")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Estoque\\EstqPrm" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item   ] Example "cite"
        Do_It!
        ClearAll
EndIf 

;------------------------------ Exclusao Fundicao ------------------------------
Aguarde("Deletando Itens na Pasta Fundicao "+Barra(2,1))
If IsTable("\\Sistemas\\Fundicao\\FormulaC")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\FormulaC" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Fundicao "+Barra(2,2))
If IsTable("\\Sistemas\\Fundicao\\FormulaI")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\FormulaI" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

;------------------------------ Exclusao Producao ------------------------------
Aguarde("Deletando Itens na Pasta Producao "+Barra(2,1))
If IsTable("\\Sistemas\\Producao\\FormulaC")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Producao\\FormulaC" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Producao "+Barra(2,2))
If IsTable("\\Sistemas\\Producao\\FormulaI")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item   ] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Producao\\FormulaI" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Produto] Example "cite"
        Do_It!
        ClearAll
EndIf

;------------------------------ Exclusao Vendas ------------------------------
Aguarde("Deletando Itens na Pasta Vendas "+Barra(4,1))
If IsTable("\\Sistemas\\Vendas\\Opaf_Ref")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Vendas\\Opaf_Ref" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Vendas "+Barra(4,2))
If IsTable("\\Sistemas\\Vendas\\TbPrCit")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Vendas\\TbPrCit" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Vendas "+Barra(4,3))
If IsTable("\\Sistemas\\Vendas\\TbPrIte")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Vendas\\TbPrIte" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

Aguarde("Deletando Itens na Pasta Vendas "+Barra(4,4))
If IsTable("\\Sistemas\\Vendas\\TbPrRit")
   Then
        {Ask} TypeIn TabelaREF Enter
        Moveto [Codigo do Item] Example "cite"
        {Ask} TypeIn "\\Sistemas\\Vendas\\TbPrRit" Enter TypeIn "Fast Delete"
        Moveto [Codigo do Item] Example "cite"
        Do_It!
        ClearAll
EndIf

EndProc

;*******************************************************************************
;* Rotina p/ Excluir Itens e Itens_Com                                         *
;*******************************************************************************
Proc Exclui_Itens(PARAM)
Private PARAM

If IsEmpty("Answer")                  
   Then Return
EndIf   

Switch
   Case PARAM = "Itens" : 
        ;Nao foi possivel utilizar o ADD devido a estrutura da "Iten_Exc" que ‚ diferente da estrutura de "Itens"
        ;NÆo foi poss¡vel utilizar o INSERT pois h  campos na tabela "Itens" como [Observacao] que impede essa inser‡Æo.
        
        NR = NRecords("Answer")
        View "Iten_Exc"
        Coedit "Answer"                            
        Scan
          Barra(NR, RecNo())
          Aguarde("Aguarde, excluindo itens "+BARRA_STRING)
          
          CopyToArray REG_ITEM
          
          Moveto "Iten_Exc"
          End Down
          [Codigo do Item           ] = REG_ITEM["Codigo do Item"           ] 
          [Descricao do Item        ] = REG_ITEM["Descricao do Item"        ]
          [Descricao complementar   ] = REG_ITEM["Descricao complementar"   ]
          [Referencia               ] = REG_ITEM["Referencia"               ]
          [Unidade Entrada          ] = REG_ITEM["Unidade Entrada"          ]
          [Fator de Conversao       ] = REG_ITEM["Fator de Conversao"       ]
          [Unidade Interna          ] = REG_ITEM["Unidade Interna"          ]
          [Unidade Embalagem        ] = REG_ITEM["Unidade Embalagem"        ]
          [Fator Conversao Embalagem] = REG_ITEM["Fator Conversao Embalagem"]
          [Unidade Fiscal           ] = REG_ITEM["Unidade Fiscal"           ]
          [Tipo do Item             ] = REG_ITEM["Tipo do Item"             ]
          [Descricao Tipo do Item   ] = REG_ITEM["Descricao Tipo do Item"   ]
          [Codigo da Familia        ] = REG_ITEM["Codigo da Familia"        ]
          [Descricao da Familia     ] = REG_ITEM["Descricao da Familia"     ]
          [Codigo do Grupo          ] = REG_ITEM["Codigo do Grupo"          ]
          [Descricao do Grupo       ] = REG_ITEM["Descricao do Grupo"       ]
          [Codigo da Marca          ] = REG_ITEM["Codigo da Marca"          ]
          [Descricao da Marca       ] = REG_ITEM["Descricao da Marca"       ]
          [Codigo da Cor_Tecido     ] = REG_ITEM["Codigo da Cor_Tecido"     ]
          [Descricao da Cor_Tecido  ] = REG_ITEM["Descricao da Cor_Tecido"  ]
          [Codigo do Departamento   ] = REG_ITEM["Codigo do Departamento"   ]
          [Descricao do Departamento] = REG_ITEM["Descricao do Departamento"]
          [Codigo da Simbologia     ] = REG_ITEM["Codigo da Simbologia"     ]
          [Descricao da Simbologia  ] = REG_ITEM["Descricao da Simbologia"  ]
          [Codigo_Localizacao       ] = REG_ITEM["Codigo_Localizacao"       ]
          [Localizacao              ] = REG_ITEM["Localizacao"              ]
          [Producao Esgotada        ] = REG_ITEM["Producao Esgotada"        ]
          [VisePedidosEsgotado      ] = REG_ITEM["VisePedidosEsgotado"      ]
          [Codigo da Grade          ] = REG_ITEM["Codigo da Grade"          ]
          [DTamanho                 ] = REG_ITEM["DTamanho"                 ]
          [NCM                      ] = REG_ITEM["NCM"                      ]
          [Tipo Codigo_Barras       ] = REG_ITEM["Tipo Codigo_Barras"       ]
          [Codigo de Barras         ] = REG_ITEM["Codigo de Barras"         ]
          [Volumes                  ] = REG_ITEM["Volumes"                  ]
          [Peso Liquido             ] = REG_ITEM["Peso Liquido"             ]
          [Peso Embalagem           ] = REG_ITEM["Peso Embalagem"           ]
          [Tipo Tributacao          ] = REG_ITEM["Tipo Tributacao"          ]
          [CSOSN                    ] = REG_ITEM["CSOSN"                    ]
          [Pais                     ] = REG_ITEM["Pais"                     ]
          [Tributacao de ICMS       ] = REG_ITEM["Tributacao de ICMS"       ]
          [Aliquota Reduzida BCICMS ] = REG_ITEM["Aliquota Reduzida BCICMS" ]
          [Aliquota de ICMS         ] = REG_ITEM["Aliquota de ICMS"         ]
          [Codigo MVA               ] = REG_ITEM["Codigo MVA"               ]
          [MVA_1                    ] = REG_ITEM["MVA_1"                    ]
          [MVA_2                    ] = REG_ITEM["MVA_2"                    ]
          [IPI_CST                  ] = REG_ITEM["IPI_CST"                  ]
          [Tributacao de IPI        ] = REG_ITEM["Tributacao de IPI"        ]
          [Aliquota de IPI          ] = REG_ITEM["Aliquota de IPI"          ]
          [Tributacao de ISSQN      ] = REG_ITEM["Tributacao de ISSQN"      ]
          [Aliquota de ISSQN        ] = REG_ITEM["Aliquota de ISSQN"        ]
          [Codigo_Servico           ] = REG_ITEM["Codigo_Servico"           ]
          [PIS_CST                  ] = REG_ITEM["PIS_CST"                  ]
          [PIS_Aliquota             ] = REG_ITEM["PIS_Aliquota"             ]
          [COFINS_CST               ] = REG_ITEM["COFINS_CST"               ]
          [COFINS_Aliquota          ] = REG_ITEM["COFINS_Aliquota"          ]
          [Codigo Fornecedor        ] = REG_ITEM["Codigo Fornecedor"        ]
          [Propriedade_Terceiro     ] = REG_ITEM["Propriedade_Terceiro"     ]
          [Comissao do Item         ] = REG_ITEM["Comissao do Item"         ]
          [Tipo_Codificacao         ] = REG_ITEM["Tipo_Codificacao"         ]
          [Observacao               ] = REG_ITEM["Observacao"               ]
          [Data_Cadastro            ] = REG_ITEM["Data_Cadastro"            ]
          [Inativo                  ] = REG_ITEM["Inativo"                  ]
          [Data_Inativo             ] = REG_ITEM["Data_Inativo"             ]
          [Chapa                    ] = REG_ITEM["Chapa"                    ]
          [Data da Manutencao       ] = REG_ITEM["Data da Manutencao"       ]
          [Hora da Manutencao       ] = REG_ITEM["Hora da Manutencao"       ]
          UnLockRecord
          
          Moveto "Answer"
        EndScan
        Do_it!                              
        ClearAll  
                                  
   Case PARAM = "Iten_Com" :
        NR = NRecords("Answer")
        View "Iten_Exc"
        Coedit "Answer"
        Scan
          Barra(NR, RecNo())
          Aguarde("Aguarde, excluindo complementos dos itens "+BARRA_STRING)
          
          CopyToArray REG_ITEMCOM
          
          Moveto "Iten_Exc"
          Moveto [Codigo do Item]
          Locate REG_ITEMCOM["Codigo do Item"]
          If Not RetVal
             Then End Down
                  [Codigo do Item] = REG_ITEMCOM["Codigo do Item"]
          EndIf
          [CEST                     ] = REG_ITEMCOM["CEST"                     ]
          [Indice Preco de Venda    ] = REG_ITEMCOM["Indice Preco de Venda"    ]
          [Situacao                 ] = REG_ITEMCOM["Situacao"                 ]
          [Vendagem                 ] = REG_ITEMCOM["Vendagem"                 ]
          [Fracionado               ] = REG_ITEMCOM["Fracionado"               ]
          [Composto                 ] = REG_ITEMCOM["Composto"                 ]
          [Peso Variavel            ] = REG_ITEMCOM["Peso Variavel"            ]
          [Quantidade Maxima Venda  ] = REG_ITEMCOM["Quantidade Maxima Venda"  ]
          [Desconto Maximo          ] = REG_ITEMCOM["Desconto Maximo"          ]
          [Genero                   ] = REG_ITEMCOM["Genero"                   ]
          [EX_TIPI                  ] = REG_ITEMCOM["EX_TIPI"                  ]
          [Codigo Concentrador      ] = REG_ITEMCOM["Codigo Concentrador"      ]
          [FCI                      ] = REG_ITEMCOM["FCI"                      ]
          [ANP_Codigo_Combustivel   ] = REG_ITEMCOM["ANP_Codigo_Combustivel"   ]
          [ANP_UF_Consumo           ] = REG_ITEMCOM["ANP_UF_Consumo"           ]
          [Codigo Enq_IPI           ] = REG_ITEMCOM["Codigo Enq_IPI"           ]
          [Informacoes_Adicionais   ] = REG_ITEMCOM["Informacoes_Adicionais"   ]
          UnLockRecord
          
          Moveto "Answer"
        EndScan
        Do_it!                              
        ClearAll   
EndSwitch

EndProc ;Exclui_Itens()

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

Aguarde("Verificando Pasta Compras "+Dir_Trab+" "+Barra(1,1))
If IsTable("\\Sistemas\\Compras\\"+Dir_Trab+"OcC") And
   IsTable("\\Sistemas\\Compras\\"+Dir_Trab+"OcI")
   Then 
        {Ask} TypeIn "\\Sistemas\\Compras\\"+Dir_Trab+"OcC" Enter
        Moveto [Numero da OC    ] Example "ndoc"
        Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Compras\\"+Dir_Trab+"OcI" Enter
        Moveto [Numero da OC    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Compras)

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

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,1))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C" Enter
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,2))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_I")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_I" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Codigo do Material] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,3))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_P")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_C" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Acabam_P" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Codigo do Item_Produzido] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,4))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"AmostC") 
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"AmostC" Enter
        Moveto [Codigo do Item] Check
        Moveto [Data_Entrada  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,5))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C" Enter
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,6))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_I")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_I" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Codigo do Material] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,7))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_P")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_P" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Codigo do Item_Produzido] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,8))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_C")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Curtim_C" Enter
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,9))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_I")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_C" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_I" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Codigo do Material] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,10))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_W")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_C" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Recurt_W" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Codigo do Item_Consumido] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,11))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C" Enter
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,12))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_I")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_I" Enter
        Moveto [Numero_Partida    ] Example "ndoc"
        Moveto [Codigo do Material] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,13))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_O")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_O" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Codigo do Item_Consumido] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Curtume "+Dir_Trab+" "+Barra(14,14))
If IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C") And
   IsTable("\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_P")
   Then 
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_C" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Data_Programacao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Curtume\\"+Dir_Trab+"Remolh_P" Enter
        Moveto [Numero_Partida          ] Example "ndoc"
        Moveto [Codigo do Item_Produzido] Check TypeIn "as Codigo do Item"
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Curtume)

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

Aguarde("Verificando Pasta Estoque "+Dir_Trab+" "+Barra(5,1))
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEI")
   Then  
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Data de Emissao     ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEI" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Codigo do Item      ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Estoque "+Dir_Trab+" "+Barra(5,2))
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqItem") 
   Then  
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Data de Ocorrencia  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqItem" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Codigo do Item      ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Estoque "+Dir_Trab+" "+Barra(5,3))
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqItemG")
   Then  
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Data de Ocorrencia  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqItemG" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Codigo do Item      ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Estoque "+Dir_Trab+" "+Barra(5,4))
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqMatPri")
   Then  
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Data de Ocorrencia  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqMatPri" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Codigo do Item      ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Estoque "+Dir_Trab+" "+Barra(5,5))
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"Tab_InvC") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"Tab_InvI")
   Then  
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Tab_InvC" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Data_Inclusao       ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Tab_InvI" Enter
        Moveto [Numero do Lancamento] Example "ndoc"
        Moveto [Codigo do Item      ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Estoque)

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

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,1))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacri")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacc" Enter
        Moveto [Numero_Corte    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacri" Enter
        Moveto [Numero_Corte    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,2))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacrig")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacc" Enter
        Moveto [Numero_Corte    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Cfacrig" Enter
        Moveto [Numero_Corte    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,3))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacri")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacc" Enter
        Moveto [Numero_Producao_Corte] Example "ndoc"
        Moveto [Data_Producao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacri" Enter
        Moveto [Numero_Producao_Corte] Example "ndoc"
        Moveto [Codigo do Item       ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,4))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacrig")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacc" Enter
        Moveto [Numero_Producao_Corte] Example "ndoc"
        Moveto [Data_Producao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"PCfacrig" Enter
        Moveto [Numero_Producao_Corte] Example "ndoc"
        Moveto [Codigo do Item       ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,5))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacri")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacc" Enter
        Moveto [Numero_Programacao] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacri" Enter
        Moveto [Numero_Programacao] Example "ndoc"
        Moveto [Codigo do Item    ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,6))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacrig")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacc" Enter
        Moveto [Numero_Programacao] Example "ndoc"
        Moveto [Data_Programacao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Pfacrig" Enter
        Moveto [Numero_Programacao] Example "ndoc"
        Moveto [Codigo do Item    ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,7))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacri")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Data_Producao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacri" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,8))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacrig")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Data_Producao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacrig" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Faccao "+Dir_Trab+" "+Barra(9,9))
If IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc") And
   IsTable("\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacrir")
   Then 
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacc" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Data_Producao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Faccao\\"+Dir_Trab+"Rfacrir" Enter
        Moveto [Numero_Producao] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Faccao)

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Seleciona_Fundicao()
ClearAll   
       
Aguarde("Verificando Pasta Fundicao "+Dir_Trab+" "+Barra(4,1))   
If IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc") And
   IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfl")
   Then 
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfl" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Fundicao "+Dir_Trab+" "+Barra(4,2))
If IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc") And
   IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfpr") 
   Then 
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfpr" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Fundicao "+Dir_Trab+" "+Barra(4,3))
If IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc") And
   IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfri")
   Then 
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfri" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Fundicao "+Dir_Trab+" "+Barra(4,4))
If IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc") And
   IsTable("\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfrp") 
   Then 
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfc" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Data_Programacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Fundicao\\"+Dir_Trab+"Progfrp" Enter
        Moveto [Numero_Fusao    ] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Fundicao)

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Seleciona_Vendas()
ClearAll     
  
Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,1))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"ExpedC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"ExpedI")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"ExpedC" Enter
        Moveto [Numero da OE  ] Example "ndoc"
        Moveto [Data_Liberacao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"ExpedI" Enter
        Moveto [Numero da OE  ] Example "ndoc"
        Moveto [Codigo do Item] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,2))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaI") 
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Data de Emissao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaI" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,4))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaID")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Data de Emissao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaID" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,5))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaIG")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Data de Emissao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaIG" Enter
        Moveto [Numero da OF   ] Example "ndoc"
        Moveto [Codigo do Item ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,6))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaI")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
        Moveto [Codigo da Empresa  ] Example "cemp"
        Moveto [Numero do Documento] Example "ndoc"
        Moveto [Serie do Documento ] Example "sdoc"
        Moveto [Data de Emissao    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {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     ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,7))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaIG")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
        Moveto [Codigo da Empresa  ] Example "cemp"
        Moveto [Numero do Documento] Example "ndoc"
        Moveto [Serie do Documento ] Example "sdoc"
        Moveto [Data de Emissao    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaIG" Enter
        Moveto [Codigo da Empresa  ] Example "cemp"
        Moveto [Numero do Documento] Example "ndoc"
        Moveto [Serie do Documento ] Example "sdoc"
        Moveto [Codigo do Item     ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,8))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaIDV")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
        Moveto [Codigo da Empresa  ] Example "cemp"
        Moveto [Numero do Documento] Example "ndoc"
        Moveto [Serie do Documento ] Example "sdoc"
        Moveto [Data de Emissao    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaIDV" Enter
        Moveto [Codigo da Empresa  ] Example "cemp"
        Moveto [Numero do Documento] Example "ndoc"
        Moveto [Serie do Documento ] Example "sdoc"
        Moveto [Codigo do Item     ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,9))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"OrcaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"OrcaI")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"OrcaC" Enter
        Moveto [Numero do Orcamento] Example "ndoc"
        Moveto [Data de Emissao    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"OrcaI" Enter
        Moveto [Numero do Orcamento] Example "ndoc"
        Moveto [Codigo do Item     ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,10))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI")
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
        Moveto [Numero do Pedido] Example "ndoc"
        Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI" Enter
        Moveto [Numero do Pedido] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

Aguarde("Verificando Pasta Vendas "+Dir_Trab+" "+Barra(11,11))
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoG") 
   Then 
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
        Moveto [Numero do Pedido] Example "ndoc"
        Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoG" Enter
        Moveto [Numero do Pedido] Example "ndoc"
        Moveto [Codigo do Item  ] Check
        Do_It!
        ClearAll

        Adiciona_Dados()
EndIf

EndProc   ; (Seleciona_Vendas)

;*******************************************************************************
;* Rotina adicionar dados na Db temporaria                                     *
;*******************************************************************************
Proc Adiciona_Dados()
ClearAll

If IsEmpty("Answer")
   Then Return
EndIf 

Add "Answer" TabelaTemp
Do_It!
ClearAll

EndProc   ; (Adiciona_Dados)

;*******************************************************************************
;* Rotina p/ montar o relatorio e form                                         *
;*******************************************************************************
Proc Gerar_Relatorio()
private MES,ANO
ClearAll

MES=AlinhM(StrVal(Month(Today())),2)
ANO=AlinhM(StrVal(Year(Today())),4)

AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,1))
;------------ Pegar todos os itens e subtrair o que teve movimento ------------
{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
Moveto [Codigo do Item    ] Check
Moveto [Tipo do Item      ] TypeIn "T Or P Or S Or M"
Moveto [Data da Manutencao] TypeIn "<~VSDGDTINI2"
Do_It!
ClearAll

{Tools} {More} {Subtract} TypeIn TabelaTemp Enter {Answer} 
ClearAll

Empty TabelaTemp
Add "Answer" TabelaTemp
ClearAll

If IsEmpty(TabelaTemp)
   Then TabelaREF=Cria_Temp(PrivDir())
        Rename TabelaTemp TabelaREF
        Return
EndIf   

AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,2))
;------------- Pegar Saldo Atual e inserir na tabela do relatorio -------------
{Ask} TypeIn TabelaTemp Enter
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\Sdestq" Enter
Moveto [Codigo do Item      ] Check Example "cite"
Moveto [Codigo da Empresa   ] Check
Moveto [Mes Referencia      ] TypeIn "~MES.."
Moveto [Ano Referencia      ] TypeIn "~ANO.."
Moveto [Saldo Atual         ] Check
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then {Ask} {Answer}
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Saldo Atual         ] Example "saldo"
        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Saldo Atual         ] Example "saldo"
        Do_It!
        ClearAll
EndIf

;--------- Pegar Data da Ultima Saida e inserir na tabela do relatorio ---------
{Ask} TypeIn TabelaTemp Enter
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\EstqPrm" Enter
Moveto [Codigo do Item      ] Check Example "cite"
Moveto [Codigo da Empresa   ] Check
Moveto [Data da Ultima Saida] Check
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then {Modify} {Restructure} {Answer}
        Moveto [Field Type]
        "*"
        Down
        "*"
        Do_It! 
        ClearAll
        
        {Ask} {Answer}
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Data da Ultima Saida] Example "dt"
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Data da Ultima Saida] TypeIn "changeto _dt"
        Do_It!
        ClearAll            
        
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        {Ask} {Answer} TypeIn "Fast Delete"
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Do_It!
        ClearAll
        
        {Ask} {Answer}
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Data da Ultima Saida] Example "dt"
        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
        Moveto [Codigo da Empresa   ] Example "cemp"
        Moveto [Codigo do Item      ] Example "cite"
        Moveto [Data da Ultima Saida] Example "dt"
        Do_It!
        ClearAll
EndIf

AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,3))
;------- Criar Tabela do Form e inserir os itens que nao teve movimento -------
TabelaREF=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Estoque\\RM_0006" TabelaREF
Empty TabelaREF 

{Ask} TypeIn TabelaTemp Enter
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn TabelaREF Enter TypeIn "Fast Insert"
Moveto [Codigo do Item      ] Example "cite"
Do_It!
ClearAll

AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,4))
;-------------------- Inserir Itens que nao possui empresa --------------------
{Ask} TypeIn Tabela Enter
Moveto [Codigo do Item] Check
Do_It!
ClearAll

{Tools} {More} {Subtract} {Answer} TypeIn TabelaTemp Enter 
ClearAll

{Ask} TypeIn TabelaTemp Enter
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Codigo do Item      ] Example "cite"
Do_It!
ClearAll

Delete TabelaTemp

AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,5))
;----------- Correcao dos itens na tabela do Relatorio e Impressao ------------
{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Descricao do Item   ] Example "dite"
Moveto [Inativo             ] Example "inat"
{Ask} TypeIn Tabela Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Descricao do Item   ] TypeIn "changeto _dite"
Moveto [Inativo             ] TypeIn "changeto _inat"
Do_It!
ClearAll

If Not IsEmpty(Tabela)
   Then If VSDGOPRELCODALF="2"
           Then Seta_Ordem_Report(Tabela,"R","Codigo do Item","Descricao do Item","")
        EndIf

        DATA =AlinhM(StrVal(Month(Today())),2)+"/"+AlinhM(StrVal(Year(Today())),4)
        TITULO = " Relacao de Itens sem Movimento de"
        IMPRIREL(Tabela,"R")
EndIf
  
AGUARDE("Aguarde, gerando o relat¢rio "+Barra(6,6))
;-------------- Verificacao de itens a serem Inativados/Excluidos --------------
DATA = Today()

{Ask} TypeIn TabelaREF Enter Check
Moveto [Codigo do Item      ] Example "cite"
{Ask} TypeIn "\\Sistemas\\Estoque\\Sdestq" Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Mes Referencia      ] TypeIn "~MES"
Moveto [Ano Referencia      ] TypeIn "~ANO"
Moveto [Saldo Atual         ] TypeIn "Not 0.000"
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then {Tools} {More} {Subtract} {Answer} TypeIn TabelaREF Enter 
        ClearAll  
EndIf

If IsEmpty(TabelaREF)
   Then Return
EndIf

;-------------------- Correcao dos itens na tabela do Form --------------------
{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Descricao do Item   ] Example "dite"
{Ask} TypeIn TabelaREF Enter
Moveto [Codigo do Item      ] Example "cite"
Moveto [Descricao do Item   ] TypeIn "changeto _dite"
Do_It!
ClearAll 

EndProc   ; (Gera_Relatorio)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo = "TG_DTINI"         : Campo = "NO"
            Case Campo = "TG_DTINI2"        : Campo = "TG_DTINI"
            Case Campo = "TG_OPRELCODALF"   : Campo = "TG_DTINI2"
            Case Campo = "YES" Or Campo="NO": Campo = "TG_DTINI"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_DTINI"       : 
                         ;If VSDGDTINI=BlankDate() Or VSDGDTINI>=(Today()-365)
                         ;   Then Mensagem("A Data de in¡cio deve ser no m¡nimo 1 ano de diferen‡a da data atual !")
                         ;   Else Campo="TG_DTINI2"
                         ;EndIf   
                         
                         Campo="TG_DTINI2"
                         
                         
                         
                         
                         
                    Case Campo="TG_DTINI2"      : 
                         ;If VSDGDTINI2=BlankDate() Or VSDGDTINI2>(Today())
                         ;   Then Mensagem("A Data de in¡cio deve ser menor ou igual a data atual !")
                         ;   Else Campo="TG_OPRELCODALF"
                         ;EndIf
                         
                         Campo="TG_OPRELCODALF"
                         
                    Case Campo="TG_OPRELCODALF" : Campo = "YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_DTINI":
     MSG_CAMPO="Data de itens que nÆo tiveram movimenta‡Æo"
  Case Campo="TG_DTINI2":
     MSG_CAMPO="Data do cadastro de itens que nao serÆo exclu¡dos"   
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()
If Not IsAssigned (SYS_NIVEL_USUARIO) Then SYS_NIVEL_USUARIO = "" EndIf
If Not IsAssigned (SYS_CHAPA_USUARIO) Then SYS_CHAPA_USUARIO = "" EndIf
If Not IsAssigned (SYS_NOME_USUARIO)  Then SYS_NOME_USUARIO  = "" EndIf

If SYS_NIVEL_USUARIO<>"S" And SYS_NIVEL_USUARIO<>"E" And SYS_NIVEL_USUARIO<>""
   Then Mensagem("Acesso permitido somente para Supervisor !")
        Return
   Else SYS_CHAPA_SUPERVISOR=SYS_CHAPA_USUARIO
        SYS_NOME_SUPERVISOR =SYS_NOME_USUARIO
        SYS_NIVEL_SUPERVISOR=SYS_NIVEL_USUARIO
EndIf

COR_MENSAGEM="1"
MSG="- Antes de efetuar esta opera‡„o de altera‡„o de dados,     //"
MSG=MSG+"  recomendamos que seja feito um backup do sistema.         //"
MSG=MSG+"- Caso a altera‡„o de dados fique errada ‚ poss¡vel retornar//"
MSG=MSG+"  aos valores anteriores com a restaura‡„o do backup.       //"
MSG=MSG+"- Recomendamos tamb‚m que durante este processo ningu‚m     //"
MSG=MSG+"  esteja usando o sistema.                                  //"
MSG=MSG+"- Efetuar o reprocessamento do estoque corrente.            //"
Mensagem(MSG)

VSDGDTINI       = BlankDate()
VSDGDTFIM       = Today()
VSDGDTINI2      = BlankDate()
VSDGDTFIM2      = Today()
VSDGOPRELCODALF = ""

While True
  
  ShowDialog "Inativa‡„o/Exclus„o de Itens" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 05,12   Height 09 Width 72

    Label  @ 00,00 "Data In¡cio da Opera‡„o" For "TG_DTINI"
    Accept @ 01,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 01,16 "at‚" For "TG_DTFIM"
    Accept @ 01,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Label  @ 02,00 "Data Cadastro do Item" For "TG_DTINI2"
    Accept @ 03,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI2" To VSDGDTINI2
    Label  @ 03,16 "at‚" For "TG_DTFIM2"
    Accept @ 03,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM2" To VSDGDTFIM2
    
    Label  @ 00,35 "Op‡„o de Ordem" For "TG_OPRELCODALF"
    Accept @ 01,39 Width 04 "A1"  Picture "1,2" Tag "TG_OPRELCODALF" To VSDGOPRELCODALF
    Accept @ 01,44 Width 25 "A25"  Picture "!*!" Tag "TG_NOMOPRELCODALF" To VSDGNOMOPRELCODALF

    Pushbutton @ 05,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 05,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  If IsBlank(VSDGDTINI)
     Then Mensagem("Data de In¡cio Inv lida !")
          Loop
  EndIf
  
  If IsBlank(VSDGDTINI2)
     Then Mensagem("Data de In¡cio Inv lida !")
          Loop
  EndIf
  
  VSDGDTFIM = Today()
  VSDGDTFIM2= Today()

  DISPOSITIVO()
  If OK=""  Then Loop EndIf
  
  TabelaTemp = Cria_Temp(PrivDir())
  
  {Ask} TypeIn "\\Base\\Sistemas\\Estoque\\RM_0006" Enter
  Moveto [Codigo do Item] Check
  Do_It!
  ClearAll
  
  Rename "Answer" TabelaTemp
  Empty TabelaTemp
  
  {Modify} {Restructure} TypeIn TabelaTemp Enter
  Moveto [Field Type]
  "*"
  Do_It! 
  ClearAll 
  
  For i From 1 To 6
    Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
    While Novo_Dir_Trab()
      Switch
          Case i = 1 And DirExists("\\Sistemas\\Compras\\"+Dir_Trab) <> 0 : Seleciona_Compras()
          Case i = 2 And DirExists("\\Sistemas\\Curtume\\"+Dir_Trab) <> 0 : Seleciona_Curtume()
          Case i = 3 And DirExists("\\Sistemas\\Estoque\\"+Dir_Trab) <> 0 : Seleciona_Estoque()
          Case i = 4 And DirExists("\\Sistemas\\Faccao\\"+Dir_Trab)  <> 0 : Seleciona_Faccao()
          Case i = 5 And DirExists("\\Sistemas\\Fundicao\\"+Dir_Trab)<> 0 : Seleciona_Fundicao()
          Case i = 6 And DirExists("\\Sistemas\\Vendas\\"+Dir_Trab)  <> 0 : Seleciona_Vendas()
      EndSwitch    
    EndWhile
  EndFor  
  
  If IsEmpty(TabelaTemp)
     Then MENSAGEM("N„o existem registros a processar !")
          Delete TabelaTemp
          Loop
  EndIf

  Tabela = Cria_Temp(PrivDir())
  Copy "\\Base\\Sistemas\\Estoque\\RM_0006" Tabela
  Empty Tabela
  
  AGUARDE("Aguarde, gerando o relat¢rio")  
  Gerar_Relatorio()
  
  If IsEmpty(TabelaREF)
     Then MENSAGEM("N„o existe nenhum item para inativar/excluir !")
          Delete Tabela
          Delete TabelaREF
          Loop
  EndIf
      
  CoEdit TabelaREF
  PickForm "F"
  
  While True
    CHAVE()
    If CHAVEC=9
       Then QuitLoop
    EndIf
  EndWhile
  Do_It!
  ClearAll
  Echo Normal
  Echo Off
  
  Delete Tabela
  Delete TabelaREF
  QuitLoop  
EndWhile
ClearAll
Release Vars All
Release Procs All
