;** 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          

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

;*** 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 VSDGOPOF="S"
                   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

;*** 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()
ClearAll

;** Saidas/Faturamento **
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
   Then If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} {\\Sistemas\\Estoque\\Itens}
                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
        Moveto [Data de Emissao       ] CheckPlus
        Moveto [Data de Saida         ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        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
        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"
        Moveto [Data                   ] Example "DATA"
        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 [Data de Emissao        ] Example "DTEM"
        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} {\\Sistemas\\Estoque\\Itens}
                  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
        Moveto [Data de Emissao       ] CheckPlus
        Moveto [Data de Saida         ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        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.."
        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
        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"
        Moveto [Data                   ] Example "SAIDA"
        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} {\\Sistemas\\Estoque\\Itens}
                  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
        Moveto [Data de Emissao       ] CheckPlus
        Moveto [Data de Saida         ] CheckPlus TypeIn ">=~REFDTINI, <=~VSDGDTFIM"
        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.."
        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
        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"
        Moveto [Data                   ] Example "SAIDA"
        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"
        Do_It!
        ClearAll
EndIf



If VSDGOPOF="S"
   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} {\\Sistemas\\Estoque\\Itens}
                        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 [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

                ;** Ordem de Fatura Entradas/Faturamento **
                If Not IsBlank(VSDGMARCA) or
                   Not IsBlank(VSDGFAMI) or
                   Not IsBlank(VSDGGRP) or
                   Not IsBlank(VSDGREFERENCIA)
                   Then {Ask} {\\Sistemas\\Estoque\\Itens}
                        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.."
                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 [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} {\\Sistemas\\Estoque\\Itens}
                        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.."
                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 [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"
                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} {\\Sistemas\\Estoque\\Itens}
                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"
        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} {\\Sistemas\\Estoque\\Itens}
                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
        {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 [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"
        Moveto [Tipo de Operacao      ] Example "TPOP"
        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"
        {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"
        Moveto [Descricao Origem_Destino ] Example "RAZ"
        Do_It!
        ClearAll

        ;** Saidas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} {\\Sistemas\\Estoque\\Itens}
                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
        {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 [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"
        Moveto [Tipo de Operacao      ] Example "TPOP"
        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"
        {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"
        Moveto [Descricao Origem_Destino ] Example "RAZ"
        Do_It!
        ClearAll

        ;** Saidas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} {\\Sistemas\\Estoque\\Itens}
                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"
        Moveto [Descricao Requisitante] 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

        {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"
        Moveto [Tipo de Operacao      ] Example "TPOP"
        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"
        {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      ] 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                   ] 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"
        Moveto [Descricao Origem_Destino ] Example "RAZ"
        Do_It!
        ClearAll

        ;** Entradas/Estoque **
        If Not IsBlank(VSDGMARCA) or
           Not IsBlank(VSDGFAMI) or
           Not IsBlank(VSDGGRP) or
           Not IsBlank(VSDGREFERENCIA)
           Then {Ask} {\\Sistemas\\Estoque\\Itens}
                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 [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 [Codigo da Empresa Destino] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Descricao Requisitante] 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 da Empresa Destino] 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"
        {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      ] 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                   ] 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"
        Do_It!
        ClearAll
EndIf

EndProc

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

If VSDGITEM_SEMMOVTO="N"  ; Nao Imprimir
   Then
        ;Pega somente 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

        {Ask} {Answer}
        Moveto [Codigo da Empresa     ] Example "EMPRESA"
        Moveto [Codigo do Item        ] Example "ITEM"
        {Ask} TypeIn Tabela Enter Check
        Moveto [Codigo da Empresa     ] Example "EMPRESA"
        Moveto [Codigo do Item        ] Example "ITEM"
        Do_It!
        ClearAll

        Delete Tabela
        Rename "Answer" Tabela

EndIf

;Pega todos os itens que tiveram movimentacao no periodo
{Ask} TypeIn Tabela Enter
Moveto [Codigo da Empresa] Check
Moveto [Codigo do Item   ] Check
Do_It!
ClearAll

TabelaI=Cria_Temp(PrivDir())
Copy "Answer" TabelaI

;******** Verifica se houve movimentacao e saldo inicial <> *******
{Ask} {\\Sistemas\\Estoque\\Itens}
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
Moveto [Codigo da Familia     ] TypeIn "~VSDGFAMI.."
Moveto [Codigo do Grupo       ] TypeIn "~VSDGGRP.."
Moveto [Codigo da Marca       ] TypeIn "~VSDGMARCA.."
Moveto [Referencia            ] TypeIn "~VSDGREFERENCIA.."

{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

CoEdit TabelaI,Tabela,"Answer"
Scan

   If Not IsBlank(VSDGEMPRESA) And VSDGEMPRESA <> [Codigo da Empresa]
      Then Loop
   EndIf

   If Not IsBlank(VSDGITEM) And VSDGITEM <> [Codigo do Item]
      Then Loop
   EndIf
   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 TabelaI
   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
      (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
   [CUnit Inicial         ] = Custo/Saldo
   [CTot Inicial          ] = Custo
   Moveto "Answer"

EndScan
Do_It!
ClearAll

Delete TabelaI

;** Ajusta dados do cadastro de Itens **
{Ask} {\\Sistemas\\Estoque\\Itens}
Moveto [Codigo do Item        ] example "item"
Moveto [Tipo do Item          ] example "tp"
Moveto [Descricao do Item     ] example "desc"
Moveto [Unidade Interna       ] example "un"
Moveto [NBM                   ] example "nbm"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo do Item        ] example "item"
Moveto [Tipo do Item          ] TypeIn "Changeto " example "tp"
Moveto [Descricao do Item     ] TypeIn "Changeto " example "desc"
Moveto [Unidade Interna       ] TypeIn "Changeto " example "un"
Moveto [NBM                   ] TypeIn "Changeto " example "nbm"
Do_It!
ClearAll

If VSDGOPRELCODALF="1"
   Then Sort Tabela On "Codigo da Empresa", "Tipo do Item", "Codigo do Item",
                       "Data", "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", "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

Monta_Dir_Trab((REFDTINI),(VSDGDTFIM))
While Novo_Dir_Trab()
  Seleciona()
EndWhile

Processa()
;-------------------------------------------------------------------------------
