;******************************************************************************
;* Desenvolvido: 14/08/2009 por Anivel Augusto Rodrigues                      *
;* Modificado  :   /  /     por                                               *
;* Motivo      :                                                              *
;******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

Mensagem("Pacote 2008.A/2009.G ! (Janeiro/2008/Julho/2009;)// //"+
         "Rotina Estoque//"+
         "//Tabelas do Sistema e Base ser„o atualizadas !!!//"+
         "// Este processo deve ser executado sem que outros Usuarios//"+
         "// estejam utilizando o Sistema, Ok !!!")


While True
  If Verifica_Usuario()
     Then QuitLoop
     Else ConfGeral("Comunicar os usuarios !// //Deseja Continuar com Atualizacao ?")
          If OK<>"S"
             Then Exit
          EndIf
  EndIf
EndWhile


;*******************************************************************************
;Rotina Corre‡Æo de Tabelas                                                    *
;*******************************************************************************
Proc Correcao_Tabelas()

If IsTable("Notaec")
	 Then
				RecolhiNovo=False

        Moveto [Field Name]
        Locate "Recolhimento Substituicao"
        If Not RetVal
					 Then
								RecolhiNovo=True

								Moveto [Field Name]
								Locate "BC Substituicao Destinat"
								If RetVal
									 Then Ins
									 Else End Down
								EndIf
								"Recolhimento Substituicao"    Enter  "A1"  Enter
        EndIf

				SubsDesNovo=False
        {Modify} {Restructure} {Notaec}
        Moveto [Field Name]
        Locate "BC Substituicao Destinat"
        If Not RetVal
					 Then
								SubsDesNovo=True
                End Down
                "BC Substituicao Destinat"     Enter  "$"  Enter
                "Vr Substituicao Destinat"     Enter  "$"  Enter
        EndIf
				Do_It! ClearImage
        {Tools} {Copy} {JustFamily} TypeIn "\\BASE\\Sistemas\\Estoque\\Notaec" Enter TypeIn "Notaec" Enter {Replace}

				If RecolhiNovo
           Then CoEdit "Notaec"
                Scan
                  [Recolhimento Substituicao]="1"
                EndScan
                Do_It!
                ClearAll
        EndIf

				If SubsDesNovo=True
           Then Coedit "NotaEc"
                Scan

                  Switch
                    Case [Recolhimento Substituicao]="1" And
                         [Valor BCSubstiuticao ICMS]>0:
                      [Recolhimento Substituicao]="1"
                    Case [Recolhimento Substituicao]="2":
                      [Recolhimento Substituicao]="2"
                    OtherWise:
                      [Recolhimento Substituicao]="0"
                  EndSwitch

                EndScan
                Do_It!
                ClearAll
        EndIf

EndIf

If Tabela="Notaei"  Then  
   NR = NRecords("Notaec")
   CoEdit "Notaei", "Notaec"
   Scan

     Barra(NR, RecNo())
     Aguarde("Aguarde, Processando NOTAEC"+BARRA_STRING)

     Moveto "Notaei"
     Moveto [Numero do Lancamento]
     Locate [Notaec->Numero do Lancamento]
     If RetVal
        Then While [Numero do Lancamento]=[Notaec->Numero do Lancamento]

							 If IsBlank([CFO])
									Then
											 ;* Seta Variaveis PegaCFOP
											 Checa_CFOP 	="E"
											 CFO_C				=[Notaec->CFO 			]
											 CFOP_TPITEM	=[Tipo do Item			]
											 CFOP_TRIBICMS=[Tributacao de ICMS]
											 Play "\\Sistemas\\Exporta\\PegaCFOP"
											 [CFO 			 ]=CFO_C
							 EndIf

               Skip
               If EOT() Then QuitLoop EndIf
             EndWhile
     EndIf
     Moveto "Notaec"        

   EndScan
   Do_It!
   ClearAll
EndIf

EndProc

;------------------------------------------------------------------------------
Aguarde("Atualizando Sistema")
Password("t01avivcl")
Password("FechaSys")

View "SysTable"
SYS_CODIGO_CLIENTE = [Codigo do Cliente   ]
ClearAll
;------------------------------------------------------------------------------

;****************** Estoque/FECHANO ********************
DiretorioFechAno  ="\\FechAno"
Modulo            ="\\Estoque"
Diretorios_FechAno(DiretorioFechAno)
For i From 1 to DynArraySize(Array_Diretorios)
  DiretorioFA=DiretorioFechAno+"\\"+Array_Diretorios[i]+Modulo
  If DirExists(DiretorioFA)=0 Then Loop EndIf

  Lista_Diretorio(DiretorioFA)
  For j From 1 to DynArraySize(Array_Lista_Diretorios)
    Diretorio=DiretorioFA+"\\"+Array_Lista_Diretorios[j]+"\\"
    Aguarde("Atualizando Pasta: "+Diretorio)
    {Tools} {More} {Directory} TypeIn Diretorio Enter

    Correcao_Tabelas()
  EndFor
EndFor
;------------------------------------------------------------------------------

;****************** Estoque/FECHAMES ********************
Diretorio="\\Sistemas\\Estoque\\"
Diretorios_Fechames_C(Diretorio)
Array_Diretorios[1]=""
For i From 1 to DynArraySize(Array_Diretorios)
  If i=1
     Then Diretorio="\\Sistemas\\Estoque"
     Else Diretorio="\\Sistemas\\Estoque\\Fechames\\"+Array_Diretorios[i]
  EndIf
  Aguarde("Atualizando Pasta: "+Diretorio)
  {Tools} {More} {Directory} TypeIn Diretorio Enter

  Correcao_Tabelas()

EndFor

;------------------------------------------------------------------------------

{Tools} {More} {Directory} {\\Sistemas\\Cadastro\\}
UnPassword("t01avivcl")
LimpAguarde()
Mensagem("Rotina Estoque//"+
         "//Tabelas do Sistema e Base foram atualizadas !!!//"+
         "// // Execute a rotina de Reestrutura‡„o Completa "+
         "// // Obrigado Vise Inform tica [SIM].")

Release Vars Diretorio, Array_Diretorios, i
Release Procs Correcao_Tabelas
