;** Rm_Movto *******************************************************************
;*  Selecao de Registros p/ Extrato Sintetico/Analitico do Estoque             *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 30/01/2001 por Anivel Augusto Rodrigues
;Ultima Alteracao: 07/03/2005 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Quantidade Convertida
;Ultima Alteracao: 15/10/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Data Inicial e Data Final
;Ultima Alteracao: 23/01/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Imprimir Item sem Movimentacao S/N
;Ultima Alteracao: 05/02/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Campos Origem/Tipo de Operacao/Destinacao
;Ultima Alteracao: 11/03/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Campos Descricao Origem_Destino
;Ultima Alteracao: 19/03/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Tipo Documento
;Ultima Alteracao: 28/10/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Diretorio de trabalho estoque
;Ultima Alteracao: 19/01/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Repreoces Sequencia do Lancamento          
;Ultima Alteracao: 30/08/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Entradas Faturamento para custo medio DEVOL/MANIF/CONSIG/REQUIS
;Ultima Alteracao: 01/09/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes OF em aberto situa‡Æo TROCA
;Ultima Alteracao: 11/07/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado filtro na ask do NotaI "Situacao_Item"
;Ultima Alteracao: 20/03/2013 por Bruno Carvalho
;Motivo Alteracao: Removido das consultas o campo NBM
;Ultima Alteracao: 25/04/2013 por Bruno Carvalho
;Motivo Alteracao: Alterado de NBM para NCM
;Ultima Alteracao: 16/05/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes tipo de documento       
;Ultima Alteracao: 16/05/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ incluir "Ordem Balanco"
;Ultima Alteracao: 05/02/2015 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Sort Data/Ordem Balanco   
;Ultima Alteracao: 18/03/2015 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Itens sem movimenta‡Æo no periodo S/N
;Ultima Alteracao: 30/09/2015 por Bruno Carvalho
;Motivo Alteracao: Alterado "Codigo da Empresa Destino" - > "Codigo"
;Ultima Alteracao: 02/10/2015 por Bruno Carvalho  
;Motivo Alteracao: Incluido "I" no [Tipo de Operacao] para fornecer registros quando for requisi‡äes de Industrializa‡Æo
;Ultima Alteracao: 27/10/2015 por Bruno Carvalho
;Motivo Alteracao: Adicionado Identifica_MesAno_Periodo() e adicionado parte do processo Seleciona() na proc Seleciona_NotaC()
;Ultima Alteracao: 24/02/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes valor inicial sem saldo                  
;Ultima Alteracao: 25/06/2016 por Bruno Carvalho
;Motivo Alteracao: Removido Link nos Report "RM_0020" e utilizado fun‡Æo Ajusta_Answer() 
;Ultima Alteracao: 08/07/2016 por Kamila Gomes
;Motivo Alteracao: Ajuste CoEdit Tabela
;Ultima Alteracao: 26/10/2016 por Bruno Carvalho
;Motivo Alteracao: Alterado o NOME Ajusta_Answer p/ Ajusta_Tabela 
;Ultima Alteracao: 03/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Nota Entrada Opera‡Æo para Impostos 
;Ultima Alteracao: 13/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Entrada de MOSTRUARIO - custo medio 
;Ultima Alteracao: 03/08/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes requiscao industr/transf destino/origem
;Ultima Alteracao: 04/08/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes layout impressao
;Ultima Alteracao: 21/08/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes ao chamar a proc Ajusta_Tabela(), verificando se h  registros na TABELA
;Ultima Alteracao: 15/10/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes setdir vendas/estoque
;Ultima Alteracao: 04/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes filtrar itens para TabelaSelecaoItens
;Ultima Alteracao: 13/05/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes CheckTG_OPOF[1]

;*******************************************************************************
;* Ajusta Dados na Answer                                                      *  
;*******************************************************************************
Proc Ajusta_Tabela()
private REG_ITEM, coditem

;** Realizado processo com SCAN pois campo MEMO nÆo aceita ASK -> "Observacao"
 
NR = NRecords(Tabela)
View TabelaSelecaoItens 
CoEdit Tabela
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, montando dados "+BARRA_STRING)

  coditem=[Codigo do Item]
  
  GetRecord TabelaSelecaoItens coditem To REG_ITEM
  If RetVal
     Then 
          [Descricao do Item     ] = REG_ITEM["Descricao do Item"]
          [Tipo do Item          ] = REG_ITEM["Tipo do Item"]
          [Descricao Tipo do Item] = REG_ITEM["Descricao Tipo do Item"]
          [Referencia            ] = REG_ITEM["Referencia"]
          [Observacao            ] = Tira_QuebraLinha(REG_ITEM["Observacao"])
          [Unidade Interna       ] = REG_ITEM["Unidade Interna"]
          [NCM                   ] = REG_ITEM["NCM"]
  EndIf   

EndScan
Do_it!
ClearAll
                               
EndProc ;Ajusta_Tabela()

;*******************************************************************************
;* Rotina p/ Verificar se existe movimentacao no mes em aberto/fechado         *
;*******************************************************************************
Proc Verifica_Vendas()
ClearAll

AGUARDE("Aguarde, verifcando se existe lan‡amentos j  fechados")

;*** Notas de Saida/Faturamento ***
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
   Then {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
        Moveto [Codigo da Empresa        ] Check TypeIn "~VSDGEMPRESA.."
        Moveto [Data de Saida            ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
        Do_It!
        ClearAll

        If Not IsEmpty("Answer")
           Then {Ask} TypeIn "\\Sistemas\\Vendas\\NotaC" Enter
                Moveto [Codigo da Empresa        ] Check TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Saida            ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
                Do_It!
                ClearAll

                If Not IsEmpty("Answer")
                   Then MSG_MODULO=MSG_MODULO+Completa("    Faturamento [Data Saida]"+" - "+Dir_Trab,50," ")+"//"
                EndIf

                If CheckTG_OPOF[1]=False
                   Then ;*** Ordem de Fatura de Saida/Entrada - Faturamento ***
                        {Ask} {\\Sistemas\\Vendas\\Destin}
                        Moveto [Codigo da Destinacao     ] Example "destin"
                        Moveto [Atualiza Estoque         ] TypeIn "S"
                        {Ask} {\\Sistemas\\Vendas\\FaturaC}
                        Moveto [Numero da OF             ] Check
                        Moveto [Codigo da Empresa        ] TypeIn "~VSDGEMPRESA.."
                        Moveto [Codigo da Destinacao     ] Example "destin"
                        Moveto [Data de Emissao          ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
                        Moveto [Tipo Movimento Estoque   ] TypeIn "E Or S"
                        Moveto [Numero Nota Gerada       ] TypeIn "Blank"
                        Do_It!
                        ClearAll
                        
                        If Not IsEmpty("Answer")
                           Then MSG_MODULO=MSG_MODULO+Completa("    Faturamento [Data Saida]"+" - "+Dir_Trab,50," ")+"// //"
                                MSG_MODULO=MSG_MODULO+Completa(" Ordem Fatura [Data Emiss„o]"+" - Em aberto",50," ")
                        EndIf
                EndIf
        EndIf
EndIf

EndProc    ; (Verifica_Vendas)

;*******************************************************************************
;* Rotina p/ Verificar se existe movimentacao no mes em aberto/fechado         *
;*******************************************************************************
Proc Verifica_Estoque()
ClearAll

AGUARDE("Aguarde, verifcando se existe lan‡amentos j  fechados")

;*** Notas de Entrada/Estoque ***
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC")
   Then {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC" Enter
        Moveto [Numero do Lancamento     ] Check
        Moveto [Codigo da Empresa        ] TypeIn "~VSDGEMPRESA.."
        Moveto [Data de Entrada          ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
        Do_It!
        ClearAll

        If Not IsEmpty("Answer")
           Then {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
                Moveto [Numero do Lancamento     ] Check
                Moveto [Codigo da Empresa        ] TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Entrada          ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
                Do_It!
                ClearAll
    
                If Not IsEmpty("Answer")
                   Then MSG_MODULO=MSG_MODULO+Completa("Notas de Entradas no Estoque"+" - "+Dir_Trab,50," ")+"//"
                EndIf   
        EndIf
EndIf

;*** Requisicoes/Estoque ***
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca")
   Then {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqCabeca" Enter
        Moveto [Numero do Lancamento     ] Check
        Moveto [Codigo da Empresa        ] TypeIn "~VSDGEMPRESA.."
        Moveto [Data de Ocorrencia       ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
        Do_It!
        ClearAll

        If Not IsEmpty("Answer")
           Then {Ask} TypeIn "\\Sistemas\\Estoque\\RqCabeca" Enter
                Moveto [Numero do Lancamento     ] Check
                Moveto [Codigo da Empresa        ] TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Ocorrencia       ] TypeIn ">=~DTVERINI, <=~DTVERFIM"
                Do_It!
                ClearAll
                
                If Not IsEmpty("Answer")
                   Then MSG_MODULO=MSG_MODULO+Completa("      Requisi‡”es no Estoque"+" - "+Dir_Trab,50," ")
                EndIf        
        EndIf
EndIf

EndProc    ; (Verifica_Estoque)

;****************************************************************
;** Seleciona Notas Fiscais para Processamento (Entrada/Saida) **
;****************************************************************
Proc Seleciona_NotaC()
ClearAll

AGUARDE("Aguarde, carregando movimentos de "+AlinhM(StrVal(Month(AUX_DTINI)),2)+"."+StrVal(Year(AUX_DTINI)))

;** Saidas/Faturamento **
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
   Then For i From 1 To CONT_REGRA 
          If Not IsBlank(VSDGMARCA) or
             Not IsBlank(VSDGFAMI) or
             Not IsBlank(VSDGGRP) or
             Not IsBlank(VSDGREFERENCIA)
             Then {Ask} TypeIn TabelaSelecaoItens Enter
                  Moveto [Codigo do Item         ] Example "ITEM"
                  Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                  Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                  Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                  Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
          EndIf
          {Ask} {\\Sistemas\\Vendas\\Destin}
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Atualiza Estoque      ] TypeIn "S"
          {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
          Moveto [Codigo da Empresa     ] CheckPlus Example "EMPRESA" TypeIn ", ~VSDGEMPRESA.."
          Moveto [Numero do Documento   ] CheckPlus Example "DOCTO"
          Moveto [Serie do Documento    ] CheckPlus Example "SERIE"
          Moveto [Codigo do Documento   ] CheckPlus
          Switch
            Case REGRA_DATA_ESTOQUE = "Antiga"    : Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    Moveto [Data de Emissao] CheckPlus
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=1
                                                      Then Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                           Moveto [Data de Emissao] CheckPlus TypeIn "<~AUX_DTINI"
                                                      Else Moveto [Data de Saida  ] CheckPlus
                                                           Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data de Saida  ] CheckPlus
                                                    Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
          EndSwitch
          Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "S"
          Moveto [Tipo do Documento     ] CheckPlus
          Moveto [CFO                   ] CheckPlus
          Moveto [Situacao              ] TypeIn "Not C"
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Descricao da Destinacao  ] CheckPlus
          Moveto [Razao Social          ] CheckPlus
          {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     ] CheckPlus
          Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
          Moveto [Tipo do Item          ] CheckPlus
          Switch
             Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
             Case VSDGTIPOEST = "2"       : TypeIn "P or T"
             Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
             OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
          EndSwitch
          Moveto [Quantidade            ] CheckPlus
          Moveto [Custo Medio Unitario  ] CheckPlus
          Moveto [Valor do IPI          ] CheckPlus
          Moveto [Preco Total           ] CheckPlus
          Moveto [Situacao_Item         ] TypeIn "Not C"
          Do_It!
          ClearAll
  
          {Ask} {Answer}
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Numero do Documento    ] Example "DOCTO"
          Moveto [Codigo do Documento    ] Example "SERIE"
          Moveto [Item do Documento      ] Example "seq"
          Moveto [Data de Emissao        ] Example "DTEM"
          Moveto [Data de Saida          ] Example "DATA"
          Moveto [Tipo Movimento Estoque ] Example "TME"
          Moveto [Tipo do Documento      ] Example "TDOC"
          Moveto [CFO                    ] Example "CFO"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Moveto [Quantidade             ] Example "QUANT"
          Moveto [Custo Medio Unitario   ] Example "CUSTO"
          Moveto [Valor do IPI           ] Example "IPI"
          Moveto [Preco Total            ] Example "PTR"
          Moveto [Descricao da Destinacao] Example "DES"
          Moveto [Razao Social           ] Example "RAZ"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Switch
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=2
                                                      Then Moveto [Data] Example "DTEM"
                                                      Else Moveto [Data] Example "DATA"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data] Example "DTEM"
            OtherWise                             : Moveto [Data] Example "DATA"
          EndSwitch
          Moveto [Tipo do Movimento      ] Example "TME"
          Moveto [Origem                 ] TypeIn "FAT"
          Moveto [Descricao da Destinacao] Example "DES"
          Moveto [Tipo do Documento      ] Example "TDOC"
          Moveto [Serie do Documento     ] Example "SERIE"
          Moveto [Numero do Documento    ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [CFO                    ] Example "CFO"
          Moveto [Saida Qtde             ] Example "QUANT"
          Moveto [Saida CUnit            ] Example "CUSTO"
          Moveto [Saida CTot             ] Example "QUANT" TypeIn "*" Example "CUSTO"
          Moveto [Valor do IPI           ] Example "IPI"
          Moveto [Preco Total            ] Example "PTR"
          Moveto [Descricao Origem_Destino] Example "RAZ"
          Do_It!
          ClearAll
  
          ;** Entradas/Faturamento **
            If Not IsBlank(VSDGMARCA) or
               Not IsBlank(VSDGFAMI) or
               Not IsBlank(VSDGGRP) or
               Not IsBlank(VSDGREFERENCIA)
               Then {Ask} TypeIn TabelaSelecaoItens Enter
                    Moveto [Codigo do Item         ] Example "ITEM"
                    Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                    Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                    Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                    Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
            EndIf
  
          {Ask} {\\Sistemas\\Vendas\\Destin}
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Atualiza Estoque      ] TypeIn "S"
          {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
          Moveto [Codigo da Empresa     ] CheckPlus Example "EMPRESA" TypeIn ", ~VSDGEMPRESA.."
          Moveto [Numero do Documento   ] CheckPlus Example "DOCTO"
          Moveto [Serie do Documento    ] CheckPlus Example "SERIE"
          Moveto [Codigo do Documento   ] CheckPlus
          Switch
            Case REGRA_DATA_ESTOQUE = "Antiga"    : Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    Moveto [Data de Emissao] CheckPlus
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=1
                                                      Then Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                           Moveto [Data de Emissao] CheckPlus TypeIn "<~AUX_DTINI"
                                                      Else Moveto [Data de Saida  ] CheckPlus
                                                           Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data de Saida  ] CheckPlus
                                                    Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
          EndSwitch
          Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "E"
          Moveto [Tipo do Documento     ] CheckPlus
          Moveto [CFO                   ] CheckPlus
          Moveto [Situacao              ] TypeIn "Not C"
          Moveto [Descricao da Destinacao  ] CheckPlus TypeIn "Not ..DEVOL.., Not ..MANIF..,  Not ..CONSIG..,  Not ..REQUIS.., Not ..MOSTRUA.."
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Razao Social          ] CheckPlus
          {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      ] CheckPlus
          Moveto [Codigo do Item         ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
          Moveto [Tipo do Item           ] CheckPlus
          Switch
             Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
             Case VSDGTIPOEST = "2"       : TypeIn "P or T"
             Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
             OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
          EndSwitch
          Moveto [Quantidade             ] CheckPlus
          Moveto [Preco Total            ] CheckPlus
          Moveto [Valor Desconto Total   ] CheckPlus
          Moveto [Valor do ICMS          ] CheckPlus
          Moveto [Valor do IPI           ] CheckPlus
          Moveto [Situacao_Item          ] TypeIn "Not C"
          Do_It!
          ClearAll

          {Ask} {Answer}
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Numero do Documento    ] Example "DOCTO"
          Moveto [Item do Documento      ] Example "seq"
          Moveto [Codigo do Documento    ] Example "SERIE"
          Moveto [Data de Emissao        ] Example "DTEM"
          Moveto [Data de Saida          ] Example "SAIDA"
          Moveto [Tipo Movimento Estoque ] Example "TME"
          Moveto [Tipo do Documento      ] Example "TDOC"
          Moveto [CFO                    ] Example "CFO"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Moveto [Quantidade             ] Example "QUANT"
          Moveto [Preco Total            ] Example "TOTAL"
          Moveto [Valor Desconto Total   ] Example "DESCT"
          Moveto [Valor do ICMS          ] Example "ICMS"
          Moveto [Valor do IPI           ] Example "IPI"
          Moveto [Descricao da Destinacao] Example "DES"
          Moveto [Razao Social           ] Example "RAZ"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Switch
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=2
                                                      Then Moveto [Data] Example "DTEM"
                                                      Else Moveto [Data] Example "SAIDA"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data] Example "DTEM"
            OtherWise                             : Moveto [Data] Example "SAIDA"
          EndSwitch
          Moveto [Tipo do Movimento      ] Example "TME"
          Moveto [Origem                 ] TypeIn "FAT"
          Moveto [Descricao da Destinacao] Example "DES"
          Moveto [Tipo do Documento      ] Example "TDOC"
          Moveto [Serie do Documento     ] Example "SERIE"
          Moveto [Numero do Documento    ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [CFO                    ] Example "CFO"
          Moveto [Entrada Qtde           ] Example "QUANT"
          Moveto [Entrada CUnit          ] TypeIn "((((" Example "TOTAL" TypeIn "-" Example "DESCT" TypeIn ")-" Example "ICMS" TypeIn ")+"
                                           Example "IPI" TypeIn ")/" Example "QUANT" TypeIn ")"
          Moveto [Entrada CTot           ] TypeIn "((" Example "TOTAL" TypeIn "-" Example "DESCT" TypeIn ")-" Example "ICMS" TypeIn ")+"
                                           Example"IPI"
          Moveto [Valor do IPI          ] Example "IPI"
          Moveto [Data de Emissao       ] Example "DTEM"
          Moveto [Preco Total           ] Example "TOTAL"
          Moveto [Descricao Origem_Destino] Example "RAZ"
          Do_It!
          ClearAll
  
          ;** Entradas/Faturamento DEVOLUCAO/MANIFESTO **
            If Not IsBlank(VSDGMARCA) or
               Not IsBlank(VSDGFAMI) or
               Not IsBlank(VSDGGRP) or
               Not IsBlank(VSDGREFERENCIA)
               Then {Ask} TypeIn TabelaSelecaoItens Enter
                    Moveto [Codigo do Item         ] Example "ITEM"
                    Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                    Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                    Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                    Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
            EndIf
  
          {Ask} {\\Sistemas\\Vendas\\Destin}
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Atualiza Estoque      ] TypeIn "S"
          {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
          Moveto [Codigo da Empresa     ] CheckPlus Example "EMPRESA" TypeIn ", ~VSDGEMPRESA.."
          Moveto [Numero do Documento   ] CheckPlus Example "DOCTO"
          Moveto [Serie do Documento    ] CheckPlus Example "SERIE"
          Moveto [Codigo do Documento   ] CheckPlus                                  
          Switch
            Case REGRA_DATA_ESTOQUE = "Antiga"    : Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    Moveto [Data de Emissao] CheckPlus
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=1
                                                      Then Moveto [Data de Saida  ] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                           Moveto [Data de Emissao] CheckPlus TypeIn "<~AUX_DTINI"
                                                      Else Moveto [Data de Saida  ] CheckPlus
                                                           Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data de Saida  ] CheckPlus
                                                    Moveto [Data de Emissao] CheckPlus TypeIn ">=~AUX_DTINI, <=~AUX_DTFIM"
          EndSwitch
          Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "E"
          Moveto [Tipo do Documento     ] CheckPlus
          Moveto [CFO                   ] CheckPlus
          Moveto [Situacao              ] TypeIn "Not C"
          Moveto [Codigo da Destinacao  ] Example "DESTIN"
          Moveto [Descricao da Destinacao  ] CheckPlus TypeIn "..DEVOL.. Or ..MANIF.. Or ..CONSIG.. Or ..REQUIS.. Or ..MOSTRUA.."
          Moveto [Razao Social          ] CheckPlus
          {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      ] CheckPlus
          Moveto [Codigo do Item         ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
          Moveto [Tipo do Item           ] CheckPlus
          Switch
             Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
             Case VSDGTIPOEST = "2"       : TypeIn "P or T"
             Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
             OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
          EndSwitch
          Moveto [Quantidade             ] CheckPlus
          Moveto [Custo Medio Unitario   ] CheckPlus
          Moveto [Valor do IPI           ] CheckPlus
          Moveto [Preco Total            ] CheckPlus
          Moveto [Situacao_Item          ] TypeIn "Not C"
          Do_It!
          ClearAll
  
          {Ask} {Answer}
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Numero do Documento    ] Example "DOCTO"
          Moveto [Item do Documento      ] Example "seq"
          Moveto [Codigo do Documento    ] Example "SERIE"
          Moveto [Data de Emissao        ] Example "DTEM"
          Moveto [Data de Saida          ] Example "SAIDA"
          Moveto [Tipo Movimento Estoque ] Example "TME"
          Moveto [Tipo do Documento      ] Example "TDOC"
          Moveto [CFO                    ] Example "CFO"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Moveto [Quantidade             ] Example "QUANT"
          Moveto [Custo Medio Unitario   ] Example "CUSTO"
          Moveto [Valor do IPI           ] Example "IPI"
          Moveto [Preco Total            ] Example "PTR"
          Moveto [Descricao da Destinacao] Example "DES"
          Moveto [Razao Social           ] Example "RAZ"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa      ] Example "EMPRESA"
          Moveto [Codigo do Item         ] Example "ITEM"
          Moveto [Tipo do Item           ] Example "TPITE"
          Switch
            Case REGRA_DATA_ESTOQUE = "Transicao" : If i=2
                                                      Then Moveto [Data] Example "DTEM"
                                                      Else Moveto [Data] Example "SAIDA"
                                                    EndIf
            Case REGRA_DATA_ESTOQUE = "Nova"      : Moveto [Data] Example "DTEM"
            OtherWise                             : Moveto [Data] Example "SAIDA"
          EndSwitch
          Moveto [Tipo do Movimento       ] Example "TME"
          Moveto [Origem                  ] TypeIn "FAT"
          Moveto [Descricao da Destinacao ] Example "DES"
          Moveto [Tipo do Documento       ] Example "TDOC"
          Moveto [Serie do Documento      ] Example "SERIE"
          Moveto [Numero do Documento     ] Example "DOCTO"
          Moveto [Sequencia do Lancamento ] Example "seq"
          Moveto [CFO                     ] Example "CFO"
          Moveto [Entrada Qtde            ] Example "QUANT"
          Moveto [Entrada CUnit           ] Example "CUSTO"
          Moveto [Entrada CTot            ] Example "QUANT" TypeIn "*" Example "CUSTO"
          Moveto [Valor do IPI            ] Example "IPI"
          Moveto [Data de Emissao         ] Example "DTEM"
          Moveto [Preco Total             ] Example "PTR"
          Moveto [Descricao Origem_Destino] Example "RAZ"
          Moveto [Tipo de Operacao        ] "D"
          Do_It!
          ClearAll
        EndFor
EndIf




EndProc ;Seleciona_NotaC()

;****************************************************************
;** Seleciona Notas Fiscais para Processamento (Entrada/Saida) **
;****************************************************************
Proc Seleciona()
private wic

ClearAll

AGUARDE("Aguarde, carregando movimentos")

If CheckTG_OPOF[1]=False
   Then ;** Ordem de Fatura Saidas/Faturamento **
        If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC")
           Then 
                If Not IsBlank(VSDGMARCA) or
                   Not IsBlank(VSDGFAMI) or
                   Not IsBlank(VSDGGRP) or
                   Not IsBlank(VSDGREFERENCIA)
                   Then {Ask} TypeIn TabelaSelecaoItens Enter
                        Moveto [Codigo do Item         ] Example "ITEM"
                        Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                        Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                        Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                        Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
                EndIf
                {Ask} {\\Sistemas\\Vendas\\Destin}
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Atualiza Estoque      ] TypeIn "S"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
                Moveto [Numero da OF          ] CheckPlus Example "DOCTO"
                Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Emissao       ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
                Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "S"
                Moveto [CFO                   ] CheckPlus
                Moveto [Numero Nota Gerada    ] TypeIn "Blank"
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Descricao da Destinacao  ] CheckPlus
                Moveto [Razao Social          ] CheckPlus
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaI" Enter
                Moveto [Numero da OF          ] Example "DOCTO"
                Moveto [Item da OF            ] CheckPlus
                Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
                Moveto [Tipo do Item          ] CheckPlus
                Switch
                   Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
                   Case VSDGTIPOEST = "2"       : TypeIn "P or T"
                   Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
                   OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
                EndSwitch
                Moveto [Quantidade            ] CheckPlus
                Moveto [Custo Medio Unitario  ] CheckPlus
                Moveto [Valor do IPI          ] CheckPlus
                Moveto [Preco Total           ] CheckPlus
                Do_It!
                ClearAll

                {Ask} {Answer}
                Moveto [Numero da OF           ] Example "DOCTO"
                Moveto [Codigo da Empresa      ] Example "EMPRESA"
                Moveto [Data de Emissao        ] Example "DATA"
                Moveto [Tipo Movimento Estoque ] Example "TME"
                Moveto [Item da OF            ] Example "seq"
                Moveto [CFO                    ] Example "CFO"
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Tipo do Item           ] Example "TPITE"
                Moveto [Quantidade             ] Example "QUANT"
                Moveto [Custo Medio Unitario   ] Example "CUSTO"
                Moveto [Valor do IPI           ] Example "IPI"
                Moveto [Preco Total            ] Example "PTR"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Razao Social           ] Example "RAZ"
                {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
                Moveto [Codigo da Empresa      ] Example "EMPRESA"
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Tipo do Item           ] Example "TPITE"
                Moveto [Data                   ] Example "DATA"
                Moveto [Tipo do Movimento      ] Example "TME"
                Moveto [Origem                 ] TypeIn "FAT"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Tipo do Documento      ] TypeIn "OF"
                Moveto [Serie do Documento     ] TypeIn "OF"
                Moveto [Numero do Documento    ] Example "DOCTO"
                Moveto [Sequencia do Lancamento] Example "seq"
                Moveto [CFO                    ] Example "CFO"
                Moveto [Saida Qtde             ] Example "QUANT"
                Moveto [Saida CUnit            ] Example "CUSTO"
                Moveto [Saida CTot             ] Example "QUANT" TypeIn "*" Example "CUSTO"
                Moveto [Valor do IPI           ] Example "IPI"
                Moveto [Preco Total            ] Example "PTR"
                Moveto [Data de Emissao        ] Example "DATA"
                Moveto [Descricao Origem_Destino] Example "RAZ"
                Do_It!
                ClearAll

                If Not IsEmpty("\\Sistemas\\Vendas\\FaturaID")
                   Then ;*** Ordem de Faturamento de Entrada/Troca ***
                        If Not IsBlank(VSDGMARCA) or
                           Not IsBlank(VSDGFAMI) or
                           Not IsBlank(VSDGGRP) or
                           Not IsBlank(VSDGREFERENCIA)
                           Then {Ask} TypeIn TabelaSelecaoItens Enter
                                Moveto [Codigo do Item         ] Example "ITEM"
                                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
                        EndIf
                        {Ask} {\\Sistemas\\Vendas\\Destin}
                        Moveto [Codigo da Destinacao  ] Example "DESTIN"
                        Moveto [Atualiza Estoque      ] TypeIn "S"
                        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
                        Moveto [Numero da OF          ] CheckPlus Example "DOCTO"
                        Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
                        Moveto [Data de Emissao       ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
                        Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "S"
                        Moveto [CFO                   ] CheckPlus
                        Moveto [Numero Nota Gerada    ] TypeIn "Blank"
                        Moveto [Codigo da Destinacao  ] Example "DESTIN"
                        Moveto [Descricao da Destinacao  ] CheckPlus TypeIn "..TROCA.."
                        Moveto [Razao Social          ] CheckPlus
                        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaID" Enter
                        Moveto [Numero da OF          ] Example "DOCTO"
                        Moveto [Item da OF            ] CheckPlus
                        Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
                        Moveto [Tipo do Item          ] CheckPlus
                        Switch
                           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
                           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
                           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
                           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
                        EndSwitch
                        Moveto [Quantidade            ] CheckPlus
                        Moveto [Custo Medio Unitario  ] CheckPlus
                        Moveto [Valor do IPI          ] CheckPlus
                        Moveto [Preco Total           ] CheckPlus
                        Do_It!
                        ClearAll
        
                        {Ask} {Answer}
                        Moveto [Numero da OF           ] Example "DOCTO"
                        Moveto [Codigo da Empresa      ] Example "EMPRESA"
                        Moveto [Data de Emissao        ] Example "DATA"
                        Moveto [Tipo Movimento Estoque ] Example "TME"
                        Moveto [Item da OF             ] Example "seq"
                        Moveto [CFO                    ] Example "CFO"
                        Moveto [Codigo do Item         ] Example "ITEM"
                        Moveto [Tipo do Item           ] Example "TPITE"
                        Moveto [Quantidade             ] Example "QUANT"
                        Moveto [Custo Medio Unitario   ] Example "CUSTO"        
                        Moveto [Valor do IPI           ] Example "IPI"
                        Moveto [Preco Total            ] Example "PTR"
                        Moveto [Descricao da Destinacao] Example "DES"
                        Moveto [Razao Social           ] Example "RAZ"
                        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
                        Moveto [Codigo da Empresa      ] Example "EMPRESA"
                        Moveto [Codigo do Item         ] Example "ITEM"
                        Moveto [Tipo do Item           ] Example "TPITE"
                        Moveto [Data                   ] Example "DATA"
                        Moveto [Tipo do Movimento      ] TypeIn "E"
                        Moveto [Origem                 ] TypeIn "FAT"
                        Moveto [Descricao da Destinacao] Example "DES"
                        Moveto [Tipo do Documento      ] TypeIn "OF"
                        Moveto [Serie do Documento     ] TypeIn "OF"
                        Moveto [Numero do Documento    ] Example "DOCTO"
                        Moveto [Sequencia do Lancamento] Example "seq"
                        Moveto [CFO                    ] Example "CFO"
                        Moveto [Entrada Qtde           ] Example "QUANT"
                        Moveto [Entrada CUnit          ] Example "CUSTO"
                        Moveto [Entrada CTot           ] Example "QUANT" TypeIn "*" Example "CUSTO"
                        Moveto [Valor do IPI           ] Example "IPI"
                        Moveto [Preco Total            ] Example "PTR"
                        Moveto [Data de Emissao        ] Example "DATA"
                        Moveto [Descricao Origem_Destino] Example "RAZ"
                        Do_It!
                        ClearAll
                EndIf

                ;** Ordem de Fatura Entradas/Faturamento **
                If Not IsBlank(VSDGMARCA) or
                   Not IsBlank(VSDGFAMI) or
                   Not IsBlank(VSDGGRP) or
                   Not IsBlank(VSDGREFERENCIA)
                   Then {Ask} TypeIn TabelaSelecaoItens Enter
                        Moveto [Codigo do Item         ] Example "ITEM"
                        Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                        Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                        Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                        Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
                EndIf

                {Ask} {\\Sistemas\\Vendas\\Destin}
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Atualiza Estoque      ] TypeIn "S"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
                Moveto [Numero da OF          ] CheckPlus Example "DOCTO"
                Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Emissao       ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
                Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "E"
                Moveto [CFO                   ] CheckPlus
                Moveto [Numero Nota Gerada    ] TypeIn "Blank"
                Moveto [Descricao da Destinacao  ] CheckPlus TypeIn "Not ..DEVOL.., Not ..MANIF..,  Not ..CONSIG..,  Not ..REQUIS.., Not ..MOSTRUA.."
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Razao Social          ] CheckPlus
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaI" Enter
                Moveto [Numero da OF           ] Example "DOCTO"
                Moveto [Item da OF            ] CheckPlus
                Moveto [Codigo do Item         ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
                Moveto [Tipo do Item           ] CheckPlus
                Switch
                   Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
                   Case VSDGTIPOEST = "2"       : TypeIn "P or T"
                   Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
                   OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
                EndSwitch
                Moveto [Quantidade             ] CheckPlus
                Moveto [Preco Total            ] CheckPlus
                Moveto [Valor Desconto Total   ] CheckPlus
                Moveto [Valor do ICMS          ] CheckPlus
                Moveto [Valor do IPI           ] CheckPlus
                Do_It!
                ClearAll

                {Ask} {Answer}
                Moveto [Numero da OF          ] Example "DOCTO"
                Moveto [Codigo da Empresa     ] Example "EMPRESA"
                Moveto [Data de Emissao       ] Example "DATA"
                Moveto [Tipo Movimento Estoque] Example "TME"
                Moveto [Item da OF            ] Example "seq"
                Moveto [CFO                   ] Example "CFO"
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Tipo do Item           ] Example "TPITE"
                Moveto [Quantidade             ] Example "QUANT"
                Moveto [Preco Total            ] Example "TOTAL"
                Moveto [Valor Desconto Total   ] Example "DESCT"
                Moveto [Valor do ICMS          ] Example "ICMS"
                Moveto [Valor do IPI           ] Example "IPI"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Razao Social           ] Example "RAZ"
                {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
                Moveto [Codigo da Empresa      ] Example "EMPRESA"
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Tipo do Item           ] Example "TPITE"
                Moveto [Data                   ] Example "DATA"
                Moveto [Tipo do Movimento      ] Example "TME"
                Moveto [Origem                 ] TypeIn "FAT"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Tipo do Documento      ] TypeIn "OF"
                Moveto [Serie do Documento     ] TypeIn "OF"
                Moveto [Numero do Documento    ] Example "DOCTO"
                Moveto [Sequencia do Lancamento] Example "seq"
                Moveto [CFO                    ] Example "CFO"
                Moveto [Entrada Qtde           ] Example "QUANT"
                Moveto [Entrada CUnit          ] TypeIn "((((" Example "TOTAL" TypeIn "-" Example "DESCT" TypeIn ")-" Example "ICMS" TypeIn ")+"
                                                 Example "IPI" TypeIn ")/" Example "QUANT" TypeIn ")"
                Moveto [Entrada CTot           ] TypeIn "((" Example "TOTAL" TypeIn "-" Example "DESCT" TypeIn ")-" Example "ICMS" TypeIn ")+"
                                                 Example"IPI"
                Moveto [Valor do IPI          ] Example "IPI"
                Moveto [Data de Emissao       ] Example "DATA"
                Moveto [Preco Total           ] Example "TOTAL"
                Moveto [Descricao Origem_Destino] Example "RAZ"
                Do_It!
                ClearAll

                ;** Ordem de Fatura Entradas/Faturamento DEVOLUCAO/MANIFESTO **
                If Not IsBlank(VSDGMARCA) or
                   Not IsBlank(VSDGFAMI) or
                   Not IsBlank(VSDGGRP) or
                   Not IsBlank(VSDGREFERENCIA)
                   Then {Ask} TypeIn TabelaSelecaoItens Enter
                        Moveto [Codigo do Item         ] Example "ITEM"
                        Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                        Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                        Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                        Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
                EndIf

                {Ask} {\\Sistemas\\Vendas\\Destin}
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Atualiza Estoque      ] TypeIn "S"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaC" Enter
                Moveto [Numero da OF          ] CheckPlus Example "DOCTO"
                Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
                Moveto [Data de Emissao       ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
                Moveto [Tipo Movimento Estoque] CheckPlus TypeIn "E"
                Moveto [CFO                   ] CheckPlus
                Moveto [Numero Nota Gerada    ] TypeIn "Blank"
                Moveto [Codigo da Destinacao  ] Example "DESTIN"
                Moveto [Descricao da Destinacao  ] CheckPlus TypeIn "..DEVOL.. Or ..MANIF.. Or ..CONSIG.. Or ..REQUIS.. Or ..MOSTRUA.."
                Moveto [Razao Social          ] CheckPlus
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"FaturaI" Enter
                Moveto [Numero da OF           ] Example "DOCTO"
                Moveto [Item da OF            ] CheckPlus
                Moveto [Codigo do Item         ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
                Moveto [Tipo do Item           ] CheckPlus
                Switch
                   Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
                   Case VSDGTIPOEST = "2"       : TypeIn "P or T"
                   Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
                   OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
                EndSwitch
                Moveto [Quantidade             ] CheckPlus
                Moveto [Custo Medio Unitario   ] CheckPlus
                Moveto [Valor do IPI           ] CheckPlus
                Moveto [Preco Total            ] CheckPlus
                Do_It!
                ClearAll

                {Ask} {Answer}
                Moveto [Numero da OF          ] Example "DOCTO"
                Moveto [Codigo da Empresa     ] Example "EMPRESA"
                Moveto [Data de Emissao       ] Example "DATA"
                Moveto [Tipo Movimento Estoque] Example "TME"
                Moveto [Item da OF            ] Example "seq"
                Moveto [CFO                   ] Example "CFO"
                Moveto [Codigo do Item        ] Example "ITEM"
                Moveto [Tipo do Item          ] Example "TPITE"
                Moveto [Quantidade            ] Example "QUANT"
                Moveto [Custo Medio Unitario  ] Example "CUSTO"
                Moveto [Valor do IPI          ] Example "IPI"
                Moveto [Preco Total           ] Example "PTR"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Razao Social           ] Example "RAZ"
                {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
                Moveto [Codigo da Empresa      ] Example "EMPRESA"
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Tipo do Item           ] Example "TPITE"
                Moveto [Data                   ] Example "DATA"
                Moveto [Tipo do Movimento      ] Example "TME"
                Moveto [Origem                 ] TypeIn "FAT"
                Moveto [Descricao da Destinacao] Example "DES"
                Moveto [Tipo do Documento      ] TypeIn "OF"
                Moveto [Serie do Documento     ] TypeIn "OF"
                Moveto [Numero do Documento    ] Example "DOCTO"
                Moveto [Sequencia do Lancamento] Example "seq"
                Moveto [CFO                    ] Example "CFO"
                Moveto [Entrada Qtde           ] Example "QUANT"
                Moveto [Entrada CUnit          ] Example "CUSTO"
                Moveto [Entrada CTot           ] Example "QUANT" TypeIn "*" Example "CUSTO"
                Moveto [Valor do IPI           ] Example "IPI"
                Moveto [Data de Emissao        ] Example "DATA"
                Moveto [Preco Total            ] Example "PTR"
                Moveto [Descricao Origem_Destino] Example "RAZ"
                Moveto [Tipo de Operacao        ] "D"
                Do_It!
                ClearAll
        EndIf
EndIf

;** Entradas/Estoque **

If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC")
   Then If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} TypeIn TabelaSelecaoItens Enter
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
        EndIf
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEc" Enter
        Moveto [Numero do Lancamento     ] CheckPlus Example "LANCTO"
        Moveto [Codigo da Empresa        ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Numero do Documento      ] CheckPlus
        Moveto [Codigo do Documento      ] CheckPlus
        Moveto [Data de Emissao          ] CheckPlus
        Moveto [Data de Entrada          ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        Moveto [Tipo de Operacao         ] CheckPlus TypeIn "Not A, Not I"
        Moveto [Tipo do Documento        ] CheckPlus
        Moveto [CFO                      ] CheckPlus
        Moveto [Razao Social             ] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEi" Enter
        Moveto [Numero do Lancamento     ] Example "LANCTO"
        Moveto [Sequencia do Lancamento  ] CheckPlus
        Moveto [Codigo do Item           ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
        Moveto [Tipo do Item             ] CheckPlus
        Switch
           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
        EndSwitch
        Moveto [Quantidade            ] CheckPlus
        Moveto [Custo Medio Unitario  ] CheckPlus
        Moveto [Quantidade Convertida ] CheckPlus
        Moveto [Valor do IPI          ] CheckPlus
        Moveto [Preco Total           ] CheckPlus
        Do_It!
        ClearAll

        {Ask} {Answer}
        Moveto [Numero do Lancamento  ] Example "LANCTO"
        Moveto [Codigo da Empresa     ] Example "EMPRESA"
        Moveto [Numero do Documento   ] Example "DOCTO"
        Moveto [Codigo do Documento   ] Example "SERIE"
        Moveto [Data de Emissao       ] Example "DTEM"
        Moveto [Data de Entrada       ] Example "DATA"              
        Moveto [Tipo de Operacao      ] Example "TPOP"
        Moveto [Tipo do Documento     ] Example "TDOC"
        Moveto [Sequencia do Lancamento  ] Example "seq"
        Moveto [CFO                   ] Example "CFO"
        Moveto [Codigo do Item        ] Example "ITEM"
        Moveto [Tipo do Item          ] Example "TPITE"
        Moveto [Quantidade            ] Example "QUANT"
        Moveto [Custo Medio Unitario  ] Example "CTUN"
        Moveto [Quantidade Convertida ] Example "QTDCV"
        Moveto [Valor do IPI          ] Example "IPI"
        Moveto [Preco Total           ] Example "PTR"
        Moveto [Razao Social          ] Example "RAZ"
        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
        Moveto [Codigo da Empresa     ] Example "EMPRESA"
        Moveto [Codigo do Item        ] Example "ITEM"
        Moveto [Tipo do Item          ] Example "TPITE"
        Moveto [Data                  ] Example "DATA"
        Moveto [Tipo do Movimento     ] TypeIn "E"
        Moveto [Origem                ] TypeIn "NE"
        Moveto [Tipo de Operacao      ] Example "TPOP"
        Moveto [Tipo do Documento     ] Example "TDOC"
        Moveto [Serie do Documento    ] Example "SERIE"
        Moveto [Numero do Documento   ] Example "DOCTO"
        Moveto [Sequencia do Lancamento] Example "seq"
        Moveto [CFO                   ] Example "CFO"
        Moveto [Entrada Qtde          ] Example "QTDCV"
        Moveto [Entrada CUnit         ] TypeIn "(_CTUN*_QUANT)/_QTDCV"
        Moveto [Entrada CTot          ] Example "CTUN" TypeIn "*" Example "QUANT"
        Moveto [Valor do IPI          ] Example "IPI"
        Moveto [Data de Emissao       ] Example "DTEM"
        Moveto [Preco Total           ] Example "PTR"
        Moveto [Descricao Origem_Destino ] Example "RAZ"
        Do_It!
        ClearAll
EndIf

;** Entradas/Estoque **
If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"Rqcabeca")
   Then 
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} TypeIn TabelaSelecaoItens Enter
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
        EndIf
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Rqcabeca" Enter
        Moveto [Numero do Lancamento  ] CheckPlus Example "LANCTO"
        Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Numero do Documento   ] CheckPlus
        Moveto [Codigo do Documento   ] CheckPlus
        Moveto [Data de Ocorrencia    ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        Moveto [Tipo do Documento     ] CheckPlus
        Moveto [Tipo de Movimento     ] CheckPlus TypeIn "E"
        Moveto [Tipo de Operacao      ] CheckPlus
        Moveto [Descricao Requisitante] CheckPlus
        Moveto [Codigo                ] CheckPlus
        Moveto [Nome Fantasia EmitDest] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqItem" Enter
        Moveto [Numero do Lancamento  ] Example "LANCTO"
        Moveto [Sequencia do Lancamento  ] CheckPlus
        Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
        Moveto [Tipo do Item          ] CheckPlus
        Switch
           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
        EndSwitch
        Moveto [Quantidade            ] CheckPlus
        Moveto [Custo Unitario        ] CheckPlus
        Moveto [Custo Total           ] CheckPlus
        Do_It!
        ClearAll

        for wic from 1 to 2
        
          {Ask} {Answer}
          Moveto [Numero do Lancamento  ] Example "LANCTO"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [Codigo do Documento   ] Example "SERIE"
          Moveto [Data de Ocorrencia    ] Example "DATA"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Tipo de Movimento     ] Example "TMOV"
          switch
            case wic=1 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", not I"

            case wic=2 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", I"
            
          endswitch
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Quantidade            ] Example "QUANT"
          Moveto [Custo Unitario        ] Example "CUSTO"
          Moveto [Custo Total           ] Example "TOTAL"
          Moveto [Descricao Requisitante] Example "RAZ"
          Moveto [Codigo                ] Example "ORIGCOD"
          Moveto [Nome Fantasia EmitDest] Example "ORIGNOM"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Data                  ] Example "DATA"
          Moveto [Tipo do Movimento     ] Example "TMOV"
          Moveto [Origem                ] TypeIn "REQ"
          Moveto [Tipo de Operacao      ] Example "TPOP"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Serie do Documento    ] Example "SERIE"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [CFO                   ] Example "TMOV" TypeIn "+\"/\"+" Example "TPOP"
          Moveto [Entrada Qtde          ] Example "QUANT"
          Moveto [Entrada CUnit         ] Example "CUSTO"
          Moveto [Entrada CTot          ] Example "TOTAL"
          Moveto [Data de Emissao       ] Example "DATA"
          Moveto [Preco Total           ] Example "TOTAL"
          switch
            case wic=1 : Moveto [Descricao Origem_Destino ] Example "RAZ"
            
            case wic=2 : Moveto [Descricao Origem_Destino ] Example "RAZ" typeIn "+\"|\"+" example "ORIGCOD" typeIn "+\" \"+" example "ORIGNOM"
            
          endswitch
          Do_It!
          ClearAll
        endfor

        ;** Saidas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} TypeIn TabelaSelecaoItens Enter
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
        EndIf

        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Rqcabeca" Enter
        Moveto [Numero do Lancamento  ] CheckPlus Example "LANCTO"
        Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Numero do Documento   ] CheckPlus
        Moveto [Codigo do Documento   ] CheckPlus
        Moveto [Data de Ocorrencia    ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        Moveto [Tipo do Documento     ] CheckPlus
        Moveto [Tipo de Movimento     ] CheckPlus TypeIn "S"
        Moveto [Tipo de Operacao      ] CheckPlus
        Moveto [Descricao Requisitante] CheckPlus
        Moveto [Codigo                ] CheckPlus
        Moveto [Nome Fantasia EmitDest] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqItem" Enter
        Moveto [Numero do Lancamento  ] Example "LANCTO"
        Moveto [Sequencia do Lancamento  ] CheckPlus
        Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
        Moveto [Tipo do Item          ] CheckPlus
        Switch
           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
        EndSwitch
        Moveto [Quantidade            ] CheckPlus
        Moveto [Custo Unitario        ] CheckPlus
        Moveto [Custo Total           ] CheckPlus
        Do_It!
        ClearAll


        for wic from 1 to 2
        
          {Ask} {Answer}
          Moveto [Numero do Lancamento  ] Example "LANCTO"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [Codigo do Documento   ] Example "SERIE"
          Moveto [Data de Ocorrencia    ] Example "DATA"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Tipo de Movimento     ] Example "TMOV"
          switch
            case wic=1 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", not I, not T"

            case wic=2 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", I or T"
            
          endswitch
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Quantidade            ] Example "QUANT"
          Moveto [Custo Unitario        ] Example "CUSTO"
          Moveto [Custo Total           ] Example "TOTAL"
          Moveto [Descricao Requisitante] Example "RAZ"
          Moveto [Codigo                ] Example "DESTCOD"
          Moveto [Nome Fantasia EmitDest] Example "DESTNOM"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Data                  ] Example "DATA"
          Moveto [Tipo do Movimento     ] Example "TMOV"
          Moveto [Origem                ] TypeIn "REQ"
          Moveto [Tipo de Operacao      ] Example "TPOP"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Serie do Documento    ] Example "SERIE"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [CFO                   ] Example "TMOV" TypeIn "+\"/\"+" Example "TPOP"
          Moveto [Saida Qtde            ] Example "QUANT"
          Moveto [Saida CUnit           ] Example "CUSTO"
          Moveto [Saida CTot            ] Example "TOTAL"
          Moveto [Data de Emissao       ] Example "DATA"
          Moveto [Preco Total           ] Example "TOTAL"
          switch
            case wic=1 : Moveto [Descricao Origem_Destino ] Example "RAZ"
            
            case wic=2 : Moveto [Descricao Origem_Destino ] Example "RAZ" typeIn "+\"|\"+" example "DESTCOD" typeIn "+\" \"+" example "DESTNOM"
            
          endswitch
          Do_It!
          ClearAll
        endfor

        
        ;** Saidas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} TypeIn TabelaSelecaoItens Enter
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
        EndIf

        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Rqcabeca" Enter
        Moveto [Numero do Lancamento  ] CheckPlus Example "LANCTO"
        Moveto [Codigo da Empresa     ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Numero do Documento   ] CheckPlus
        Moveto [Codigo do Documento   ] CheckPlus
        Moveto [Data de Ocorrencia    ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        Moveto [Tipo do Documento     ] CheckPlus
        Moveto [Tipo de Movimento     ] CheckPlus TypeIn "E"
        Moveto [Tipo de Operacao      ] CheckPlus TypeIn "P Or I"
        Moveto [Descricao Requisitante] CheckPlus
        Moveto [Codigo                ] CheckPlus
        Moveto [Nome Fantasia EmitDest] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqMatPri" Enter
        Moveto [Numero do Lancamento  ] Example "LANCTO"
        Moveto [Sequencia Materia Prima  ] CheckPlus
        Moveto [Codigo do Item        ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
        Moveto [Tipo do Item          ] CheckPlus
        Switch
           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
        EndSwitch
        Moveto [Quantidade            ] CheckPlus
        Moveto [Custo Unitario        ] CheckPlus
        Moveto [Custo Total           ] CheckPlus
        Do_It!
        ClearAll

        for wic from 1 to 2

          {Ask} {Answer}
          Moveto [Numero do Lancamento  ] Example "LANCTO"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia Materia Prima  ] Example "seq"
          Moveto [Codigo do Documento   ] Example "SERIE"
          Moveto [Data de Ocorrencia    ] Example "DATA"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Tipo de Movimento     ] Example "TMOV"
          switch
            case wic=1 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", P"

            case wic=2 : Moveto [Tipo de Operacao      ] Example "TPOP" typeIn ", I"
            
          endswitch
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Quantidade            ] Example "QUANT"
          Moveto [Custo Unitario        ] Example "CUSTO"
          Moveto [Custo Total           ] Example "TOTAL"
          Moveto [Descricao Requisitante] Example "RAZ"
          Moveto [Codigo                ] Example "ORIGCOD"
          Moveto [Nome Fantasia EmitDest] Example "ORIGNOM"
          {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
          Moveto [Codigo da Empresa     ] Example "EMPRESA"
          Moveto [Codigo do Item        ] Example "ITEM"
          Moveto [Tipo do Item          ] Example "TPITE"
          Moveto [Data                  ] Example "DATA"
          Moveto [Tipo do Movimento     ] TypeIn "S"
          Moveto [Origem                ] TypeIn "REQ"
          Moveto [Tipo de Operacao      ] TypeIn "C"
          Moveto [Tipo do Documento     ] Example "TDOC"
          Moveto [Serie do Documento    ] Example "SERIE"
          Moveto [Numero do Documento   ] Example "DOCTO"
          Moveto [Sequencia do Lancamento] Example "seq"
          Moveto [CFO                   ] TypeIn "S\C"
          Moveto [Saida Qtde            ] Example "QUANT"
          Moveto [Saida CUnit           ] Example "CUSTO"
          Moveto [Saida CTot            ] Example "TOTAL"
          Moveto [Data de Emissao       ] Example "DATA"
          Moveto [Preco Total           ] Example "TOTAL"
          switch
            case wic=1 : Moveto [Descricao Origem_Destino ] Example "RAZ"
            
            case wic=2 : Moveto [Descricao Origem_Destino ] Example "RAZ" typeIn "+\"|\"+" example "ORIGCOD" typeIn "+\" \"+" example "ORIGNOM"
            
          endswitch
          Do_It!
          ClearAll
  
        endfor



        ;** Entradas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} TypeIn TabelaSelecaoItens Enter
                Moveto [Codigo do Item         ] Example "ITEM"
                Moveto [Codigo da Familia      ] TypeIn "~VSDGFAMI.."
                Moveto [Codigo do Grupo        ] TypeIn "~VSDGGRP.."
                Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
                Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."
        EndIf

        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"Rqcabeca" Enter
        Moveto [Numero do Lancamento     ] CheckPlus Example "LANCTO"
        Moveto [Codigo da Empresa        ] CheckPlus 
        Moveto [Nome Fantasia Empresa    ] CheckPlus 
        Moveto [Numero do Documento      ] CheckPlus
        Moveto [Codigo do Documento      ] CheckPlus
        Moveto [Data de Ocorrencia       ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        Moveto [Tipo do Documento        ] CheckPlus
        Moveto [Tipo de Movimento        ] CheckPlus TypeIn "S"
        Moveto [Tipo de Operacao         ] CheckPlus TypeIn "T"
        Moveto [Descricao Requisitante   ] CheckPlus
        Moveto [Codigo                   ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Nome Fantasia EmitDest   ] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Estoque\\"+Dir_Trab+"RqItem" Enter
        Moveto [Numero do Lancamento   ] Example "LANCTO"
        Moveto [Sequencia do Lancamento  ] CheckPlus
        Moveto [Codigo do Item         ] CheckPlus Example "ITEM" TypeIn " ,~VSDGITEM.., Not Blank"
        Moveto [Tipo do Item          ] CheckPlus
        Switch
           Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
           Case VSDGTIPOEST = "2"       : TypeIn "P or T"
           Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
           OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
        EndSwitch
        Moveto [Quantidade            ] CheckPlus
        Moveto [Custo Unitario        ] CheckPlus
        Moveto [Custo Total           ] CheckPlus
        Do_It!
        ClearAll

        {Ask} {Answer}
        Moveto [Numero do Lancamento     ] Example "LANCTO"
        Moveto [Numero do Documento      ] Example "DOCTO"
        Moveto [Sequencia do Lancamento  ] Example "seq"
        Moveto [Codigo do Documento      ] Example "SERIE"
        Moveto [Data de Ocorrencia       ] Example "DATA"
        Moveto [Tipo do Documento        ] Example "TDOC"
        Moveto [Tipo de Movimento        ] Example "TMOV"
        Moveto [Tipo de Operacao         ] Example "TPOP"
        Moveto [Codigo                   ] Example "EMPRESA"
        Moveto [Codigo do Item           ] Example "ITEM"
        Moveto [Tipo do Item             ] Example "TPITE"
        Moveto [Quantidade               ] Example "QUANT"
        Moveto [Custo Unitario           ] Example "CUSTO"
        Moveto [Custo Total              ] Example "TOTAL"
        Moveto [Descricao Requisitante   ] Example "RAZ"
        Moveto [Codigo da Empresa        ] Example "DESTCOD"
        Moveto [Nome Fantasia Empresa    ] Example "DESTNOM"
        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
        Moveto [Codigo da Empresa        ] Example "EMPRESA"
        Moveto [Codigo do Item           ] Example "ITEM"
        Moveto [Tipo do Item             ] Example "TPITE"
        Moveto [Data                     ] Example "DATA"
        Moveto [Tipo do Movimento        ] TypeIn "E"
        Moveto [Origem                   ] TypeIn "REQ"
        Moveto [Tipo de Operacao         ] TypeIn "T"
        Moveto [Tipo do Documento        ] Example "TDOC"
        Moveto [Serie do Documento       ] Example "SERIE"
        Moveto [Numero do Documento      ] Example "DOCTO"
        Moveto [Sequencia do Lancamento  ] Example "seq"
        Moveto [CFO                      ] TypeIn "E+\"/\"+" Example "TPOP"
        Moveto [Entrada Qtde             ] Example "QUANT"
        Moveto [Entrada CUnit            ] Example "CUSTO"
        Moveto [Entrada CTot             ] Example "TOTAL"
        Moveto [Data de Emissao          ] Example "DATA"
        Moveto [Preco Total              ] Example "TOTAL"
        Moveto [Descricao Origem_Destino ] Example "RAZ" typeIn "+\"|\"+" example "DESTCOD" typeIn "+\" \"+" example "DESTNOM"
        Do_It!
        ClearAll
EndIf

EndProc ;Seleciona()

;*******************************************************************************
;* Rotina p/ Processar Dados                                                   *
;*******************************************************************************
Proc Processa()
private sdok
ClearAll

AGUARDE("Aguarde, processando")

If VSDGITEM_SEMMOVTO="N" ; Nao Imprimir sem movimento
   Then
        AGUARDE("Aguarde, selecionando apenas itens com movimento no per¡odo")
        
        ;Rela‡Æo de itens que tiveram movimentacao no periodo
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo da Empresa] Check
        Moveto [Codigo do Item   ] Check
        Moveto [Data             ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
        Do_It!
        ClearAll

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

        {Modify} {Restructure} TypeIn TabelaItensComMovimento Enter 
        Right Right  " " 
              Down   " " 
        Do_It!
        ClearAll 
        
        {Ask} TypeIn TabelaItensComMovimento Enter
        Moveto [Codigo da Empresa     ] TypeIn "_empr"
        Moveto [Codigo do Item        ] TypeIn "_item"
        {Ask} TypeIn Tabela Enter Check
        Moveto [Codigo da Empresa     ] TypeIn "_empr"
        Moveto [Codigo do Item        ] TypeIn "_item"
        Do_It!
        ClearAll 

        Rename "Answer" Tabela

   Else
        AGUARDE("Aguarde, selecionando itens com movimento")
        
        ;Rela‡Æo de itens que tiveram movimentacao no periodo
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo da Empresa] Check
        Moveto [Codigo do Item   ] Check
        Do_It!
        ClearAll

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

        {Modify} {Restructure} TypeIn TabelaItensComMovimento Enter 
        Right Right  " " 
              Down   " " 
        Do_It!
        ClearAll 
EndIf

;******** Verifica se houve movimentacao e saldo inicial <> *******

AGUARDE("Aguarde, carregando estoque inicial de "+VSDGMES+"/"+VSDGANO)

{Ask} TypeIn TabelaSelecaoItens Enter
Moveto [Codigo do Item        ] example "item"
Moveto [Tipo do Item          ] Check
;Switch
;   Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
;   Case VSDGTIPOEST = "2"       : TypeIn "P or T"
;   Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
;   OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
;EndSwitch
{Ask} {\\Sistemas\\Estoque\\SdEstq} Check
Moveto [Codigo da Empresa     ] TypeIn "~VSDGEMPRESA.."
Moveto [Codigo do Item        ] Example "item" TypeIn ", ~VSDGITEM.."
Moveto [Ano Referencia        ] TypeIn "~VSDGANO"
Moveto [Mes Referencia        ] TypeIn "~VSDGMES"
Do_It!
ClearAll

NR = NRecords("Answer")

View NOWINDOW TabelaItensComMovimento
View NOWINDOW Tabela 
View NOWINDOW "Answer"  CoEditKey
Scan
   Barra(NR, RecNo())
   Aguarde("Aguarde, carregando estoque inicial de "+VSDGMES+"/"+VSDGANO+BARRA_STRING)

   Empresa=[Codigo da Empresa  ]
   Item   =[Codigo do Item     ]
   Tipo   =[Tipo do Item       ]
   Saldo  =[Saldo Inicial      ]
   Custo  =[Custo Total Inicial]
   Mes    =[Mes Referencia     ]
   Ano    =[Ano Referencia     ]

   Moveto TabelaItensComMovimento
   Moveto [Codigo da Empresa]
   Locate Empresa,Item
   If RetVal
      Then TEVE_MOVIMENTO=True
      Else TEVE_MOVIMENTO=False
   EndIf
   Moveto "Answer"

   If (Not TEVE_MOVIMENTO) And
      ([Saldo Inicial]=0 Or IsBlank([Saldo Inicial])) And
      ([Custo Total Inicial]=0 Or IsBlank([Custo Total Inicial]))
      Then Loop
   EndIf
   If VSDGITEM_SEMMOVTO="N" And ; Nao Imprimir sem movimento
      Not TEVE_MOVIMENTO
      Then Loop
   EndIf
   
   Moveto Tabela
   End
   If Not IsBlank([Codigo da Empresa]) Then Down EndIf
   [Codigo da Empresa     ] = Empresa
   [Tipo do Item          ] = Tipo
   [Codigo do Item        ] = Item
   [Data                  ] = REFDTINI
   [Numero do Documento   ] = "INICIAL:"
   [Qtde Inicial          ] = Saldo

   sdok=true
   if saldo=0 or isblank(saldo)
      then
           if custo<>0 and not isblank(saldo)
              then sdok=false
           endif   
   endif

   if sdok
      then
           [CUnit Inicial         ] = Custo/Saldo
           [CTot Inicial          ] = Custo
      else
           [CUnit Inicial         ] = Custo
           [CTot Inicial          ] = Custo
   endif
   
   Moveto "Answer"

EndScan
Do_It!
ClearAll

Delete TabelaItensComMovimento






AGUARDE("Aguarde, ajustando dados")

Ajusta_Tabela()

;-- Ajusta ordem balanco -------------------------------------------------------
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Origem                   ] TypeIn "REQ"
Moveto [Numero do Documento      ] TypeIn "ZERAMENTO"
Moveto [Ordem Balanco            ] TypeIn "Changeto 1"
Do_It!
ClearAll

{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Origem                   ] TypeIn "REQ"
Moveto [Numero do Documento      ] TypeIn "BALANCO"
Moveto [Ordem Balanco            ] TypeIn "Changeto 2"
Do_It!
ClearAll

AGUARDE("Aguarde, ordenando dados")
;--- Em 05.11.2015 -> O SORT do REPROCESS foi ajustado conforme este SORT p/ ordena‡Æo mais precisa dos registros
If VSDGOPRELCODALF="1"
   Then Sort Tabela On "Codigo da Empresa", "Tipo do Item", "Codigo do Item",
                       "Data", "Ordem Balanco", "Tipo do Movimento", "Tipo do Documento",
                       "Numero do Documento","Sequencia do Lancamento"
   Else Sort Tabela On "Codigo da Empresa", "Tipo do Item", "Descricao do Item", "Codigo do Item",
                       "Data", "Ordem Balanco", "Tipo do Movimento", "Tipo do Documento",
                       "Numero do Documento","Sequencia do Lancamento"
EndIf

EndProc   ;  (Seleciona)

;****************************************************************
;** Rotina Principal                                           **
;****************************************************************
AGUARDE("Aguarde, Checando Dados")

REFDTINI=DateVal("01."+AlinhM(StrVal(Month(VSDGDTINI)),2)+
                   "."+AlinhM(StrVal( Year(VSDGDTINI)),4))

VSDGMES=AlinhM(StrVal(Month(REFDTINI)),2)
VSDGANO=AlinhM(StrVal( Year(REFDTINI)),4)

PROCESSAR_DADOS=True

;-- Verificando Mes fechado e Aberto/Estoque -----------------------------------
SetDir "\\Sistemas\\Estoque"
Monta_Dir_Trab(REFDTINI,VSDGDTFIM) 
While Novo_Dir_Trab()
  If Not IsBlank(Dir_Trab)
     Then MSG_MODULO=""
          DTVERINI  =Primeiro_Dia(SubStr(Dir_Trab,15,2)+SubStr(Dir_Trab,10,4))
          DTVERFIM  =  Ultimo_Dia(SubStr(Dir_Trab,15,2)+SubStr(Dir_Trab,10,4))
          Verifica_Estoque()
          If Not IsBlank(MSG_MODULO)
             Then MSG="Existem movimenta‡”es Fechadas e Em Aberto no mesmo per¡odo:// //"
                  MSG=MSG+MSG_MODULO+"// //"
                  MSG=MSG+"Verificar !"
                  Mensagem(MSG)

                  SetDir "\\Sistemas\\Estoque"
                  PROCESSAR_DADOS=False
                  Return
          EndIf
  EndIf
EndWhile

;-- Verificando Mes fechado e Aberto/Vendas ------------------------------------
SetDir "\\Sistemas\\Vendas"
Monta_Dir_Trab(REFDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If Not IsBlank(Dir_Trab)
     Then MSG_MODULO=""
          DTVERINI  =Primeiro_Dia(SubStr(Dir_Trab,15,2)+SubStr(Dir_Trab,10,4))
          DTVERFIM  =  Ultimo_Dia(SubStr(Dir_Trab,15,2)+SubStr(Dir_Trab,10,4))
          Verifica_Vendas()
          If Not IsBlank(MSG_MODULO)
             Then MSG="Existem movimenta‡”es Fechadas e Em Aberto no mesmo per¡odo:// //"
                  MSG=MSG+MSG_MODULO+"// //"
                  MSG=MSG+"Verificar !"
                  Mensagem(MSG)

                  SetDir "\\Sistemas\\Estoque"
                  PROCESSAR_DADOS=False
                  Return
          EndIf
  EndIf
EndWhile

AGUARDE("Aguarde, Processando Dados")
SetDir "\\Sistemas\\Estoque"

Tabela=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Estoque\\Rm_0020" Tabela

{Ask} {Itens}
Moveto [Codigo do Item        ] Check
Moveto [Descricao do Item     ] Check
Moveto [Descricao Complementar] Check
Moveto [Tipo do Item          ] Check
Moveto [Descricao Tipo do Item] Check
Moveto [Referencia            ] Check
Moveto [Unidade Interna       ] Check
Moveto [NCM                   ] Check
Moveto [Codigo da Familia     ] Check
Moveto [Codigo do Grupo       ] Check
Moveto [Codigo da Marca       ] Check
Moveto [Observacao            ] Check

Moveto [Tipo do Item          ] 
Switch
   Case VSDGTIPOEST = "1"       : TypeIn "E or M or O or A or S"
   Case VSDGTIPOEST = "2"       : TypeIn "P or T"
   Case Not IsBlank(VSDGTIPOEST): TypeIn "~VSDGTIPOEST"
   OtherWise                    : TypeIn "Not C, Not D, Not F, Not G, Not H, Not I"
EndSwitch
Moveto [Codigo da Familia     ] TypeIn "~VSDGFAMI.."
Moveto [Codigo do Grupo       ] TypeIn "~VSDGGRP.."
Moveto [Codigo da Marca       ] TypeIn "~VSDGMARCA.."
Moveto [Referencia            ] TypeIn "~VSDGREFERENCIA.."
do_it!
ClearAll
TabelaSelecaoItens=Adiciona_indice_temp("Codigo do Item")

;---- Processo adptado no NotaC o qual foi alterado para outra proc p/ utiliza‡Æo de REGRA -------
Identifica_MesAno_Periodo(REFDTINI,VSDGDTFIM)
For out from 1 to ArraySize(MESANO_DTINI)
  AUX_DTINI = MESANO_DTINI[out]
  AUX_DTFIM = MESANO_DTFIM[out]

  If Not Verifica_Emissao_Saida(AUX_DTFIM)
     Then Return
  EndIf     
  
  SetDir "\\Sistemas\\Vendas"
  Monta_Dir_Trab(AUX_DTINI,AUX_DTFIM)
  While Novo_Dir_Trab()
    Seleciona_NotaC()
  EndWhile
EndFor
;-------------------------------------------------------------------------------

SetDir "\\Sistemas\\Estoque"
Monta_Dir_Trab((REFDTINI),(VSDGDTFIM))
While Novo_Dir_Trab()
  Seleciona()
EndWhile

Processa()
