;** PC_Saldo *******************************************************************
;*  Conferencia/Saldo Programacao/Corte                                        *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 14/04/2008 por Anivel Augusto Rodrigues
;Ultima Alteracao:   /  /
;Motivo Alteracao:

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona()
Private i

ClearAll

{Ask} {Cfacc}
Moveto [Numero_Corte] Example "num" TypeIn ", ~NPROG.."
{Ask} {CfacRI} Check
Moveto [Numero_Corte] Example "num"
Do_It!
ClearAll

CoEdit Tabela,"Answer"
Scan

  Moveto Tabela
  End
  Down
  [Numero_Programacao   ]=[Answer->Numero_Corte         ]
  [Codigo do Item       ]=[Answer->Codigo do Item       ]
  [Descricao do Item    ]=[Answer->Descricao do Item    ]
  [Referencia           ]=[Answer->Referencia           ]
  [Unidade Fiscal       ]=[Answer->Unidade Fiscal       ]
  [Quantidade Programada]=[Answer->Quantidade Programada]
  UnLockRecord

  Moveto "Answer"

EndScan
Do_It!
ClearAll

{Ask} {PCfacc}
Moveto [Numero_Producao_Corte   ] Example "numprod"
Moveto [Numero_Programacao_Corte] Check TypeIn "~NPROG.."
{Ask} {PCfacRI} Check
Moveto [Numero_Producao_Corte   ] Example "numprod"
Do_It!
ClearAll

OBSCONF="Producao Corte Atual = "+NPROD+", Outra(s) = "

NUMPROD_ANTERIOR="******"
CoEdit Tabela,"Answer"
Scan

  If [Numero_Producao_Corte]<>NUMPROD_ANTERIOR And
     [Numero_Producao_Corte]<>NPROD
     Then If NUMPROD_ANTERIOR="******"
             Then OBSCONF=OBSCONF+[Numero_Producao_Corte]
             Else OBSCONF=OBSCONF+", "+[Numero_Producao_Corte]
          EndIf
          NUMPROD_ANTERIOR=[Numero_Producao_Corte]
  EndIf

  Moveto Tabela
  Moveto [Numero_Programacao]
  Locate [Answer->Numero_Programacao_Corte],[Answer->Codigo do Item]
  If Not RetVal
     Then
          End
          Down
          [Numero_Programacao   ]=[Answer->Numero_Programacao_Corte]
          [Codigo do Item       ]=[Answer->Codigo do Item       ]
          [Descricao do Item    ]=[Answer->Descricao do Item    ]
          [Referencia           ]=[Answer->Referencia           ]
          [Unidade Fiscal       ]=[Answer->Unidade Fiscal       ]
  EndIf
  If [Answer->Numero_Producao_Corte]=NPROD
     Then [Quantidade Prod Atual   ]=[Quantidade Prod Atual   ]+[Answer->Quantidade Produzida]
     Else [Quantidade Prod Anterior]=[Quantidade Prod Anterior]+[Answer->Quantidade Produzida]
  EndIf
  UnLockRecord

  Moveto "Answer"

EndScan
Do_It!
ClearAll

EndProc   ; (Seleciona)

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************

AGUARDE("Aguarde, Processando Dados")

Tabela=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Faccao\\Rm_0105" Tabela
Empty(Tabela)

Seleciona()

If IsEmpty(Tabela)
   Then MENSAGEM("N„o existem registros a processar")
   Else IMPRIREL(Tabela,"1")
EndIf

Delete Tabela

LimpAguarde()
ClearAll
Release Vars OBSCONF,NUMPROD_ANTERIOR
Release Procs Seleciona
