;** Rm_0600  *******************************************************************
;*  Rela‡Æo compartiva Notas/OC/Conferencia                                    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 28/11/2016 por Anivel Augusto Rodrigues
;Ultima Alteracao: 19/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajuste conferencia, xml
;Ultima Alteracao: 27/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog TG_DESTINAT        
;Ultima Alteracao: 29/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes MensagemCheckBoxes()           
;Ultima Alteracao: 04/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes origem da OC do item ou cabeca
;Ultima Alteracao: 04/01/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes incluir conferencia sim/nao    
;Ultima Alteracao: 17/03/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes logica e ocorrencias           
;Ultima Alteracao: 18/03/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes conferencia                    
;Ultima Alteracao: 10/04/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Unidade de Conferencia                    
;Ultima Alteracao: 19/04/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado processo para Ordem de Compra   
;Ultima Alteracao: 11/05/2017 por Bruno Carvalho
;Motivo Alteracao: Novas implementa‡äes e adicionado novo modelo de report mostrando PEDIDO 
;Ultima Alteracao: 12/05/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes ao exibir a mensagem "NAO CONSTA NO PEDIDO" 
;Ultima Alteracao: 11/08/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes c¢cigos modelo de relatorios
;Ultima Alteracao: 25/08/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes keyviol ao executar Adiciona_Indice_Temp, ask com outras semelhan‡as das unidades
;Ultima Alteracao: 02/03/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes ao informar item que esta inserido na conferˆncia, mas nÆo esta inserido na OC/NE 
;Ultima Alteracao: 26/04/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ #0294# -> Verifica_Erros() p/ quando item de compra nÆo tiver presente na NE, nÆo emitir msg "NAO VEIO"

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros Cabecalho                         *
;*******************************************************************************
Proc Seleciona()
ClearAll

;-- Rela‡Æo de Notas -----------------------------------------------------------
Switch
  Case VSDGOPERACAO = "X":
       {Ask} TypeIn "\\Sistemas\\Estoque\\Inec" Enter
       Moveto [Numero do Lancamento] Example "LANCTO" TypeIn ", ~VSDGNEI.."
       Moveto [Tipo de Operacao    ] TypeIn "A or C or O"
  Case VSDGOPERACAO = "E" : 
       {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
       Moveto [Numero do Lancamento] Example "LANCTO" TypeIn ", ~VSDGNE.."
       Moveto [Tipo de Operacao    ] TypeIn "A or C or O"                       ;Moveto [Numero da OC        ] TypeIn "~VSDGOC.."
  Case VSDGOPERACAO = "O" : 
       {Ask} TypeIn "\\Sistemas\\Compras\\Occ" Enter
       Moveto [Numero da OC] Example "LANCTO" TypeIn ", ~VSDGOC.." 
EndSwitch
Moveto [Codigo da Empresa   ] TypeIn "~VSDGEMPRESA.."
Moveto [Codigo              ] Check TypeIn "~VSDGDESTINAT.."  
Switch
 Case VSDGTPDATA="1" : If VSDGOPERACAO = "O"
                          Then Moveto [Data de Entrega  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
                          Else Moveto [Data de Entrada  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
                       EndIf 
 Case VSDGTPDATA="2" : Moveto [Data de Emissao          ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
 Case VSDGTPDATA="3" : Moveto [Data_Inclusao            ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
EndSwitch
If VSDGOPERACAO <> "O"
   Then moveto [Codigo do Documento     ] check 
        moveto [Numero do Documento     ] check 
        moveto [Serie do Documento      ] check
   Else Moveto [Numero do Pedido        ] Check     
EndIf     
Switch
  Case VSDGOPERACAO = "X":
       {Ask} TypeIn "\\Sistemas\\Estoque\\Inei" Enter

  Case VSDGOPERACAO = "E" : 
       {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEI" Enter
  
  Case VSDGOPERACAO = "O" : 
       {Ask} TypeIn "\\Sistemas\\Compras\\OcI" Enter
EndSwitch
If VSDGOPERACAO <> "O"
   Then 
        Moveto [Numero do Lancamento ] Check Example "LANCTO"
        moveto [Quantidade Convertida] TypeIn "Calc Sum as Quantidade Convertida"
        moveto [Unidade Entrada      ] Check
        moveto [Numero da OC         ] Check
   Else 
        Moveto [Numero da OC         ] Check Example "LANCTO"
        Moveto [Unidade Fiscal       ] Check
EndIf  
moveto [Codigo do Item          ] Check  Typein "Not Blank"
moveto [Unidade Interna         ] Check
moveto [Preco Unitario          ] Check
moveto [Quantidade              ] TypeIn "Calc Sum as Quantidade"
moveto [Preco Total             ] TypeIn "Calc Sum as Preco Total" 
Do_It!
ClearAll

If IsEmpty("Answer")
   Then Return
EndIf                                                                                         

;---- Tabela Rela‡ao de Documento/item/OC --------------------------------------                         
If VSDGOPERACAO <> "O"
   Then
        TabelaNEITOC=Cria_Temp(PrivDir())
        Rename "Answer" TabelaNEITOC
       
        ;---- Tabela Rela‡ao das Notas -----------------------------------------
        {Ask} TypeIn TabelaNEITOC Enter
        Moveto [Numero do Lancamento] Check
        Do_It!
        ClearAll
        TabelaRNE=Adiciona_Indice_Temp("Numero do Lancamento")
        
        ;-- Tabela de OCïs das notas -------------------------------------------
        {Ask} typein TabelaNEITOC enter
        Moveto [Numero da OC            ] check           
        Do_It!
        ClearAll
        TabelaROC=Adiciona_Indice_Temp("Numero da OC")
        
        {Ask} TypeIn TabelaROC Enter 
        moveto [Numero da OC            ]       TypeIn "_noc"
        {Ask} {\\Sistemas\\Compras\\Oci}
        moveto [Numero da OC            ] Check TypeIn "_noc"
        moveto [Codigo do Item          ] Check TypeIn "Not Blank"
        moveto [Quantidade              ] TypeIn "Calc Sum as Quantidade"
        moveto [Quantidade Entregue     ] TypeIn "Calc Sum as Quantidade Entregue"
        moveto [Unidade Fiscal          ] Check
        moveto [Preco Unitario          ] Check
        moveto [Preco Total             ] TypeIn "Calc Sum as Preco Total"
        Do_It!
        ClearAll
        
        TabelaOCIT=Cria_Temp(PrivDir())
        Rename "Answer" TabelaOCIT
       
        ;-- Ordem de Compra que nÆo constam na Nota ----------------------------
        {Ask} TypeIn TabelaNEITOC Enter
        Moveto [Numero da OC            ] Check 
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll
        ;---- Tabela rela‡Æo OC/Itens das notas ----
        TabelaROCITNE = Adiciona_Indice_Temp("Numero da OC,Codigo do Item") 

        {Ask} typein TabelaROC enter
        Moveto [Numero da OC            ]       TypeIn "_noc"
        {Ask} {\\Sistemas\\Compras\\Oci}
        Moveto [Numero da OC            ] Check TypeIn "_noc"
        Moveto [Codigo do Item          ] Check 
        Do_It!
        ClearAll
        ;---- Tabela rela‡Æo OC/Itens das compras ----
        TabelaROCITOC = Adiciona_Indice_Temp("Numero da OC,Codigo do Item")  
        
        Subtract TabelaROCITNE TabelaROCITOC 
        ClearAll
        
        ;---- Item/OC nÆo incluida na nota -------------------------------------
        If Not IsEmpty(TabelaROCITOC) 
           Then {Ask} typein TabelaNEITOC enter
                Moveto [Numero do Lancamento    ] Check
                Moveto [Numero da OC            ] Check 
                Do_It!
                ClearAll
                TabelaOCNE=Adiciona_Indice_Temp("Numero da OC,Numero do Lancamento") ; tabela de OC/NE         
        
                {ask} typein TabelaOCNE enter
                Moveto [Numero da OC            ]       TypeIn "_noc"
                Moveto [Numero do Lancamento    ] Check 
                {ask} typein TabelaROCITOC enter
                Moveto [Numero da OC            ] Check TypeIn "_noc"
                Moveto [Codigo do Item          ] Check TypeIn "_ite" 
                Do_It!
                ClearAll
                
                {ask} {Answer}
                Moveto [Numero do Lancamento    ] TypeIn "_nl" 
                Moveto [Numero da OC            ] TypeIn "_noc"
                Moveto [Codigo do Item          ] TypeIn "_ite" 
                {ask} typein TabelaNEITOC enter typein "Fast Insert"
                Moveto [Numero do Lancamento    ] TypeIn "_nl" 
                Moveto [Numero da OC            ] TypeIn "_noc"
                Moveto [Codigo do Item          ] TypeIn "_ite" 
                Do_It!
                ClearAll
                
                Delete TabelaOCNE 
        EndIf
         
        ;---- Tabela Rela‡ao de Pedidos ----------------------------------------
        If Not IsEmpty(TabelaOCIT)
           Then {Ask} {\\Sistemas\\Compras\\Occ}
                Moveto [Numero da OC    ] Check TypeIn "_Oc"
                Moveto [Numero do Pedido] Check
                {Ask} TypeIn TabelaOCIT Enter
                Moveto [Numero da OC    ]       TypeIn "_Oc"
                Do_It!
                ClearAll
                TabelaRPED=Adiciona_Indice_Temp("Numero da OC,Numero do Pedido")
   
                {Ask} TypeIn TabelaRPED Enter
                Moveto [Numero do Pedido        ]       TypeIn "_noc"
                Moveto [Numero da OC            ] check
                {Ask} {\\Sistemas\\Vendas\\PedidoI}
                Moveto [Numero do Pedido        ] check TypeIn "_noc"
                Moveto [Codigo do Item          ] Check
                moveto [Quantidade              ] TypeIn "Calc Sum as Quantidade"
                moveto [Unidade Fiscal          ] Check
                moveto [Preco Unitario          ] Check
                moveto [Preco Total             ] TypeIn "Calc Sum as Preco Total"         
                Do_It!
                
                ClearAll
                ;---- Tabela rela‡Æo Pedido/Itens ----
                TabelaRPEDIT = Adiciona_Indice_Temp("Numero da OC,Numero do Pedido,Codigo do Item")
        EndIf         
   Else
        TabelaOCIT=Cria_Temp(PrivDir())
        Rename "Answer" TabelaOCIT
       
        ;---- Tabela Rela‡ao de Pedidos ----------------------------------------
        {Ask} TypeIn TabelaOCIT Enter
        Moveto [Numero da OC    ] Check
        Moveto [Numero do Pedido] Check
        Do_It!
        ClearAll
        TabelaRPED=Adiciona_Indice_Temp("Numero da OC,Numero do Pedido")
   
        ;---- Tabela de OC's ---------------------------------------------------
        {ask} typein TabelaOCIT Enter
        Moveto [Numero da OC] Check           
        Do_It!
        ClearAll
        TabelaROC=Adiciona_Indice_Temp("Numero da OC")
         
        ;-- Ordem de Compra que nÆo constam no Pedido---------------------------
        {Ask} TypeIn TabelaOCIT Enter
        Moveto [Numero da OC            ] Check
        Moveto [Numero do Pedido        ] Check 
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll
        ;---- Tabela rela‡Æo OC/Itens ----
        TabelaOCITPED = Adiciona_Indice_Temp("Numero da OC,Numero do Pedido,Codigo do Item") 
        
        {Ask} TypeIn TabelaRPED Enter
        Moveto [Numero do Pedido        ]       TypeIn "_noc"
        Moveto [Numero da OC            ] Check
        {Ask} {\\Sistemas\\Vendas\\PedidoI}                                     ;NÆo esta sendo verificado por item do pedido, apenas por codigo do item
        Moveto [Numero do Pedido        ] Check TypeIn "_noc"
        Moveto [Codigo do Item          ] Check
        Do_It!
        ClearAll
        ;---- Tabela rela‡Æo Pedido/Itens ----
        TabelaRPEDIT = Adiciona_Indice_Temp("Numero da OC,Numero do Pedido,Codigo do Item")  
        
        Subtract TabelaOCITPED TabelaRPEDIT  
        ClearAll
        
        ;---- Apurando Nota de Entrada de acordo com as OC ----------------------------- 
        If VSDGOPERACAO="O"
           Then {Ask} TyPein TabelaOCIT Enter
                Moveto [Numero da OC         ]       TypeIn "_Oc"
                {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEI" Enter
                Moveto [Numero do Lancamento ] Check               
                Moveto [Numero da OC         ] Check TypeIn "_Oc"
                Do_it!
                ClearAll
                
                If Not IsEmpty("Answer")
                   Then TabelaRNE = Adiciona_Indice_Temp("Numero do Lancamento,Numero da OC")
                        
                        {Ask} TypeIn TabelaRNE Enter
                        Moveto [Numero do Lancamento    ] Check TypeIn "_Nlanc"
                        Moveto [Numero da OC            ] Check 
                        {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEI" Enter
                        Moveto [Numero do Lancamento    ]       TypeIn "_Nlanc"
                        Moveto [Unidade Fiscal          ] Check
                        moveto [Codigo do Item          ] Check  Typein "Not Blank"
                        moveto [Quantidade              ] TypeIn "Calc Sum as Quantidade"
                        moveto [Quantidade Convertida   ] TypeIn "Calc Sum as Quantidade Convertida"
                        moveto [Unidade Entrada         ] Check
                        moveto [Unidade Interna         ] Check
                        moveto [Preco Unitario          ] Check
                        moveto [Preco Total             ] TypeIn "Calc Sum as Preco Total"
                        Do_It!
                        ClearAll
                        TabelaRNEI = Adiciona_Indice_Temp("Numero do Lancamento,Numero da OC,Codigo do Item,Preco Unitario")
                        
                        {Ask} TypeIn TabelaRNEI Enter Check
                        Moveto [Numero do Lancamento    ] TypeIn "_Nlanc"
                        {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
                        Moveto [Numero do Lancamento    ] TypeIn "_Nlanc"
                        Moveto [Codigo do Documento     ] Check
                        Moveto [Tipo do Documento       ] Check
                        Moveto [Numero do Documento     ] Check
                        Moveto [Codigo                  ] Check
                        Moveto [Serie do Documento      ] Check
                        Moveto [Valor Desconto          ] Check 
                        Moveto [Valor Mercadoria Liquido] Check 
                        Moveto [Valor Nota Fiscal       ] Check
                        Do_It!
                        ClearAll
                        
                        Delete TabelaRNEI
                        TabelaRNEI = Adiciona_Indice_Temp("Numero do Lancamento,Numero da OC,Codigo do Item,Preco Unitario")
                EndIf
        EnDIf         
        ;TabelaOCIT     -> Itens do Pedido com ou sem OC 
        ;TabelaROC      ->  Rela‡Æo das OC
        ;TabelaRPED     ->  Rela‡Æo dos Pedidos Vinculados na OC
        ;TabelaOCITPED  ->  Itens da OC 
        ;TabelaRPEDIT   ->  Itens do Pedido que nÆo constam na OC                 
EndIf   

If Isassigned(TabelaROC)     And Istable(TabelaROC)     Then Delete TabelaROC     EndIf
If Isassigned(TabelaROCITNE) And Istable(TabelaROCITNE) Then Delete TabelaROCITNE EndIf 
If Isassigned(TabelaROCITOC) And Istable(TabelaROCITOC) Then Delete TabelaROCITOC EndIf              

;-- Monta Tabela das notas------------------------------------------------------
If VSDGOPERACAO <> "O"
   Then {Ask} Typein TabelaRNE enter 
        Moveto [Numero do Lancamento    ] typein "_nl" 
        Switch
          Case VSDGOPERACAO = "X":
               {Ask} TypeIn "\\Sistemas\\Estoque\\Inec" Enter
        
          Case VSDGOPERACAO = "E" : 
               {Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
        EndSwitch
        Moveto [Numero do Lancamento    ] typein "_nl"
        moveto [Numero do Documento     ] check 
        moveto [Tipo do Documento       ] check 
        moveto [Serie do Documento      ] check 
        moveto [Tipo de Operacao        ] check 
        moveto [Descricao da Operacao   ] check
        moveto [Data de Entrada         ] check
        moveto [Descricao Tipo Pagamento] check 
        moveto [Numero da OC            ] check TypeIn "as \"NUMERO da OC_NE\""
   Else {Ask} Typein TabelaRPED enter 
        Moveto [Numero da OC    ] typein "_nl"
        {Ask} TypeIn "\\Sistemas\\Compras\\OCC" Enter
        Moveto [Numero da OC    ] check typein "_nl"
        moveto [Data de Entrega ] check 
EndIf
moveto [Codigo da Empresa       ] check 
moveto [Nome Fantasia Empresa   ] check 
moveto [Codigo                  ] check 
moveto [Razao Social            ] check 
moveto [Cidade                  ] check 
moveto [UF                      ] check 
moveto [CGC                     ] check
moveto [Data de Emissao         ] check 
moveto [Tipo de Pagamento       ] check 
moveto [Valor Mercadoria        ] check 
moveto [Valor Desconto          ] check 
moveto [Valor Mercadoria Liquido] check 
moveto [Valor Nota Fiscal       ] check 
moveto [Codigo da Tabela        ] check
moveto [Data_Inclusao           ] check             
If VSDGOPERACAO <> "O"
   Then {Ask} typein TabelaNEITOC enter check
        Moveto [Numero do Lancamento    ] typein "_nl"
   Else {Ask} typein TabelaOCIT enter check
        Moveto [Numero da OC            ] typein "_nl"     
EndIf
Do_it!
ClearAll

{Ask} {Answer}
moveto [Codigo da Empresa       ] typein "_codemp"
moveto [Nome Fantasia Empresa   ] typein "_nomemp"
moveto [Codigo                  ] typein "_codclie"
moveto [Razao Social            ] typein "_raz"
moveto [Cidade                  ] typein "_cid"
moveto [UF                      ] typein "_uf"
moveto [CGC                     ] typein "_cgc"
If VSDGOPERACAO <> "O"
   Then moveto [Numero do Lancamento    ] typein "_nl"
        moveto [Numero do Documento     ] typein "_ndoc"
        moveto [Tipo do Documento       ] typein "_tdoc"
        moveto [Serie do Documento      ] typein "_sdoc"
        moveto [Tipo de Operacao        ] typein "_tpop"
        moveto [Descricao da Operacao   ] typein "_dtpop"
        moveto [Data de Entrada         ] typein "_dtent"
        moveto [Descricao Tipo Pagamento] typein "_dtppg"
        moveto [Numero da OC_NE         ] typein "_nocne"
        moveto [Unidade Entrada         ] typein "_une"
        moveto [Quantidade Convertida   ] typein "_qtdcv"
   Else moveto [Numero do Pedido        ] typein "_nl"
EndIf
moveto [Data de Emissao         ] typein "_dtemis"
moveto [Tipo de Pagamento       ] typein "_tppg"
moveto [Valor Mercadoria        ] typein "_vrmerc"
moveto [Valor Desconto          ] typein "_vrdesc"
moveto [Valor Mercadoria Liquido] typein "_vrmercl"
moveto [Valor Nota Fiscal       ] typein "_vrnf"
moveto [Codigo da Tabela        ] typein "_codtab"
moveto [Data_Inclusao           ] typein "_dtinc"
moveto [Codigo do Item          ] typein "_cite"
moveto [Quantidade              ] typein "_qtd"
moveto [Unidade Interna         ] typein "_uni"
moveto [Preco Unitario          ] typein "_pruni"
moveto [Preco Total             ] typein "_prtot"
moveto [Numero da OC            ] typein "_noc"

{Ask} TypeIn Tabela Enter Typein "Fast Insert"
If VSDGOPERACAO <> "O"
   Then moveto [Numero do Lancamento    ] typein "_nl"
        moveto [Numero do Documento     ] typein "_ndoc"
        moveto [Tipo do Documento       ] typein "_tdoc"
        moveto [Serie do Documento      ] typein "_sdoc"
        moveto [Tipo de Operacao        ] typein "_tpop"
        moveto [Descricao da Operacao   ] typein "_dtpop"
        moveto [Data de Entrada         ] typein "_dtent"
        moveto [Descricao Tipo Pagamento] typein "_dtppg"
        moveto [Numero da OC_NE         ] typein "_nocne"
        moveto [Unidade Entrada         ] typein "_une"
        moveto [Quantidade Convertida   ] typein "_qtdcv"
   Else moveto [Numero do Pedido        ] typein "_nl"
        ;moveto [Data de Entrega         ] typein "_dtent"
EndIf
moveto [Codigo da Empresa       ] typein "_codemp"
moveto [Nome Fantasia Empresa   ] typein "_nomemp"
moveto [Codigo                  ] typein "_codclie"
moveto [Razao Social            ] typein "_raz"
moveto [Cidade                  ] typein "_cid"
moveto [UF                      ] typein "_uf"
moveto [CGC                     ] typein "_cgc"
moveto [Data de Emissao         ] typein "_dtemis"
moveto [Tipo de Pagamento       ] typein "_tppg"
moveto [Data_Inclusao           ] typein "_dtinc"
moveto [Codigo da Tabela        ] typein "_codtab"
moveto [Codigo do Item          ] typein "_cite"
moveto [Numero da OC            ] typein "_noc"
If VSDGOPERACAO <> "O"
   Then moveto [Valor Mercadoria        ] typein "_vrmerc"
        moveto [Valor Desconto          ] typein "_vrdesc"
        moveto [Valor Mercadoria Liquido] typein "_vrmercl"
        moveto [Valor Nota Fiscal       ] typein "_vrnf"
        moveto [Quantidade              ] typein "_qtd"
        moveto [Unidade Interna         ] typein "_uni"
        moveto [Preco Unitario          ] typein "_pruni"
        moveto [Preco Total             ] typein "_prtot"
   Else moveto [OC_Quantidade           ] typein "_qtd"
        moveto [OC_Unidade              ] typein "_uni"
        moveto [OC_Preco Unitario       ] typein "_pruni"
        moveto [OC_Preco Total          ] typein "_prtot"
EndIf
Do_It!
ClearAll

;---- Verificando Nota de Entrada relacionado com as OC's ----------------------
If VSDGOPERACAO="O" And Not IsEmpty("Answer")   
   Then {Ask} Typein Tabela Enter typein "Fast"
        Moveto [Numero da OC_NE         ] TypeIn "Changeto blank"
        Moveto [Tipo do Documento       ] TypeIn "Changeto blank"
        Moveto [Numero do Documento     ] TypeIn "Changeto blank"
        Moveto [Serie do Documento      ] TypeIn "Changeto blank"
        moveto [Quantidade              ] TypeIn "Changeto blank"
        Moveto [Quantidade Convertida   ] TypeIn "Changeto blank"
        moveto [Unidade Interna         ] TypeIn "Changeto blank"
        moveto [Unidade Entrada         ] TypeIn "Changeto blank"
        moveto [Preco Unitario          ] TypeIn "Changeto blank"
        moveto [Preco Total             ] TypeIn "Changeto blank"
        Moveto [Valor Desconto          ] TypeIn "Changeto blank" 
        Moveto [Valor Mercadoria Liquido] TypeIn "Changeto blank" 
        Moveto [Valor Nota Fiscal       ] TypeIn "Changeto blank"
        Do_It!
        ClearAll

        If IsAssigned(TabelaRNEI) And IsTable(TabelaRNEI) And Not IsEmpty(TabelaRNEI)
           Then {Ask} Typein TabelaRNEI Enter 
                Moveto [Numero da OC            ] TypeIn "_oc"
                Moveto [Tipo do Documento       ] TypeIn "_Cod"
                Moveto [Numero do Documento     ] TypeIn "_Num"
                Moveto [Serie do Documento      ] TypeIn "_Ser"
                moveto [Codigo do Item          ] Typein "_Ite"
                moveto [Quantidade              ] TypeIn "_Qtd"
                Moveto [Quantidade Convertida   ] TypeIn "_QtdC"               
                moveto [Unidade Interna         ] TypeIn "_UnI"
                moveto [Unidade Entrada         ] TypeIn "_UnE"
                moveto [Preco Unitario          ] TypeIn "_PrU"
                moveto [Preco Total             ] TypeIn "_PrT"
                Moveto [Valor Desconto          ] TypeIn "_VrD" 
                Moveto [Valor Mercadoria Liquido] TypeIn "_VrM" 
                Moveto [Valor Nota Fiscal       ] TypeIn "_VrN"
                If VSDGPED=1
                   Then Moveto [Numero do Lancamento] TypeIn "_Nlanc"
                EndIf
                {Ask} TypeIn Tabela Enter
                Moveto [Numero da OC            ] Typein "_oc"
                moveto [Codigo do Item          ] Typein "_Ite"
                Moveto [Tipo do Documento       ] TypeIn "Changeto _Cod"
                Moveto [Numero do Documento     ] TypeIn "Changeto _Num"
                Moveto [Serie do Documento      ] TypeIn "Changeto _Ser"
                moveto [Quantidade              ] TypeIn "Changeto _Qtd"
                Moveto [Quantidade Convertida   ] TypeIn "Changeto _QtdC"
                moveto [Unidade Interna         ] TypeIn "Changeto _UnI"
                moveto [Unidade Entrada         ] TypeIn "Changeto _UnE"
                moveto [Preco Unitario          ] TypeIn "Changeto _PrU"
                moveto [Preco Total             ] TypeIn "Changeto _PrT"
                Moveto [Valor Desconto          ] TypeIn "Changeto _VrD" 
                Moveto [Valor Mercadoria Liquido] TypeIn "Changeto _VrM" 
                Moveto [Valor Nota Fiscal       ] TypeIn "Changeto _VrN"
                If VSDGPED=1
                   Then Moveto [Numero da OC_NE ] TypeIn "Changeto _Nlanc"
                   Else Moveto [Numero da OC_NE ] TypeIn "Changeto _oc"          
                EndIf   
                Do_it!
                ClearAll
        EndIf                                                          
EndIf        

Conferencia("Verifica")

;-- Ajusta dados do Item ------------------------------------------------
{Ask} TypeIn Tabela enter
moveto [Codigo do Item ] Check
Do_It!
ClearAll
TabelaRIT = Adiciona_Indice_Temp("Codigo do Item")         

{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
moveto [Codigo do Item          ] Check typein "_cite"
moveto [Descricao do Item       ] Check
If VSDGOPERACAO <> "O"
   Then {ask} TypeIn TabelaNEITOC Enter
   Else {ask} TypeIn TabelaOCIT   Enter
EndIf
Moveto [Codigo do Item          ]       typein "_cite"
Do_It!
ClearAll

Delete TabelaRIT
TabelaRIT=Adiciona_Indice_Temp("Codigo do Item") ;Rela‡Æo de itens         

{ask} TypeIn TabelaRIT Enter 
moveto [Codigo do Item          ] typein "_ite"
moveto [Descricao do Item       ] typein "_dite"
{ask} TypeIn Tabela Enter typein "Fast"
moveto [Codigo do Item          ] typein "_ite"
moveto [Descricao do Item       ] typein "ChangeTo _dite"
Do_It!
ClearAll

Delete TabelaRIT

;-- Ajusta dados da OC ---------------------------------------------------------
{ask} typein TabelaOCIT enter 
moveto [Numero da OC            ] typein "_noc"
moveto [Codigo do Item          ] typein "_ite"
moveto [Quantidade              ] typein "_qtd"
If VSDGOPERACAO <> "O"
   Then Moveto [Unidade Fiscal     ] TypeIn "_unf"
        Moveto [Quantidade Entregue] TypeIn "_QtdE"
   Else Moveto [Unidade Interna ] typein "_unf"                                 ;Unidade da OC est  sendo verificado pela UNIDADE ITERNA e nÆo pela UNIDADE FISCAL 
EndIf
moveto [Preco Unitario          ] typein "_pru"
moveto [Preco Total             ] typein "_prt"
{ask} typein Tabela    enter typein "Fast"
moveto [Numero da OC            ] typein "_noc"
moveto [Codigo do Item          ] typein "_ite"
moveto [OC_Quantidade           ] typein "changeto _qtd" 
moveto [OC_Unidade              ] typein "changeto _unf"
moveto [OC_Preco Unitario       ] typein "changeto _pru"
moveto [OC_Preco Total          ] typein "changeto _prt"
If VSDGOPERACAO <> "O"
   Then Moveto [OC_QtdEntregue  ] typein "changeto _QtdE"
EndIf   
Do_It!
ClearAll

;-- Ajusta dados do Pedido -----------------------------------------------------
If VSDGOPERACAO = "O" 
   Then {ask} typein TabelaOCIT enter 
        moveto [Numero do Pedido        ] typein "_noc"
        moveto [Codigo do Item          ] typein "_ite"
        {Ask} {\\Sistemas\\Vendas\\PedidoI}                                     ;NÆo esta sendo verificado por item do pedido, apenas por codigo do item
        Moveto [Numero do Pedido        ] TypeIn "_noc"
        Moveto [Codigo do Item          ] typein "_ite"
        moveto [Quantidade              ] typein "_qtd"
        moveto [Unidade Fiscal          ] typein "_unf"
        moveto [Preco Unitario          ] typein "_pru"
        moveto [Preco Total             ] typein "_prt"
        {Ask} Typein Tabela Enter typein "Fast"
        moveto [Numero do Pedido        ] typein "_noc"
        moveto [Codigo do Item          ] typein "_ite"
        moveto [Pedido_Quantidade       ] typein "changeto _qtd" 
        moveto [Pedido_Unidade          ] typein "changeto _unf"
        moveto [Pedido_Preco Unitario   ] typein "changeto _pru"
        moveto [Pedido_Preco Total      ] typein "changeto _prt"
        Do_It!
        ClearAll
EndIf
Delete TabelaOCIT

Conferencia("")

;-- Ajusta dados da Conferencia ------------------------------------------------
If (VSDGOPCAO[4] Or VSDGOPCAO1[3]) And IsAssigned(TabelaCEITNE) And IsTable(TabelaCEITNE)  
   Then {Ask} Typein TabelaCEITNE enter
        If VSDGOPERACAO <> "O"
           Then Moveto [Numero do Lancamento    ] typein "_nl"
           Else Moveto [Numero da OC            ] typein "_nl"
        EndIf
        moveto [Codigo do Item          ] typein "_ite"
        moveto [Quantidade_Conferencia  ] typein "_qtd"
        moveto [Unidade_Conferencia     ] typein "_uni"
        ;moveto [Observacao              ] typein "_obs"
        {Ask} typein Tabela enter typein "Fast"
        If VSDGOPERACAO <> "O"
           Then Moveto [Numero do Lancamento    ] typein "_nl"
           Else Moveto [Numero da OC            ] typein "_nl"
        EndIf    
        moveto [Codigo do Item          ] typein "_ite"
        moveto [Conferencia_Quantidade  ] typein "changeto _qtd" 
        moveto [Conferencia_Unidade     ] typein "changeto _uni"
        ;moveto [Conferencia_Observacao  ] typein "changeto _obs"
        Do_It!
        ClearAll
        
        ;---- Observa‡Æo -------------------------------------------------------
        NR=NRecords(TabelaCEITNE)  
               
        View Tabela
        Coedit TabelaCEITNE
        Scan For Rtrim([Observacao])<>""
          Barra(NR, RecNo())
          Aguarde("Aguarde, Atualizando a Observa‡Æo "+BARRA_STRING)        
        
          OBS = [Observacao]
          If VSDGOPERACAO <> "O"
             Then LANCTO = [Numero do Lancamento]
             Else LANCTO = [Numero da OC        ]
          EndIf
          
          COD_ITEM = [Codigo do Item]
          Moveto Tabela
          If VSDGOPERACAO <> "O"
             Then Moveto [Numero do Lancamento]
                  Locate LANCTO
                  If Retval
                     Then While LANCTO = [Numero do Lancamentp]
                            If COD_ITEM = [Codigo do Item]
                               Then [Conferencia_Observacao] = OBS
                                    UnLockRecord
                                    QuitLoop
                            EndIf
                            Skip
                            If Eot() Then QuitLoop EndIf
                            Locate Next LANCTO
                            If Not RetVal
                               Then QuitLoop
                            EndIf    
                          EndWhile          
                  EndIf
             Else Moveto [Numero da OC]
                  Locate LANCTO
                  If Retval
                     Then While LANCTO = [Numero da OC]
                            If COD_ITEM = [Codigo do Item]
                               Then [Conferencia_Observacao] = OBS
                                    UnLockRecord
                                    QuitLoop
                            EndIf
                            Skip
                            If Eot() Then QuitLoop EndIf
                            Locate Next LANCTO
                            If Not RetVal
                               Then QuitLoop
                            EndIf    
                          EndWhile          
                  EndIf
          EndIf 
          Moveto TabelaCEITNE
        EndScan
        Do_it!
        ClearAll
                
        {Ask} TypeIn TabelaCEITNE Enter 
        If VSDGOPERACAO <> "O"
           Then Moveto [Numero do Lancamento    ] Check
           Else Moveto [Numero da OC            ] Check
        EndIf    
        Moveto [Numero do CC            ] Check
        Do_It!
        ClearAll
        
        If VSDGOPERACAO <> "O"
           Then TabelaNECE=Adiciona_Indice_Temp("Numero do Lancamento")         ;Rela‡Æo de itens
                {Ask} typein TabelaCEITNE enter 
                Moveto [Numero do Lancamento    ] typein "_nl" 
                Moveto [Numero do CC            ] typein "_nlcc"
                {Ask} typein Tabela    enter typein "Fast"
                Moveto [Numero do Lancamento    ] typein "_nl" 
                moveto [Numero da NE_CONF       ] typein "changeto _nlcc" 
                Do_It!
                ClearAll
           Else TabelaNECE=Adiciona_Indice_Temp("Numero da OC")                 ;Rela‡Æo de itens
                {Ask} typein TabelaCEITNE enter 
                Moveto [Numero da OC            ] typein "_nl" 
                Moveto [Numero do CC            ] typein "_nlcc"
                {Ask} typein Tabela    enter typein "Fast"
                Moveto [Numero da OC            ] typein "_nl" 
                moveto [Numero da NE_CONF       ] typein "changeto _nlcc" 
                Do_It!
                ClearAll
        EndIf
        If Isassigned(TabelaNECE)   And Istable(TabelaNECE)   Then Delete TabelaNECE   EndIf
        If Isassigned(TabelaCEITNE) And Istable(TabelaCEITNE) Then Delete TabelaCEITNE EndIf
EndIf

If VSDGOPERACAO <> "O"
   Then ;-- Seleciona s¢ notas com OC ------------------------------------------
        If VSDGOPCAO[1] And (Not VSDGOPCAO[4] Or Not VSDGOPCAO1[3]) 
           Then {Ask} TypeIn tabela Enter 
                moveto [Numero do Lancamento    ] check           
                moveto [Numero da OC            ] typeIn "not blank"          
                Do_It!
                ClearAll
                Tabelatemp=Adiciona_Indice_Temp("Numero do Lancamento")
                
                If Not isempty(Tabelatemp)
                   Then {ask} typein Tabelatemp enter 
                        moveto [Numero do Lancamento    ] typein "_nl"           
                        {ask} typein tabela enter check
                        moveto [Numero do Lancamento    ] typein "_nl"           
                        Do_It!
                        ClearAll
                        
                        Delete Tabela
                        
                        Rename "Answer" Tabela
                        ClearAll
                EndIf
        EndIf
   Else ;-- Seleciona s¢ OC com Pedido -----------------------------------------
        If VSDGOPCAO[1] And (Not VSDGOPCAO[4] Or Not VSDGOPCAO1[3]) 
           Then {Ask} TypeIn tabela Enter 
                moveto [Numero da OC            ] check           
                moveto [Numero do Pedido        ] typeIn "not blank"          
                Do_It!
                ClearAll
                Tabelatemp=Adiciona_Indice_Temp("Numero da OC")
                
                If Not IsEmpty(Tabelatemp)
                   Then {ask} typein Tabelatemp enter 
                        moveto [Numero da OC    ] typein "_nl"           
                        {ask} typein tabela enter check
                        moveto [Numero da OC    ] typein "_nl"           
                        Do_It!
                        ClearAll
                        
                        Delete Tabela
                        
                        Rename "Answer" Tabela
                        ClearAll
                Endif
        EndIf   
        If Isassigned(Tabelatemp)     And Istable(Tabelatemp)     Then Delete Tabelatemp EndIf
EndIf

EndProc   ;  (Seleciona)         

;*******************************************************************************
;* Rotina para verificar erros                                                 *       
;*******************************************************************************
Proc Verifica_Erros()

;-- Verificando Diferencas -----------------------------------------------------
If VSDGOPERACAO <> "O"
   Then NR = NRecords(Tabela)
        NLANC = ""
        Edit Tabela
        Scan
          Barra(NR, RecNo())
          Aguarde("Aguarde, ajustando informa‡”es "+BARRA_STRING)
          
          msgerrodif=""
        
          If NLANC<>[Numero do Lancamento]
             Then NLANC = [Numero do Lancamento]
                  Release Vars Array_Item
                  
                  Cont_Array_Item=0
                  DynArray Array_Item[]
          EndIf

          ACHOU_ITEM = False
          For i From 1 To DynArraySize(Array_Item)
            If Array_Item[i] = [Codigo do Item]
               Then ACHOU_ITEM=True
                    QuitLoop
            EnDIf  
          EndFor
          If Not ACHOU_ITEM
             Then Cont_Array_Item = Cont_Array_Item + 1
                  Array_Item[Cont_Array_Item]=[Codigo do Item]
             Else msgerrodif = msgerrodif + "ITEM DUPLICADO, "     
          EndIf   

         if IsBlank([Quantidade]) and not IsBlank([OC_Quantidade]) 
             Then Switch
                    Case [OC_QtdEntregue]>=[OC_Quantidade]        : msgerrodif=msgerrodif+"ENTREGUE TOTAL ANTERIORMENTE, "
                    Case [OC_QtdEntregue]>0 And [OC_Quantidade]>0 : msgerrodif=msgerrodif+"ENTREGUE PARCIAL ANTERIORMENTE, "
                    OtherWise                                     : msgerrodif=msgerrodif+"NAO VEIO, "
                  EndSwitch
             Else if Not IsBlank([Quantidade]) and IsBlank([OC_Quantidade]) 
                     Then 
                          msgerrodif=msgerrodif+"SEM OC, "
                     else
                          if [OC_Quantidade         ]<>[Quantidade     ]  Then msgerrodif=msgerrodif+"DIFERE QTDE/OC, "    endif
                          if [OC_Unidade            ]<>[Unidade Entrada]  Then msgerrodif=msgerrodif+"DIFERE UNIDADE/OC, " endif
                          if [OC_Preco Unitario     ]<>[Preco Unitario ]  Then msgerrodif=msgerrodif+"DIFERE PRECO/OC, "   endif
                  endif
          endif
                                                          
          if VSDGOPCAO[4] Or VSDGOPCAO1[3]
             then switch
                    case [Conferencia_Unidade]=[Unidade Entrada] :  qtdreferencia=[Quantidade           ]
                    case [Conferencia_Unidade]=[Unidade Interna] :  qtdreferencia=[Quantidade Convertida]
                    otherwise                                    :  qtdreferencia=blanknum()
                  endswitch
                  
                  if Not IsBlank(qtdreferencia) and IsBlank([Conferencia_Quantidade]) 
                     Then 
                          msgerrodif=msgerrodif+"SEM CONFERENCIA, "
                     else
                          if IsBlank(qtdreferencia) and not IsBlank([Conferencia_Quantidade]) 
                             Then 
                                  msgerrodif=msgerrodif+"NAO CONSTA NA NOTA, "
                             else
                                  if [Conferencia_Quantidade ]<>qtdreferencia  
                                     Then msgerrodif=msgerrodif+"DIFERE QTDE/CONFERENCIA, "    
                                  endif
                          endif
                  endif
                  
                  if not isblank([Conferencia_Observacao]) 
                     then msgerrodif=msgerrodif+" * "+[Conferencia_Observacao]
                  endif   
          Endif    
          
          If VSDGPED=1
             Then Switch
                    Case Not IsBlank([OC_Quantidade]) And IsBlank([Pedido_Quantidade]) : If Not Isblank([Numero do Pedido])
                                                                                            Then msgerrodif=msgerrodif+"NAO CONSTA NO PEDIDO, "
                                                                                         EndIf     
                    Case IsBlank([OC_Quantidade]) and not IsBlank([Pedido_Quantidade]) : msgerrodif=msgerrodif+"NAO CONSTA NA OC, "
                    Case IsBlank([OC_Quantidade]) And IsBlank([Pedido_Quantidade])     : msgerrodif=msgerrodif+"NAO CONSTA NA OC/PEDIDO, "   
                    OtherWise : If Not IsBlank([OC_Quantidade]) and IsBlank([Pedido_Quantidade]) 
                                   Then msgerrodif=msgerrodif+"SEM PEDIDO, "
                                   Else If [Pedido_Quantidade]<>[OC_Quantidade] And Not IsBlank([OC_Quantidade])   
                                           Then msgerrodif=msgerrodif+"QTD/PEDIDO DIFERE QTD/OC, "
                                        EndIf
                                        If [Pedido_Unidade   ]=""                 Then msgerrodif=msgerrodif+"UND/PEDIDO NAO INFORMADA, " EndIf
                                        If [OC_Unidade       ]=""                 Then msgerrodif=msgerrodif+"UND/OC NAO INFORMADA, "     EndIf
                                        If [OC_Unidade       ]<>""  
                                           Then If [Pedido_Unidade]<>[OC_Unidade] Then msgerrodif=msgerrodif+"UND/PEDIDO DIFERE UND/OC, " EndIf
                                        EndIf   
                                EndIf
                  EndSwitch
          EndIf
        
          if msgerrodif<>"" then [Mensagem]=msgerrodif endif
        
        Endscan
        Do_It!
        ClearAll
   
   Else NLANC = ""
        NR=NRecords(Tabela)
        
        Edit Tabela
        Scan
          Barra(NR, RecNo())
          Aguarde("Aguarde, ajustando informa‡”es "+BARRA_STRING)
          
          msgerrodif=""

          If NLANC<>[Numero da OC]
             Then NLANC = [Numero da OC]
                  Release Vars Array_Item
                  
                  Cont_Array_Item=0
                  DynArray Array_Item[]
          EndIf

          ACHOU_ITEM = False
          For i From 1 To DynArraySize(Array_Item)
            If Array_Item[i] = [Codigo do Item]
               Then ACHOU_ITEM=True
                    QuitLoop
            EnDIf  
          EndFor
          If Not ACHOU_ITEM
             Then Cont_Array_Item = Cont_Array_Item + 1
                  Array_Item[Cont_Array_Item]=[Codigo do Item]
             Else msgerrodif = msgerrodif + "ITEM DUPLICADO, "     
          EndIf             
          
          
          Switch
            Case Not IsBlank([OC_Quantidade]) And IsBlank([Pedido_Quantidade]) : If VSDGPED<>2 And Not Isblank([Numero do Pedido])
                                                                                    Then msgerrodif=msgerrodif+"NAO CONSTA NO PEDIDO, "
                                                                                 EndIf   
            Case IsBlank([OC_Quantidade]) and not IsBlank([Pedido_Quantidade]) : msgerrodif=msgerrodif+"NAO CONSTA NA OC, "
            Case IsBlank([OC_Quantidade]) And IsBlank([Pedido_Quantidade])     : msgerrodif=msgerrodif+"NAO CONSTA NA OC/PEDIDO, "   
            OtherWise : If Not IsBlank([OC_Quantidade]) and IsBlank([Pedido_Quantidade]) 
                           Then msgerrodif=msgerrodif+"SEM PEDIDO, "
                           Else If [Pedido_Quantidade]<>[OC_Quantidade] And Not IsBlank([OC_Quantidade])   
                                   Then msgerrodif=msgerrodif+"QTD/PEDIDO DIFERE QTD/OC, "
                                EndIf
                                If [Pedido_Unidade   ]=""                 Then msgerrodif=msgerrodif+"UND/PEDIDO NAO INFORMADA, " EndIf
                                If [OC_Unidade       ]=""                 Then msgerrodif=msgerrodif+"UND/OC NAO INFORMADA, "     EndIf
                                If [OC_Unidade       ]<>""  
                                   Then If [Pedido_Unidade]<>[OC_Unidade] Then msgerrodif=msgerrodif+"UND/PEDIDO DIFERE UND/OC, " EndIf
                                EndIf   
                        EndIf
          EndSwitch
          
          If VSDGOPCAO[4] Or VSDGOPCAO1[3]
             Then qtdreferencia=[OC_Quantidade]
                  Switch
                    Case IsBlank([Conferencia_Quantidade])     : msgerrodif=msgerrodif+"SEM CONFERENCIA, "
                    Case Not IsBlank([Conferencia_Quantidade]) : If [Conferencia_Unidade]<>[OC_Unidade] And [OC_Unidade]<>""
                                                                    Then msgerrodif=msgerrodif+"UND/CONF DIFERE UND/OC, "
                                                                 EndIf
                  EndSwitch
                  If Not IsBlank([Conferencia_Observacao]) 
                     Then msgerrodif=msgerrodif+" * "+[Conferencia_Observacao]
                  EndIf   
          EndIf    
          If msgerrodif<>"" Then [Mensagem]=msgerrodif EndIf
        Endscan
        Do_It!
        ClearAll        
EndIf  

If VSDGOPCAO[2] Or VSDGOPCAO1[1]
   Then If VSDGOPERACAO <> "O"
           Then {Ask} TypeIn Tabela enter
                moveto [Numero do Lancamento] check   
                moveto [Mensagem            ] typein "not blank" 
                Do_It!
                ClearAll
                
                if not isempty("Answer")
                   then 
                        Tabelat=Adiciona_Indice_Temp("Numero do Lancamento")
        
                        {ask} typein tabelat enter  
                        moveto [Numero do Lancamento    ] typein "_nl"           
                        {ask} typein tabela  enter check 
                        moveto [Numero do Lancamento    ] typein "_nl"           
                        Do_It!
                        ClearAll
                   
                        empty(tabela)
                        add "answer" tabela
                        clearall
                endif
                
           Else {Ask} TypeIn Tabela enter
                moveto [Numero da OC        ] check   
                moveto [Mensagem            ] typein "not blank" 
                Do_It!
                ClearAll
                
                If Not IsEmpty("Answer")
                   Then 
                        Tabelat=Adiciona_Indice_Temp("Numero da OC")
        
                        {ask} typein tabelat enter  
                        moveto [Numero da OC    ] typein "_nl"           
                        {ask} typein tabela  enter check 
                        moveto [Numero da OC    ] typein "_nl"           
                        Do_It!
                        ClearAll
                   
                        empty(tabela)
                        add "answer" tabela
                        clearall
                endif    
        endif        
endif

If VSDGOPCAO[3] Or VSDGOPCAO1[2]
   Then {ask} typein tabela enter typein "Fast delete"
        moveto [Mensagem                ] typein "blank" 
        Do_It!
        ClearAll
EndIf

EndProc ;Verifica_Erros()

;*******************************************************************************
;* Rotina para verificar a conferencia                                         *       
;*******************************************************************************
Proc Conferencia(PARAM)
Private PARAM       

If VSDGOPCAO[4] Or VSDGOPCAO1[3]
   Then Switch
          Case PARAM="Verifica" :
               Tabela_ConfNE = ""
               Tabela_ConfOC = ""
           
               If VSDGOPERACAO <> "O"
                  Then {Ask} TypeIn TabelaNEITOC Enter
                       Moveto [Numero do Lancamento    ] Check
                       Moveto [Codigo                  ] Check Typein "Not Blank"      ;NÆo possui Nota de Entrada
                       Moveto [Codigo do Documento     ] Check
                       Moveto [Numero do Documento     ] Check
                       Moveto [Serie do Documento      ] Check
                       Do_It!
                       ClearAll
                       TabelaRNE2 = Adiciona_Indice_Temp("Codigo,Codigo do Documento,Numero do Documento,Serie do Documento") ;Tabela RNE por documento
                        
                       ;---- Conferencia por Nota de Entrada -------------------                       
                       {Ask} TypeIn TabelaRNE2 Enter
                       Moveto [Codigo                  ]       TypeIn "_cfor"
                       Moveto [Codigo do Documento     ]       TypeIn "_cdoc"
                       Moveto [Numero do Documento     ]       TypeIn "_ndoc"
                       Moveto [Serie do Documento      ]       TypeIn "_sdoc"
                       Moveto [Numero do Lancamento    ] Check  
                       {ask} {Confnec}
                       Moveto [Numero do CC            ] Check
                       moveto [Codigo                  ]       TypeIn "_cfor"
                       moveto [Codigo do Documento     ]       TypeIn "_cdoc"
                       moveto [Numero do Documento     ]       TypeIn "_ndoc"
                       moveto [Serie do Documento      ]       TypeIn "_sdoc"
                       Do_It!
                       ClearAll
                       
                       Delete TabelaRNE2
                       TabelaRNE2 = Adiciona_Indice_Temp("Numero do Lancamento,Numero do CC")
                       
                       {Ask} TypeIn TabelaRNE2 Enter
                       Moveto [Numero do Lancamento    ] Check   
                       Moveto [Numero do CC            ] Check TypeIn "_nlcc"
                       {ask} {Confnei}
                       Moveto [Numero do CC            ] TypeIn "_nlcc" 
                       Moveto [Codigo do Item          ] Check  
                       Moveto [Quantidade_Conferencia  ] TypeIn "Calc Sum as \"Quantidade_Conferencia\""  
                       Moveto [Unidade_Conferencia     ] Check  
                       Moveto [Observacao              ] Check
                       Do_It!
                       ClearAll
                        
                       Tabela_ConfNE = Adiciona_Indice_Temp("Numero do Lancamento,Numero do CC,Codigo do Item")
                       If Isassigned(TabelaRNE2)  And Istable(TabelaRNE2)  Then Delete TabelaRNE2 EndIf
                        
                       ;---- Conferencia por Ordem de Compra --------------------------
                       {Ask} TypeIn TabelaOCIT Enter
                       Moveto [Numero da OC            ] TypeIn "_Oc"
                       Moveto [Codigo do Item          ] TypeIn "_Ite"
                       {Ask} {\\Sistemas\\Estoque\\NotaEi} 
                       Moveto [Numero do Lancamento    ] Check
                       Moveto [Numero da OC            ] Check TypeIn "_Oc"
                       Moveto [Codigo do Item          ] Check TypeIn "_Ite"
                       Do_It!
                       ClearAll
                       TabelaRNE2 = Adiciona_Indice_Temp("Numero do Lancamento,Numero da OC,Codigo do Item")
                       
                       {Ask} TypeIn TabelaRNE2 Enter
                       Moveto [Numero da OC            ] TypeIn "_noc" 
                       {Ask} {Confnec}
                       Moveto [Numero do CC            ] Check TypeIn "_nlcc"
                       Moveto [Numero da OC            ] Check TypeIn "_noc"
                       Do_It!
                       ClearAll
                       
                       Delete TabelaRNE2
                       TabelaRNE2 = Adiciona_Indice_Temp("Numero do CC,Numero da OC")
                       
                       {Ask} TypeIn TabelaRNE2 Enter
                       Moveto [Numero do CC            ] Check TypeIn "_nlcc"
                       Moveto [Numero da OC            ] Check 
                       {Ask} {Confnei}
                       Moveto [Numero do CC            ] TypeIn "_nlcc" 
                       Moveto [Codigo do Item          ] Check  
                       Moveto [Quantidade_Conferencia  ] TypeIn "Calc Sum as \"Quantidade_Conferencia\""
                       Moveto [Unidade_Conferencia     ] Check  
                       Moveto [Observacao              ] Check
                       Do_It!
                       ClearAll
                       Tabela_ConfOC = Adiciona_Indice_Temp("Numero da OC,Numero do CC,Codigo do Item")
                                        
                  Else If IsAssigned(TabelaRNEI) And IsTable(TabelaRNEI) And Not IsEmpty(TabelaRNEI)
                          Then {Ask} TypeIn TabelaRNEI Enter
                               Moveto [Numero do Lancamento    ] Check
                               Moveto [Codigo                  ] Check Typein "Not Blank"      ;NÆo possui Nota de Entrada
                               Moveto [Codigo do Documento     ] Check
                               Moveto [Numero do Documento     ] Check
                               Moveto [Serie do Documento      ] Check
                               Do_It!
                               ClearAll
                               TabelaRNE2 = Adiciona_Indice_Temp("Codigo,Codigo do Documento,Numero do Documento,Serie do Documento") ;Tabela RNE por documento
                                
                               ;---- Conferencia por Nota de Entrada -------------------                       
                               {Ask} TypeIn TabelaRNE2 Enter
                               Moveto [Codigo                  ]       TypeIn "_cfor"
                               Moveto [Codigo do Documento     ]       TypeIn "_cdoc"
                               Moveto [Numero do Documento     ]       TypeIn "_ndoc"
                               Moveto [Serie do Documento      ]       TypeIn "_sdoc"
                               Moveto [Numero do Lancamento    ] Check  
                               {ask} {Confnec}
                               Moveto [Numero do CC            ] Check
                               moveto [Codigo                  ]       TypeIn "_cfor"
                               moveto [Codigo do Documento     ]       TypeIn "_cdoc"
                               moveto [Numero do Documento     ]       TypeIn "_ndoc"
                               moveto [Serie do Documento      ]       TypeIn "_sdoc"
                               Do_It!
                               ClearAll
                               
                               Delete TabelaRNE2
                               TabelaRNE2 = Adiciona_Indice_Temp("Numero do Lancamento,Numero do CC")
                               
                               {Ask} TypeIn TabelaRNE2 Enter
                               Moveto [Numero do Lancamento    ] Check   
                               Moveto [Numero do CC            ] Check TypeIn "_nlcc"
                               {ask} {Confnei}
                               Moveto [Numero do CC            ] TypeIn "_nlcc" 
                               Moveto [Codigo do Item          ] Check  
                               Moveto [Quantidade_Conferencia  ] TypeIn "Calc Sum as \"Quantidade_Conferencia\""  
                               Moveto [Unidade_Conferencia     ] Check  
                               Moveto [Observacao              ] Check
                               Do_It!
                               ClearAll
                                
                               Tabela_ConfNE = Adiciona_Indice_Temp("Numero do Lancamento,Numero do CC,Codigo do Item")
                               If Isassigned(TabelaRNE2)  And Istable(TabelaRNE2)  Then Delete TabelaRNE2 EndIf
                       EndIf                       
                       
                       {Ask} TypeIn TabelaOCIT Enter
                       Moveto [Numero da OC            ] Check
                       Moveto [Codigo                  ] Check
                       Do_It!
                       ClearAll
                       TabelaRNE2 = Adiciona_Indice_Temp("Codigo,Numero da OC")
                        
                       {Ask} TypeIn TabelaRNE2 Enter
                       Moveto [Codigo                  ]       TypeIn "_cfor"
                       Moveto [Numero da OC            ] Check TypeIn "_noc" 
                       {ask} {Confnec}
                       Moveto [Numero do CC            ]       TypeIn "_nlcc"
                       Moveto [Numero da OC            ]       TypeIn "_noc"
                       moveto [Codigo                  ]       TypeIn "_cfor"
                       {ask} {Confnei}
                       Moveto [Numero do CC            ] Check TypeIn "_nlcc" 
                       Moveto [Codigo do Item          ] Check  
                       Moveto [Quantidade_Conferencia  ] TypeIn "Calc Sum as \"Quantidade_Conferencia\""
                       Moveto [Unidade_Conferencia     ] Check  
                       Moveto [Observacao              ] Check
                       Do_It!
                       
                       ClearAll
                       Tabela_ConfOC = Adiciona_Indice_Temp("Numero da OC,Numero do CC,Codigo do Item")   
               EndIf
          OtherWise :
               If Tabela_ConfOC<>"" And Istable(Tabela_ConfOC) And Not IsEmpty(Tabela_ConfOC)
                  Then {Ask} TypeIn Tabela_ConfOC Enter
                       Moveto [Numero da OC            ] TypeIn "_noc"
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Moveto [Quantidade_Conferencia  ] TypeIn "_qtd" 
                       Moveto [Unidade_Conferencia     ] TypeIn "_un" 
                       {Ask} TypeIn Tabela Enter 
                       Moveto [Numero da OC            ] TypeIn "_noc" 
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Moveto [Conferencia_Quantidade  ] TypeIn "Changeto _qtd"
                       Moveto [Conferencia_Unidade     ] TypeIn "Changeto _un"
                       Moveto [Numero do CC            ] TypeIn "Changeto _cc"  
                       Do_It!
                       ClearAll   
                       
                        ;Itens que estÆo na conferˆncia mas nÆo estÆo na NOTA DE ENTRADA
                       {Ask} TypeIn Tabela_ConfOC Enter TypeIn "Fast Delete" Enter
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Numero da OC            ] TypeIn "_noc" 
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       {Ask} TypeIn Tabela Enter 
                       Moveto [Numero do CC            ] TypeIn "_cc" 
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Do_It!
                       ClearAll       
                                
                       If Not IsEmpty(Tabela_ConfOC)
                          Then {ask} {Confnec}
                               Moveto [Numero do CC            ] Check TypeIn "_cc"
                               Moveto [Numero da OC            ] Check
                               Moveto [Codigo                  ] Check TypeIn "_cfor"
                               moveto [Codigo da Empresa       ] check
                               moveto [Nome Fantasia Empresa   ] check 
                               moveto [Razao Social            ] check 
                               {ask} {Confnei} 
                               Moveto [Numero do CC            ]       TypeIn "_cc"
                               Moveto [Codigo do Item          ] Check TypeIn "_ite"
                               Moveto [Descricao do Item       ] Check 
                               {Ask} TypeIn Tabela_ConfOC Enter 
                               Moveto [Numero da OC            ] Check
                               Moveto [Numero do CC            ]       TypeIn "_cc"
                               Moveto [Codigo do Item          ]       TypeIn "_ite" 
                               Moveto [Quantidade_Conferencia  ] Check  
                               Moveto [Unidade_Conferencia     ] Check
                               Do_It!
                               ClearAll
                               
                               {Ask} {Answer} Check
                               Moveto [Numero da OC            ]       TypeIn "_noc"
                               {Ask} {\\Sistemas\\Compras\\Occ}
                               Moveto [Numero da OC            ]       TypeIn "_noc"
                               moveto [Cidade                  ] Check  
                               moveto [UF                      ] Check  
                               moveto [CGC                     ] Check
                               moveto [Data de Emissao         ] Check
                               moveto [Data_Inclusao           ] Check
                               moveto [Tipo de Pagamento       ] Check
                               Do_it!
                               ClearAll
                               
                               {Ask} {Answer}
                               Moveto [Numero do CC            ] TypeIn "_cc"
                               Moveto [Numero da OC            ] TypeIn "_noc" 
                               moveto [Codigo da Empresa       ] TypeIn "_Emp"
                               moveto [Nome Fantasia Empresa   ] TypeIn "_nfe" 
                               moveto [Codigo                  ] TypeIn "_cod" 
                               moveto [Razao Social            ] TypeIn "_raz" 
                               Moveto [Codigo do Item          ] TypeIn "_ite"
                               Moveto [Descricao do Item       ] TypeIn "_DesI"
                               Moveto [Quantidade_Conferencia  ] TypeIn "_qtd"  
                               Moveto [Unidade_Conferencia     ] TypeIn "_un"
                               moveto [Cidade                  ] TypeIn "_cid"  
                               moveto [UF                      ] TypeIn "_uf"  
                               moveto [CGC                     ] TypeIn "_cgc"
                               moveto [Data de Emissao         ] TypeIn "_dte"
                               moveto [Data_Inclusao           ] TypeIn "_dti"
                               moveto [Tipo de Pagamento       ] TypeIn "_tpp"
                               
                               {Ask} TypeIn Tabela Enter TypeIn "Fast Insert" Enter
                               Moveto [Numero do Lancamento    ] TypeIn "_noc"
                               moveto [Codigo da Empresa       ] TypeIn "_Emp"
                               moveto [Nome Fantasia Empresa   ] TypeIn "_nfe" 
                               moveto [Codigo                  ] TypeIn "_cod" 
                               moveto [Razao Social            ] TypeIn "_raz" 
                               Moveto [Codigo do Item          ] TypeIn "_ite"
                               Moveto [Descricao do Item       ] TypeIn "_DesI"
                               Moveto [Conferencia_Quantidade  ] TypeIn "_qtd"
                               Moveto [Conferencia_Unidade     ] TypeIn "_un"
                               moveto [Cidade                  ] TypeIn "_cid"  
                               moveto [UF                      ] TypeIn "_uf"  
                               moveto [CGC                     ] TypeIn "_cgc"
                               moveto [Data de Emissao         ] TypeIn "_dte"
                               moveto [Data_Inclusao           ] TypeIn "_dti"
                               moveto [Tipo de Pagamento       ] TypeIn "_tpp"                               
                               moveto [Numero da OC            ] TypeIn "_noc"
                               moveto [Numero da OC_NE         ] TypeIn "_noc"
                               moveto [Numero da NE_CONF       ] TypeIn "_cc"
                               Do_It!
                               ClearAll                                                                  
                       EndIf
               EndIf
                
               If Tabela_ConfNE<>"" And Istable(Tabela_ConfNE) And Not IsEmpty(Tabela_ConfNE)
                  Then {Ask} TypeIn Tabela_ConfNE Enter
                       Moveto [Numero do Lancamento    ] TypeIn "_nl" 
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Moveto [Quantidade_Conferencia  ] TypeIn "_qtd" 
                       Moveto [Unidade_Conferencia     ] TypeIn "_un" 
                       {Ask} TypeIn Tabela Enter 
                       Moveto [Numero do Lancamento    ] TypeIn "_nl" 
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Moveto [Conferencia_Quantidade  ] TypeIn "Changeto _qtd"
                       Moveto [Conferencia_Unidade     ] TypeIn "Changeto _un"
                       Moveto [Numero do CC            ] TypeIn "Changeto _cc"  
                       Do_It!
                       ClearAll
                       
                       ;Itens que estÆo na conferˆncia mas nÆo estÆo na NOTA DE ENTRADA
                       {Ask} TypeIn Tabela_ConfNE Enter TypeIn "Fast Delete" Enter
                       Moveto [Numero do Lancamento    ] TypeIn "_nl"
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       {Ask} TypeIn Tabela Enter 
                       Moveto [Numero do Lancamento    ] TypeIn "_nl" 
                       Moveto [Numero do CC            ] TypeIn "_cc"
                       Moveto [Codigo do Item          ] TypeIn "_ite"
                       Do_It!
                       ClearAll       
                                
                       If Not IsEmpty(Tabela_ConfNE)
                          Then {ask} {Confnec}
                               Moveto [Numero do CC            ] Check TypeIn "_cc"
                               Moveto [Numero da OC            ] Check
                               Moveto [Codigo                  ] Check TypeIn "_cfor"
                               moveto [Codigo da Empresa       ] check
                               moveto [Nome Fantasia Empresa   ] check 
                               moveto [Razao Social            ] check 
                               {ask} {Confnei} 
                               Moveto [Numero do CC            ]       TypeIn "_cc"
                               Moveto [Codigo do Item          ] Check TypeIn "_ite"
                               Moveto [Descricao do Item       ] Check 
                               {Ask} TypeIn Tabela_ConfNE Enter 
                               Moveto [Numero do Lancamento    ] Check
                               Moveto [Numero do CC            ]       TypeIn "_cc"
                               Moveto [Codigo do Item          ]       TypeIn "_ite" 
                               Moveto [Quantidade_Conferencia  ] Check  
                               Moveto [Unidade_Conferencia     ] Check
                               Do_It!
                               ClearAll
                               
                               {Ask} {Answer} Check
                               Moveto [Numero do Lancamento    ]       TypeIn "_nlanc" 
                               Moveto [Numero da OC            ] Check
                               {Ask} {\\Sistemas\\Estoque\\NotaEc}
                               Moveto [Numero do Lancamento    ]       TypeIn "_nlanc"
                               moveto [Cidade                  ] Check  
                               moveto [UF                      ] Check  
                               moveto [CGC                     ] Check
                               moveto [Numero do Documento     ] Check
                               moveto [Tipo do Documento       ] Check
                               moveto [Serie do Documento      ] Check
                               moveto [Tipo de Operacao        ] Check
                               moveto [Descricao da Operacao   ] Check
                               moveto [Data de Emissao         ] Check
                               moveto [Data de Entrada         ] Check
                               moveto [Data_Inclusao           ] Check
                               moveto [Tipo de Pagamento       ] Check
                               moveto [Descricao Tipo Pagamento] Check
                               moveto [Valor Mercadoria        ] Check
                               moveto [Valor Desconto          ] Check 
                               moveto [Valor Mercadoria Liquido] Check 
                               moveto [Valor Nota Fiscal       ] Check 
                               moveto [Codigo da Tabela        ] Check
                               Moveto [Numero da OC            ] Check
                               Do_it!
                               ClearAll
                               
                               {Ask} {Answer}
                               Moveto [Numero do CC            ] TypeIn "_cc"
                               Moveto [Numero da OC            ] TypeIn "_noc" 
                               moveto [Codigo da Empresa       ] TypeIn "_Emp"
                               moveto [Nome Fantasia Empresa   ] TypeIn "_nfe" 
                               moveto [Codigo                  ] TypeIn "_cod" 
                               moveto [Razao Social            ] TypeIn "_raz" 
                               Moveto [Codigo do Item          ] TypeIn "_ite"
                               Moveto [Descricao do Item       ] TypeIn "_DesI"
                               Moveto [Numero do Lancamento    ] TypeIn "_nl"
                               Moveto [Quantidade_Conferencia  ] TypeIn "_qtd"  
                               Moveto [Unidade_Conferencia     ] TypeIn "_un"
                               moveto [Cidade                  ] TypeIn "_cid"  
                               moveto [UF                      ] TypeIn "_uf"  
                               moveto [CGC                     ] TypeIn "_cgc"
                               moveto [Numero do Documento     ] TypeIn "_ndoc"
                               moveto [Tipo do Documento       ] TypeIn "_tdoc"
                               moveto [Serie do Documento      ] TypeIn "_sdoc"
                               moveto [Tipo de Operacao        ] TypeIn "_top"
                               moveto [Descricao da Operacao   ] TypeIn "_deso"
                               moveto [Data de Emissao         ] TypeIn "_dte"
                               moveto [Data de Entrada         ] TypeIn "_dtet"
                               moveto [Data_Inclusao           ] TypeIn "_dti"
                               moveto [Tipo de Pagamento       ] TypeIn "_tpp"
                               moveto [Descricao Tipo Pagamento] TypeIn "_dest"
                               moveto [Valor Mercadoria        ] TypeIn "_vrm"
                               moveto [Valor Desconto          ] TypeIn "_vrd" 
                               moveto [Valor Mercadoria Liquido] TypeIn "_vrml" 
                               moveto [Valor Nota Fiscal       ] TypeIn "_vrnf" 
                               moveto [Codigo da Tabela        ] TypeIn "_codt"
                               {Ask} TypeIn Tabela Enter TypeIn "Fast Insert" Enter
                               Moveto [Numero do CC            ] TypeIn "_cc"
                               Moveto [Numero da OC            ] TypeIn "_noc" 
                               moveto [Codigo da Empresa       ] TypeIn "_Emp"
                               moveto [Nome Fantasia Empresa   ] TypeIn "_nfe" 
                               moveto [Codigo                  ] TypeIn "_cod" 
                               moveto [Razao Social            ] TypeIn "_raz" 
                               Moveto [Numero do Lancamento    ] TypeIn "_nl"
                               Moveto [Codigo do Item          ] TypeIn "_ite"
                               Moveto [Descricao do Item       ] TypeIn "_DesI"
                               Moveto [Conferencia_Quantidade  ] TypeIn "_qtd"
                               Moveto [Conferencia_Unidade     ] TypeIn "_un"
                               moveto [Cidade                  ] TypeIn "_cid"  
                               moveto [UF                      ] TypeIn "_uf"  
                               moveto [CGC                     ] TypeIn "_cgc"
                               moveto [Numero do Documento     ] TypeIn "_ndoc"
                               moveto [Tipo do Documento       ] TypeIn "_tdoc"
                               moveto [Serie do Documento      ] TypeIn "_sdoc"
                               moveto [Tipo de Operacao        ] TypeIn "_top"
                               moveto [Descricao da Operacao   ] TypeIn "_deso"
                               moveto [Data de Emissao         ] TypeIn "_dte"
                               moveto [Data de Entrada         ] TypeIn "_dtet"
                               moveto [Data_Inclusao           ] TypeIn "_dti"
                               moveto [Tipo de Pagamento       ] TypeIn "_tpp"
                               moveto [Descricao Tipo Pagamento] TypeIn "_dest"
                               moveto [Valor Mercadoria        ] TypeIn "_vrm"
                               moveto [Valor Desconto          ] TypeIn "_vrd" 
                               moveto [Valor Mercadoria Liquido] TypeIn "_vrml" 
                               moveto [Valor Nota Fiscal       ] TypeIn "_vrnf" 
                               moveto [Codigo da Tabela        ] TypeIn "_codt"
                               Do_It!
                               ClearAll                                                                  
                       EndIf
               EndIf
                
               {Ask} TypeIn Tabela Enter
               If VSDGOPERACAO = "O"
                  Then Moveto [Numero da OC        ] Check Typein "Not Blank"    
                  Else Moveto [Numero do Lancamento] Check Typein "Not Blank"
               EndIf   
               Moveto [Numero do CC        ] Check Typein "Not Blank"    
               Do_It!
               ClearAll
               
               If Not IsEmpty("Answer")
                  Then LANCTO    = ""
                       NUMERO_CC = ""
                       FINALIZA  = False
                      
                       View Tabela
                       Coedit "Answer"
                       While True
                         If VSDGOPERACAO = "O"
                            Then LANCAMENTO = [Numero da OC        ]
                            Else LANCAMENTO = [Numero do Lancamento]
                         EndIf
                         If LANCTO<>LANCAMENTO Or FINALIZA
                            Then If NUMERO_CC<>"" And LANCTO<>""
                                    Then Moveto Tabela
                                         If VSDGOPERACAO = "O"
                                            Then Moveto [Numero da OC        ]
                                            Else Moveto [Numero do Lancamento]
                                         EndIf
                                         Locate LANCTO
                                         If RetVal
                                            Then While True
                                                   If VSDGOPERACAO = "O"
                                                      Then LANCAMENTO = [Numero da OC        ]
                                                      Else LANCAMENTO = [Numero do Lancamento]
                                                   EndIf                                            
                                                   If LANCTO <> LANCAMENTO
                                                      Then QuitLoop
                                                   EndIf
                                                   [CC_Lancamentos] = NUMERO_CC
                                                   Skip
                                                   If Eot() Then QuitLoop EndIf
                                                  EndWhile
                                                 Moveto "Answer"
                                         EndIf
                                 EndIf         
                                 If FINALIZA Then QuitLoop EndIf
                                 If VSDGOPERACAO = "O"
                                    Then LANCTO = [Numero da OC        ]
                                    Else LANCTO = [Numero do Lancamento]
                                 EndIf          
                                 NUMERO_CC = "" 
                         EndIf   
                         If NUMERO_CC<>""
                            Then NUMERO_CC = NUMERO_CC + ", " + [Numero do CC]
                            Else NUMERO_CC = [Numero do CC]
                         EndIf 
                         Skip
                         If Eot()
                            Then FINALIZA=True
                         EndIf          
                      EndWhile
                      Do_it!                   
                      CleaRall
               EndIf
               
               If VSDGPED=2
                  Then {Ask} TypeIn Tabela Enter
                       MovetO [CC_Lancamentos   ] TypeIn "_Lanc"
                       Moveto [Numero da NE_CONF] TypeIn "Changeto_Lanc"
                       Do_It!
                       ClearAll
               EndIf 
       EndSwitch
EndIf

;Exclui Tabelas Tempor rias
Switch
  Case PARAM="Verifica" :
       ;If Isassigned(TabelaRPEDIT) And Istable(TabelaRPEDIT) Then Delete TabelaRPEDIT EndIf 
       If Isassigned(TabelaRNEIT)  And Istable(TabelaRNEIT)  Then Delete TabelaRNEIT  EndIf
       If Isassigned(TabelaRCEIT)  And Istable(TabelaRCEIT)  Then Delete TabelaRCEIT  EndIf
       If Isassigned(TabelaRNE2)  And Istable(TabelaRNE2)  Then Delete TabelaRNE2     EndIf
  OtherWise            :
       If Isassigned(TabelaRPED)   And Istable(TabelaRPED)   Then Delete TabelaRPED   EndIf
       If Isassigned(TabelaNEITOC) And Istable(TabelaNEITOC) Then Delete TabelaNEITOC EndIf
       If Isassigned(TabelaRNE)    And Istable(TabelaRNE)    Then Delete TabelaRNE    EndIf
EndSwitch       
   
EndProc ;Conferencia()

;*******************************************************************************
;* ROTINA PARA Ler/Gravacao Opcao                                              *       
;*******************************************************************************
Proc ModeloRelatoriosCarregaLista()

VSDGCODMODELO     = ""
VSDGMODELO        = ""

;ModeloRelatoriosAdd("XXX XX maximo 70 XX")

ModeloRelatoriosAdd("Criar") ; linha obrigatoria inicial
ModeloRelatoriosAdd("01  Anal¡tico")
ModeloRelatoriosAdd("Fim")

EndProc ;ModeloRelatoriosCarregaLista

;*******************************************************************************
;* ROTINA PARA excluir tabelas temporarias                                     * 
;*******************************************************************************
Proc Exclusao_Tabelas()

If Isassigned(TabelaNEITOC)  And Istable(TabelaNEITOC)  Then Delete TabelaNEITOC  EndIf
If Isassigned(TabelaRNE)     And Istable(TabelaRNE)     Then Delete TabelaRNE     EndIf
If Isassigned(TabelaROC)     And Istable(TabelaROC)     Then Delete TabelaROC     EndIf
If Isassigned(TabelaOCIT)    And Istable(TabelaOCIT)    Then Delete TabelaOCIT    EndIf
If Isassigned(TabelaROCITNE) And Istable(TabelaROCITNE) Then Delete TabelaROCITNE EndIf
If Isassigned(TabelaROCITOC) And Istable(TabelaROCITOC) Then Delete TabelaROCITOC EndIf
If Isassigned(TabelaOCNE)    And Istable(TabelaOCNE)    Then Delete TabelaOCNE    EndIf
If Isassigned(TabelaRPED)    And Istable(TabelaRPED)    Then Delete TabelaRPED    EndIf
If Isassigned(TabelaOCITPED) And Istable(TabelaOCITPED) Then Delete TabelaOCITPED EndIf
If Isassigned(TabelaRPEDIT)  And Istable(TabelaRPEDIT)  Then Delete TabelaRPEDIT  EndIf
If Isassigned(TabelaOCPED)   And Istable(TabelaOCPED)   Then Delete TabelaOCPED   EndIf
If Isassigned(TabelaRNE2)    And Istable(TabelaRNE2)    Then Delete TabelaRNE2    EndIf
If Isassigned(TabelaCEITNE)  And Istable(TabelaCEITNE)  Then Delete TabelaCEITNE  EndIf
If Isassigned(TabelaRNEIT)   And Istable(TabelaRNEIT)   Then Delete TabelaRNEIT   EndIf
If Isassigned(TabelaRCEIT)   And Istable(TabelaRCEIT)   Then Delete TabelaRCEIT   EndIf
If Isassigned(TabelaRIT)     And Istable(TabelaRIT)     Then Delete TabelaRIT     EndIf
If Isassigned(TabelaNECE)    And Istable(TabelaNECE)    Then Delete TabelaNECE    EndIf
If Isassigned(Tabelatemp)    And Istable(Tabelatemp)    Then Delete Tabelatemp    EndIf
If Isassigned(Tabela)        And Istable(Tabela)        Then Delete Tabela        EndIf
If Isassigned(Tabelat)       And Istable(Tabelat)       Then Delete Tabelat       EndIf
If Isassigned(TabelaRNE)     And Istable(TabelaRNE)     Then Delete TabelaRNE     EndIf
If Isassigned(TabelaRNEI)    And Istable(TabelaRNEI)    Then Delete TabelaRNEI    EndIf

Release Vars TabelaNEITOC,TabelaRNE,TabelaROC, TabelaOCIT, TabelaROCITNE, TabelaROCITOC, TabelaOCNE,   
             TabelaRPED,TabelaOCITPED,TabelaRPEDIT,TabelaOCPED,TabelaRNE2,TabelaCEITNE,TabelaRNEIT,  
             TabelaRCEIT,TabelaRIT,TabelaNECE,Tabelatemp,Tabela,Tabelat,TabelaRNE,TabelaRNEI

EndProc ;Exclusao_Tabelas()  

;*******************************************************************************
;* Rotina para Ajustar Dados                                                   *
;*******************************************************************************
Proc Ajusta_Dados()    
Switch
  Case VSDGOPERACAO = "O" :  
       {Ask} TypeIn Tabela Enter
       Moveto [Numero do Lancamento] TypeIn "Changeto _Oc"
       Moveto [Numero da OC        ] TypeIn "_Oc"
       Do_It!
       ClearAll
       
       ;---- Relacionando pedidos envolvidas com a Ordem de Compra ----------- 
       {Ask} TypeIn Tabela Enter
       Moveto [Numero do Lancamento] Check
       Moveto [Numero do Pedido    ] Check
       Do_It!
       ClearAll
       
       If Not IsEmpty("Answer")
          Then LANCTO   = ""
               NUMPED   = ""
               FINALIZA = False
               
               View Tabela
               Coedit "Answer"
               While True
                 If LANCTO<>[Numero do Lancamento] Or FINALIZA
                    Then If NUMPED<>"" And LANCTO<>""
                            Then Moveto Tabela
                                 Moveto [Numero do Lancamento]
                                 Locate LANCTO
                                 If RetVal
                                    Then While LANCTO = [Numero do Lancamento]
                                           [Pedido_Lancamentos] = NUMPED
                                           Skip
                                           If Eot() Then QuitLoop EndIf
                                         EndWhile
                                         Moveto "Answer"
                                 EndIf
                         EndIf     
                         If FINALIZA Then QuitLoop EndIf           
                         LANCTO = [Numero do Lancamento]
                         NUMPED = "" 
                 EndIf   
                 If NUMPED<>""
                    Then NUMPED = NUMPED + ", " + [Numero do Pedido]
                    Else NUMPED = [Numero do Pedido]
                 EndIf
                 Skip
                 If Eot()
                    Then FINALIZA=True
                 EndIf          
               EndWhile
               Do_it!                   
               CleaRall
       EndIf
       
       If VSDGPED=2
          Then If IsAssigned(TabelaRNEI) And IsTable(TabelaRNEI) And Not IsEmpty(TabelaRNEI) 
                  Then {Ask} TyPeIn TabelaRNEI Enter
                       Moveto [Numero da OC        ] TypeIn "_OC"
                       Moveto [Numero do Lancamento] TypeIn "_Ne"      
                       {Ask} TyPeIn Tabela Enter
                       Moveto [Numero da OC        ] TypeIn "_OC"
                       Moveto [NE_Lancamentos      ] TypeIn "Changeto _Ne"
                       Do_It!
                       ClearAll
               EndIf
               
               {Ask} TyPeIn Tabela Enter
               Moveto [Numero do Lancamento] TypeIn "_Nlanc"
               Moveto [Numero da OC_NE     ] TypeIn "Changeto _Nlanc"
               Do_It!
               ClearAll
               
               {Ask} TyPeIn Tabela Enter
               Moveto [Numero do Lancamento] TypeIn "_Nlanc"
               Moveto [OC_Lancamentos      ] TypeIn "Changeto _Nlanc"
               Do_It!
               ClearAll
       EndIf
 OtherWise :      
       ;---- Pedidos ----------------------------------------------------------
       If IsAssigned(TabelaRPEDIT) And IsTable(TabelaRPEDIT) And Not Isempty(TabelaRPEDIT)
          Then {Ask} TypeIn TabelaRPEDIT Enter
               Moveto [Numero da OC         ] TypeIn "_Oc"
               Moveto [Numero do Pedido     ] TypeIn "_Ped"
               Moveto [Codigo do Item       ] TypeIn "_CodI"
               Moveto [Quantidade           ] TypeIn "_Qtd"
               Moveto [Unidade Fiscal       ] TypeIn "_UF"
               Moveto [Preco Unitario       ] TypeIn "_Pru"
               Moveto [Preco Total          ] TypeIn "_Prt"
               {Ask} TypeIn Tabela Enter TypeIn "Fast" Enter
               Moveto [Numero da OC         ] TypeIn "_Oc"
               Moveto [Codigo do Item       ] TypeIn "_CodI"
               Moveto [Numero do Pedido     ] TypeIn "Changeto _Ped"
               Moveto [Pedido_Quantidade    ] TypeIn "Changeto _Qtd"
               Moveto [Pedido_Unidade       ] TypeIn "Changeto _UF"
               Moveto [Pedido_Preco Unitario] TypeIn "Changeto _Pru"
               Moveto [Pedido_Preco Total   ] TypeIn "Changeto _Prt"
               Do_It!
               ClearAll
       EndIf
       
       ;---- Relacionando OC's envolvidas com a NOTA DE ENTRADA ---------------
       {Ask} TypeIn Tabela Enter
       Moveto [Numero do Lancamento] Check
       Moveto [Numero da OC        ] Check
       Do_It!
       ClearAll
       
       If Not IsEmpty("Answer")
          Then LANCTO    = ""
               NUMERO_OC = ""
               FINALIZA  = False
               
               View Tabela
               Coedit "Answer"
               While True
                 If LANCTO<>[Numero do Lancamento] Or FINALIZA
                    Then If NUMERO_OC<>"" And LANCTO<>""
                            Then Moveto Tabela
                                 Moveto [Numero do Lancamento]
                                 Locate LANCTO
                                 If RetVal
                                    Then While LANCTO = [Numero do Lancamento]
                                           [OC_Lancamentos] = NUMERO_OC
                                           Skip
                                           If Eot() Then QuitLoop EndIf
                                         EndWhile
                                         Moveto "Answer"
                                 EndIf
                         EndIf         
                         If FINALIZA Then QuitLoop EndIf       
                         LANCTO    = [Numero do Lancamento]
                         NUMERO_OC = "" 
                 EndIf   
                 If NUMERO_OC<>""
                    Then NUMERO_OC = NUMERO_OC + ", " + [Numero da OC]
                    Else NUMERO_OC = [Numero da OC]
                 EndIf 
                 Skip
                 If Eot()
                    Then FINALIZA=True
                 EndIf          
               EndWhile
               Do_it!                   
               CleaRall
       EndIf 
       
       ;---- Relacionando pedidos envolvidas com a Ordem de Compra ----------- 
       {Ask} TypeIn Tabela Enter
       Moveto [Numero do Lancamento] Check
       Moveto [Numero do Pedido    ] Check
       Do_It!
       ClearAll
       
       If Not IsEmpty("Answer")
          Then LANCTO   = ""
               NUMPED   = ""
               FINALIZA = False
               
               View Tabela
               Coedit "Answer"
               While True
                 If LANCTO<>[Numero do Lancamento] Or FINALIZA
                    Then If NUMPED<>"" And LANCTO<>""
                            Then Moveto Tabela
                                 Moveto [Numero do Lancamento]
                                 Locate LANCTO
                                 If RetVal
                                    Then While LANCTO = [Numero do Lancamento]
                                           [Pedido_Lancamentos] = NUMPED
                                           Skip
                                           If Eot() Then QuitLoop EndIf
                                         EndWhile
                                         Moveto "Answer"
                                 EndIf
                         EndIf     
                         If FINALIZA Then QuitLoop EndIf           
                         LANCTO = [Numero do Lancamento]
                         NUMPED = "" 
                 EndIf   
                 If NUMPED<>""
                    Then NUMPED = NUMPED + ", " + [Numero do Pedido]
                    Else NUMPED = [Numero do Pedido]
                 EndIf
                 Skip
                 If Eot()
                    Then FINALIZA=True
                 EndIf          
               EndWhile
               Do_it!                   
               CleaRall
       EndIf
EndSwitch

EndProc ;Ajusta_Dados()

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
    
If Disparo="OPEN"  
   Then AoCriarShowDialog()
        if refazershowdialog 
           then Campo=CampoAnterior 
                refazershowdialog=false 
        endif   
    
EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9  : Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_EMPRESA"       : Campo="NO"
            Case Campo="TG_DESTINAT"      : Campo="TG_EMPRESA"
            Case Campo="TG_NE"            : Campo="TG_DESTINAT"
            Case Campo="TG_NEI"           : Campo="TG_NE"
            Case Campo="TG_OC"            : Campo="TG_NEI"
            Case Campo="TG_OPERACAO"      : Campo="TG_OC"
            Case Campo="TG_TPDATA"        : Campo="TG_OPERACAO"
            Case Campo="TG_DTINI"         : Campo="TG_TPDATA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_OPCOES"        : Campo="TG_DTFIM"    If VSDGOC<>""           Then Campo="TG_OC"  EndIf
                                                                If Not IsBlank(VSDGNE)  Then Campo="TG_NE"  EndIf
                                                                If Not IsBlank(VSDGNEI) Then Campo="TG_NEI" EndIf            
            Case Campo="TG_OPCOES1"       : Campo="TG_OPERACAO" If VSDGOC<>""           Then Campo="TG_OC"  EndIf
            Case Campo="TG_PED"           : If VSDGOPERACAO = "O"
                                               Then Campo="TG_OPCOES1"
                                               Else Campo="TG_OPCOES"
                                            EndIf
            Case Campo="YES" Or Campo="NO": Campo="TG_EMPRESA"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13: 
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_EMPRESA"  : Campo="TG_DESTINAT"
                    Case Campo="TG_DESTINAT" : Campo="TG_NE"
                    Case Campo="TG_NE"       : Campo="TG_NEI"
                         If Not IsBlank(VSDGNE)
                            Then VSDGOPERACAO = "E" 
                                 VSDGNOMOPERA = "ENTRADA"
                                   
                                 VSDGDESTINAT = ""
                                 VSDGNOMDEST  = ""
                                   
                                 VSDGTPDATA   = "3"
                                 VSDGNOMTPDATA= "INCLUSAO"
                                 
                                 VSDGDTINI    = BlankDate()
                                 VSDGDTFIM    = today()
                                 
                                 Campo="TG_OPCOES"
                         EndIf          
                    Case Campo="TG_NEI"     : Campo="TG_OC"
                       If Not IsBlank(VSDGNEI)
                          Then VSDGOPERACAO = "X" 
                               VSDGNOMOPERA = "XML"
                                 
                               VSDGDESTINAT = ""
                               VSDGNOMDEST  = ""
                                 
                               VSDGTPDATA   = "3"
                               VSDGNOMTPDATA= "INCLUSAO"
                               
                               VSDGDTINI    = BlankDate()
                               VSDGDTFIM    = today()
                               
                               Campo="TG_OPCOES"
                         EndIf         
                    Case Campo="TG_OC" : Campo="TG_OPERACAO"
                         If Not IsBlank(VSDGOC)
                            Then VSDGOPERACAO = "O" 
                                 VSDGNOMOPERA = "ORDEM DE COMPRA"
                                 
                                 VSDGDESTINAT = ""
                                 VSDGNOMDEST  = ""
                                 
                                 VSDGTPDATA   = "3"
                                 VSDGNOMTPDATA= "INCLUSAO"
                               
                                 VSDGDTINI    = BlankDate()
                                 VSDGDTFIM    = today()
                                 
                                 Campo="TG_OPCOES1"
                                 CampoAnterior=Campo
                                 wcol             =80
                                 wcol1            =35
                            Else wcol             =35
                                 wcol1            =80
                                 CampoAnterior="TG_OPERACAO"              
                         EndIf
                         refazershowdialog=true
                         AcceptDialog
                    Case Campo="TG_OPERACAO" : Campo="TG_TPDATA"
                         VSDGOPERACAO = ControlValue("TG_OPERACAO")
                         Switch
                            Case VSDGOPERACAO = "O" : VSDGNOMOPERA = "ORDEM DE COMPRA"
                            Case VSDGOPERACAO = "X" : VSDGNOMOPERA = "XML"
                            Otherwise               : VSDGNOMOPERA = "ENTRADA"
                                                      VSDGOPERACAO = "E"
                         EndSwitch                       
                         CampoAnterior    = Campo
                         If VSDGOPERACAO = "O"
                            Then wcol             = 80
                                 wcol1            = 35
                            Else wcol             = 35
                                 wcol1            = 80 
                         EndIf
                         refazershowdialog=true
                         AcceptDialog
                    Case Campo="TG_TPDATA"   : Campo="TG_DTINI"
                         VSDGTPDATA=ControlValue("TG_TPDATA")
                         Switch
                           Case VSDGTPDATA="1" : If VSDGOPERACAO = "O"
                                                    Then VSDGNOMTPDATA="ENTREGA"
                                                    Else VSDGNOMTPDATA="ENTRADA" 
                                                 EndIf   
                           Case VSDGTPDATA="2" : VSDGNOMTPDATA="EMISSŽO"
                           OtherWise           : VSDGTPDATA="3"  VSDGNOMTPDATA="INCLUSÇO"
                         EndSwitch
                    Case Campo="TG_DTINI"      : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"      : If VSDGOPERACAO = "O"
                                                    Then Campo="TG_OPCOES1"
                                                    Else Campo="TG_OPCOES"
                                                 EndIf
                    Case Campo="TG_OPCOES"    Or   
                         Campo="TG_OPCOES1"    : Campo="TG_PED"
                    Case Campo="TG_PED"        : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_TPDATA":
    If VSDGOPERACAO = "O"
       Then MSG_CAMPO="1=ENTREGA  2=EMISSŽO  3=INCLUSÇO"
       Else MSG_CAMPO="1=ENTRADA  2=EMISSŽO  3=INCLUSÇO"
    EndIf   
  Case Campo="TG_OPERACAO":
    MSG_CAMPO="E=Entrada, X=XML, O=Ordem de Compra"
  Case Campo="TG_OPCOES":
    MensagemCheckBoxes()
  Case Campo="TG_PED" : 
    MSG_CAMPO="Com Pedidos ou Sem Pedidos?"
  Case Campo="":
     MSG_CAMPO=""
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()
SYS_VALOR()

VSDGEMPRESA  = ""
VSDGDESTINAT = ""
VSDGTPDATA   =""
VSDGDTINI    = BlankDate()
VSDGDTFIM    = BlankDate()

Array VSDGOPCAO1[3]

VSDGOPCAO1[1] =false
VSDGOPCAO1[2] =false
VSDGOPCAO1[3] =false

Array VSDGOPCAO[4]

VSDGOPCAO[1] =false
VSDGOPCAO[2] =false
VSDGOPCAO[3] =false
VSDGOPCAO[4] =false

If SYS_CODIGO_CLIENTE="0345" Or  SYS_CODIGO_CLIENTE="0377"
   Then VSDGPED=1
   Else VSDGPED=2
EndIf   

ModeloRelatoriosCarregaLista()
VSDGCODMODELO="01"

refazershowdialog=false
wcol             =35
wcol1            =80

While True
  MSG_ABORTO=""
  ShowDialog "Rela‡Æo de NE/OC/XML/Conferˆncia/PV" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
  @ 05,05   Height 17 Width 72

    Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA"    To VSDGEMPRESA
    Accept @ 01,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 02,00 "Pessoa"  For "TG_DESTINAT"
    Accept @ 03,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_DESTINAT" To VSDGDESTINAT
    Accept @ 03,08 Width 26 "A20" Picture "!*!" Tag "TG_NOMDEST"  To VSDGNOMDEST

    Label  @ 04,00 "Nota Entrada"  For "TG_NE"
    Accept @ 05,01 Width 09 "A6"  Picture "#*#" Tag "TG_NE" To VSDGNE
    Accept @ 05,09 Width 25 "A22" Picture "#*#" Tag "TG_NOMNE" To VSDGNOMNE

    Label  @ 06,00 "Nota XML"  For "TG_NEI"
    Accept @ 07,01 Width 33 "A6"  Picture "#*#" Tag "TG_NEI" To VSDGNEI
    Accept @ 07,09 Width 25 "A22" Picture "#*#" Tag "TG_NOMNEI" To VSDGNOMNEI

    Label  @ 08,00 "Ordem de Compra"  For "TG_OC"
    Accept @ 09,01 Width 33 "A6"  Picture "#*#" Tag "TG_OC" To VSDGOC
    Accept @ 09,09 Width 25 "A22" Picture "#*#" Tag "TG_NOMOC" To VSDGNOMOC

    Label  @ 10,00 "Origem"  For "TG_OPERACAO"
    Accept @ 11,04 Width 04 "A1"  Picture "E,X,O" Tag "TG_OPERACAO"  To VSDGOPERACAO
    Accept @ 11,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMOPERACAO" To VSDGNOMOPERA   

    Label  @ 00,35 "Op‡äes de Datas" For "TG_TPDATA"
    Accept @ 01,39 Width 04 "A1"  Picture "1,2,3"  Tag "TG_TPDATA"     To VSDGTPDATA
    Accept @ 01,44 Width 25 "A18" Picture "!*!"  Tag "TG_NOMOTPDATA" To VSDGNOMTPDATA

    Label  @ 02,35 "Per¡odo Referente de" For "TG_DTINI"
    Accept @ 03,38 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 03,51 "at‚" For "TG_DTFIM"
    Accept @ 03,56 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Label  @ 05,wcol "Op‡”es de dados " For "TG_OPCOES"
    CheckBoxes @05,wcol Height 9 Width 34 Tag "TG_OPCOES"
    "S¢ Documentos com OC         " to VSDGOPCAO[1], ;NÆo aparece quando ‚ solicitado OC 
    "S¢ Documentos com diferen‡a  " to VSDGOPCAO[2], ;VSDGOPCAO1[1]
    "S¢ itens com diferen‡a       " to VSDGOPCAO[3], ;VSDGOPCAO1[2]
    "Incluir conferˆncia NE/XML   " to VSDGOPCAO[4]  ;VSDGOPCAO1[3] 

    Label  @ 05,wcol1 "Op‡”es de dados " For "TG_OPCOES1"
    CheckBoxes @05,wcol1 Height 9 Width 34 Tag "TG_OPCOES1"
    "S¢ Documentos com diferen‡a  " to VSDGOPCAO1[1],
    "S¢ itens com diferen‡a       " to VSDGOPCAO1[2],
    "Incluir conferˆncia OC       " to VSDGOPCAO1[3]
    
    Label @ 10,35 "Mostrar Pedidos" For "TG_PED"
    RadioButtons @ 10,35 Height 2 Width 20
      "Com Pedidos",
      "Sem Pedidos"
        Tag "TG_PED"
        To VSDGPED

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

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  if refazershowdialog then loop endif

  If IsBlank(VSDGDTFIM)
     Then Mensagem("Data Final Invalida !")
          Loop
  EndIf

  DISPOSITIVO()
  If OK="" Then Loop EndIf

  If VSDGOPERACAO<>"O" And VSDGOC="<>"
     Then Mensagem("Informa a origem O para Ordem de Compra!")
          Loop
  EndIf

  AGUARDE("Aguarde, gerando o relat¢rio")
  Tabela=Cria_Temp(PrivDir())
  copy "\\Base\\Sistemas\\Estoque\\Rm_0600" Tabela
  empty(Tabela)

  Seleciona()
     
  If MSG_ABORTO<>""
     Then Exclusao_Tabelas()
          MENSAGEM("Processo Abortado!")
          Loop
  EndIf 
      
  If IsEmpty(Tabela)
     Then Exclusao_Tabelas()
          MENSAGEM("N„o existem registros a processar")
          Loop
  EndIf
  Ajusta_Dados()
  Verifica_Erros()
    
  Impressao_Orientacao="Paisagem"
  If VSDGPED=1
     Then CopyReport "\\Base\\Sistemas\\Estoque\\Rm_0600" "1" Tabela "1"
          IMPRIREL(Tabela,"1")
     Else CopyReport "\\Base\\Sistemas\\Estoque\\Rm_0600" "R" Tabela "R"
          IMPRIREL(Tabela,"R")
  EndIf
  
  Exclusao_Tabelas()
EndWhile
ClearAll
Release Vars All
Release Procs All
