; Em 17.05.2012
; Programa para corrigir os registros do PEDIDOG, onde quando estes sÆo faturados,
; ficam duplicados! 

AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
Debug
SetDir "\\Sistemas\\Vendas"
ConfGeral("Deseja efetuar o backup dos arquivos envolvidos ?//"+
          "PedidoG")
If Ok="S"
   Then Copy "PedidoG" "Bk_PedG"
EndIf
ClearAll

NR=NRecords("Pedidog")

{View} {Pedidog} Window Handle Current to TabOrig
Window Resize GetWindow() To 8, 80
 
{View} {Pedidog} Window Handle Current to TabPesq 
Window Resize GetWindow() To 10, 80
Window Move GetWindow() To 10, 0 

CoEditKey

Window Select TabOrig   
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, Atualizando Dados"+BARRA_STRING) 
  
  PEDIDO    =[Numero do Pedido]
  ITEMPEDIDO=[Item do Pedido  ]
  ITEM      =[Codigo do Item  ]
  
  Window Select TabPesq
  Moveto [Numero do Pedido]
  Home
  Locate PEDIDO
  If RetVal
     Then While [Numero do Pedido]=PEDIDO

            If [Codigo do Item]=ITEM And [Item do Pedido]<>ITEMPEDIDO
               Then QTD  =[Quantidade         ]
                    QTDF =[Quantidade Faturada]
                    QTD1 =[Qtd1               ]
                    QTD2 =[Qtd2               ]
                    QTD3 =[Qtd3               ]
                    QTD4 =[Qtd4               ]
                    QTD5 =[Qtd5               ]
                    QTD6 =[Qtd6               ]
                    QTD7 =[Qtd7               ]
                    QTD8 =[Qtd8               ]
                    QTD9 =[Qtd9               ]
                    QTD10=[Qtd10              ]
                    QTD11=[Qtd11              ]
                    QTD12=[Qtd12              ]
                    
                    Window Select TabOrig   
                    [Quantidade         ]=[Quantidade         ]+QTD 
                    If Not IsBlank(QTD1)  Then [Qtd1] =[Qtd1]+QTD1   EndIf
                    If Not IsBlank(QTD2)  Then [Qtd2] =[Qtd2]+QTD2   EndIf
                    If Not IsBlank(QTD3)  Then [Qtd3] =[Qtd3]+QTD3   EndIf
                    If Not IsBlank(QTD4)  Then [Qtd4] =[Qtd4]+QTD4   EndIf
                    If Not IsBlank(QTD5)  Then [Qtd5] =[Qtd5]+QTD5   EndIf
                    If Not IsBlank(QTD6)  Then [Qtd6] =[Qtd6]+QTD6   EndIf
                    If Not IsBlank(QTD7)  Then [Qtd7] =[Qtd7]+QTD7   EndIf
                    If Not IsBlank(QTD8)  Then [Qtd8] =[Qtd8]+QTD8   EndIf
                    If Not IsBlank(QTD9)  Then [Qtd9] =[Qtd9]+QTD9   EndIf
                    If Not IsBlank(QTD10) Then [Qtd10]=[Qtd10]+QTD10 EndIf
                    If Not IsBlank(QTD11) Then [Qtd11]=[Qtd11]+QTD11 EndIf
                    If Not IsBlank(QTD12) Then [Qtd12]=[Qtd12]+QTD12 EndIf

                    If [Quantidade]>0
                       Then [Preco Total]=[Quantidade]*([Preco Unitario]-[Valor Desconto Unitario])
                       Else If [Preco Unitario]>0
                               Then [Preco Total]=[Preco Unitario]-[Valor Desconto Unitario]
                            EndIf
                    EndIf
                    If [Aliquota Reduzida BCICMS]>0 And
                       [Aliquota de ICMS        ]>0
                       Then [Valor do ICMS]=Round((([Preco Total]-(([Preco Total]*[Aliquota Reduzida BCICMS])/100))*[Aliquota de ICMS])/100,2)
                       Else [Valor do ICMS]=Round(([Preco Total]*[Aliquota de ICMS])/100,2)
                    EndIf
                    If [Tributacao de IPI]<>"D"
                       Then If Not IsBlank([Tributacao de IPI])
                               Then [Aliquota de IPI]=BlankNum()
                                    [Valor do IPI   ]=BlankNum()
                            EndIf
                    EndIf
                    If [Aliquota de IPI        ]>0
                       Then [Valor do IPI]=Round(([Preco Total]*[Aliquota de IPI])/100,2)
                    EndIf
                    UnLockRecord

                    Window Select TabPesq
                    Del
            EndIf    
     
            Skip
            If EOT() Then QuitLoop EndIf     
          EndWhile
  EndIf
  
  Window Select TabOrig   
EndScan
Do_It!
ClearAll

;SetDir "\\Sistemas\\Cadastro"
Mensagem("Fim do Processo!")
