516 lines
12 KiB
Plaintext
516 lines
12 KiB
Plaintext
DEFINE CLASS export_sf_access AS custom
|
|
cPathKIT = "c:\bilant\"
|
|
cPathTempo = "c:\Temp\"
|
|
cBilant = "date1"
|
|
cCPP = "date2"
|
|
cDateInf = "date3"
|
|
cActive = "date4"
|
|
cFirma = "Date5"
|
|
&& ------------------------------INCEPUT: Init ------------------------------
|
|
*!* Procedura: Init
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 10:56
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE INIT
|
|
LPARAMETERS tcPathKIT, tcPathTempo
|
|
|
|
IF TYPE('tcPathKIT')='C'
|
|
THIS.cPathKIT = ADDBS(tcPathKIT)
|
|
ENDIF
|
|
THIS.Init_Directoare(THIS.cPathKIT)
|
|
|
|
IF TYPE('tcPathTempo')='C'
|
|
THIS.cPathTempo = ADDBS(tcPathTempo)
|
|
ENDIF
|
|
THIS.Init_Directoare(THIS.cPathTempo)
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Init ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Error ------------------------------
|
|
*!* Functia: Error
|
|
*!* Parametri: tnError, tcProcedura, tcMesaj
|
|
*!* Data/Ora generarii: 17/02/2004 11:35
|
|
*!* Autor: MARIUS.MUTU
|
|
FUNCTION ERRORH
|
|
LPARAMETERS tnError, tcProcedura, tnLinieMesaj
|
|
|
|
lcErrorNumber = ALLTRIM(STR(tnError))
|
|
lcProcedura = ALLTRIM(tcProcedura)
|
|
lcLinieMesaj = ALLTRIM(STR(tnLinieMesaj))
|
|
lcMesaj = MESSAGE(1)
|
|
lcText = "Eroarea nr. " + lcErrorNumber + CHR(13) + CHR(10) +;
|
|
"Procedura: " + lcProcedura + CHR(13) + CHR(10) +;
|
|
"Mesaj: " + lcMesaj + CHR(13) + CHR(10) +;
|
|
"Linia: " + lcLinieMesaj
|
|
= MESSAGEBOX(lcText)
|
|
|
|
|
|
ENDFUNC
|
|
&& ------------------------------SFARSIT: Error ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Init_Directoare ------------------------------
|
|
*!* Procedura: Init_Directoare
|
|
*!* Parametri: tcPath
|
|
*!* Data/Ora generarii: 17/02/2004 10:47
|
|
*!* Autor: MARIUS.MUTU
|
|
|
|
PROCEDURE Init_Directoare
|
|
LPARAMETERS tcPath
|
|
|
|
lcPath = ADDBS(tcPath)
|
|
|
|
IF !DIRECTORY(lcPath)
|
|
MD (lcPath)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Init_Directoare ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Copie_Fisiere_Vide ------------------------------
|
|
*!* Procedura: Copie_Fisiere_Vide
|
|
*!* Parametri: tcSPath, tcDPath, tcFileName
|
|
*!* Data/Ora generarii: 17/02/2004 11:07
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Copie_Fisiere_Vide
|
|
LPARAMETERS tcSPath, tcDPath, tcFileName
|
|
|
|
IF !DIRECTORY(tcSPath)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
IF !DIRECTORY(tcDPath)
|
|
THIS.Init_Directoare(tcDPath)
|
|
ENDIF
|
|
|
|
IF EMPTY(tcFileName)
|
|
lcFileName = "*.*"
|
|
ELSE
|
|
lcFileName = ALLTRIM(tcFileName)+".*"
|
|
ENDIF
|
|
|
|
lcSFile = ADDBS(tcSPath) + lcFileName
|
|
lcDFile = ADDBS(tcDPath) + lcFileName
|
|
|
|
COPY FILE (lcSFile) TO (lcDFile)
|
|
|
|
RETURN .T.
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Copie_Fisiere_Vide ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Completeaza_Date_Bilant ------------------------------
|
|
*!* Procedura: Completeaza_Date_Bilant
|
|
*!* Parametri: tcAliasBilant
|
|
*!* Data/Ora generarii: 17/02/2004 11:12
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Completeaza_Date_Bilant
|
|
LPARAMETERS tcAliasBilant
|
|
|
|
LOCAL lnNrRanduri, lcBilant, lcFisBilant, loBilant, llUsed
|
|
lnNrRanduri = 34
|
|
|
|
lcBilant = ALLTRIM(THIS.cBilant)
|
|
lcFisBilant = ADDBS(THIS.cPathKIT) + lcBilant + ".dbf"
|
|
|
|
IF !FILE(lcFisBilant)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
llUsed = .T.
|
|
IF !USED(lcBilant)
|
|
llUsed = .F.
|
|
USE (lcFisBilant) IN 0 ALIAS (lcBilant)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF USED('tBilant')
|
|
USE IN tBilant
|
|
ENDIF
|
|
|
|
SELECT PADL(ALLTRIM(a.nr),2,"0") AS RAND, a.suma2 AS suma1, a.suma AS suma2 ;
|
|
FROM (tcAliasBilant) a;
|
|
WHERE VAL(a.nr)!=0 ;
|
|
INTO CURSOR tBilant
|
|
|
|
|
|
|
|
|
|
SELECT (lcBilant)
|
|
SCATTER NAME loBilant BLANK
|
|
|
|
lcOldError = ON("error")
|
|
ON ERROR * && daca lipsesc coloane din tabelul (lcActive) nu procesez eroarea
|
|
|
|
SELECT tBilant
|
|
SCAN
|
|
lcVar1 = "loBilant.F10_"+PADL(ALLTRIM(RAND),3,'0')+'1'
|
|
&lcVar1 = suma1
|
|
|
|
lcVar2 = "loBilant.F10_"+PADL(ALLTRIM(RAND),3,'0')+'2'
|
|
&lcVar2 = suma2
|
|
ENDSCAN
|
|
|
|
ON ERROR &lcOldError
|
|
|
|
SELECT (lcBilant)
|
|
GATHER NAME loBilant
|
|
|
|
USE IN tBilant
|
|
|
|
IF !llUsed
|
|
USE IN (lcBilant)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Completeaza_Date_Bilant ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Completeaza_Date_Cpp ------------------------------
|
|
*!* Procedura: Completeaza_Date_Cpp
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 11:12
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Completeaza_Date_Cpp
|
|
LPARAMETERS tcAliasCPP
|
|
|
|
LOCAL lnNrRanduri, lcCPP, lcFisCPP, loCPP, llUsed
|
|
lnNrRanduri = 63
|
|
|
|
lcCPP = ALLTRIM(THIS.cCPP)
|
|
lcFisCPP = ADDBS(THIS.cPathKIT) + lcCPP + ".dbf"
|
|
|
|
IF !FILE(lcFisCPP)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
llUsed = .T.
|
|
IF !USED(lcCPP)
|
|
llUsed = .F.
|
|
USE (lcFisCPP) IN 0 SHARED ALIAS (lcCPP)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF USED('tCPP')
|
|
USE IN tCPP
|
|
ENDIF
|
|
|
|
SELECT PADL(ALLTRIM(a.RAND),2,"0") AS RAND, a.sumai AS suma1, a.sumac AS suma2 ;
|
|
FROM (tcAliasCPP) a;
|
|
WHERE VAL(a.RAND)!=0 ;
|
|
INTO CURSOR tCPP
|
|
|
|
|
|
|
|
lcOldError = ON("error")
|
|
ON ERROR * && daca lipsesc coloane din tabelul (lcActive) nu procesez eroarea
|
|
|
|
|
|
SELECT (lcCPP)
|
|
SCATTER NAME loCPP BLANK
|
|
|
|
SELECT tCPP
|
|
SCAN
|
|
lcVar1 = "loCPP.F20_"+PADL(ALLTRIM(RAND),3,'0')+'1'
|
|
&lcVar1 = suma1
|
|
|
|
lcVar2 = "loCPP.F20_"+PADL(ALLTRIM(RAND),3,'0')+'2'
|
|
&lcVar2 = suma2
|
|
ENDSCAN
|
|
|
|
ON ERROR &lcOldError
|
|
|
|
SELECT (lcCPP)
|
|
GATHER NAME loCPP
|
|
|
|
USE IN tCPP
|
|
|
|
IF !llUsed
|
|
USE IN (lcCPP)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Completeaza_Date_Cpp ------------------------------
|
|
|
|
|
|
&& ------------------------------INCEPUT: Completeaza_Date_Date_informative ------------------------------
|
|
*!* Procedura: Completeaza_Date_Date_informative
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 11:13
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Completeaza_Date_Date_informative
|
|
LPARAMETERS tcAliasDateInf
|
|
|
|
LOCAL lnNrRanduri, lcDateInf, lcFisDateInf, loDateInf, llUsed
|
|
lnNrRanduri = 22
|
|
|
|
lcDateInf = ALLTRIM(THIS.cDateInf)
|
|
lcFisDateInf = ADDBS(THIS.cPathKIT) + lcDateInf + ".dbf"
|
|
|
|
|
|
IF !FILE(lcFisDateInf)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
llUsed = .T.
|
|
IF !USED(lcDateInf)
|
|
llUsed = .F.
|
|
USE (lcFisDateInf) IN 0 SHARED ALIAS (lcDateInf)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF USED('tDateInf1')
|
|
USE IN tDateInf1
|
|
ENDIF
|
|
IF USED('tDateInf2')
|
|
USE IN tDateInf2
|
|
ENDIF
|
|
|
|
lcAliasDateInf = ALLTRIM(tcAliasDateInf)
|
|
lcAliasDateInf1 = lcAliasDateInf+"1R"
|
|
lcAliasDateInf2 = lcAliasDateInf+"2R"
|
|
|
|
|
|
SELECT PADL(ALLTRIM(a.RAND),2,"0") AS RAND, a.unitati AS suma1, a.sume AS suma2 ;
|
|
FROM (lcAliasDateInf1) a;
|
|
WHERE VAL(a.RAND)!=0 ;
|
|
INTO CURSOR tDateInf1
|
|
|
|
SELECT PADL(ALLTRIM(a.RAND),2,"0") AS RAND, a.sold AS suma1, a.col2 AS suma2, a.col3 AS suma3 ;
|
|
FROM (lcAliasDateInf2) a ;
|
|
WHERE VAL(a.RAND)!=0 ;
|
|
INTO CURSOR tDateInf2
|
|
|
|
|
|
|
|
*** DATEINF1
|
|
SELECT (lcDateInf)
|
|
SCATTER NAME loDateInf BLANK
|
|
|
|
lcOldError = ON("error")
|
|
ON ERROR * && daca lipsesc coloane din tabelul (lcActive) nu procesez eroarea
|
|
|
|
SELECT tDateInf1
|
|
SCAN
|
|
lcVar1 = "loDateInf.F30_"+PADL(ALLTRIM(RAND),3,'0')+'1'
|
|
&lcVar1 = suma1
|
|
|
|
lcVar2 = "loDateInf.F30_"+PADL(ALLTRIM(RAND),3,'0')+'2'
|
|
&lcVar2 = suma2
|
|
ENDSCAN
|
|
|
|
ON ERROR &lcOldError
|
|
|
|
SELECT (lcDateInf)
|
|
GATHER NAME loDateInf
|
|
|
|
USE IN tDateInf1
|
|
|
|
|
|
*** DATEINF2
|
|
|
|
lcOldError = ON("error")
|
|
ON ERROR * && daca lipsesc coloane din tabelul (lcActive) nu procesez eroarea
|
|
|
|
SELECT tDateInf2
|
|
SCAN
|
|
lcVar1 = "loDateInf.F30_"+PADL(ALLTRIM(RAND),3,'0')+'1'
|
|
&lcVar1 = suma1
|
|
|
|
lcVar2 = "loDateInf.F30_"+PADL(ALLTRIM(RAND),3,'0')+'2'
|
|
&lcVar2 = suma2
|
|
|
|
lcVar3 = "loDateInf.F30_"+PADL(ALLTRIM(RAND),3,'0')+'3'
|
|
&lcVar3 = suma3
|
|
ENDSCAN
|
|
|
|
|
|
ON ERROR &lcOldError
|
|
|
|
SELECT (lcDateInf)
|
|
GATHER NAME loDateInf
|
|
|
|
USE IN tDateInf2
|
|
|
|
IF !llUsed
|
|
USE IN (lcDateInf)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Completeaza_Date_Date_informative ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Completeaza_Date_Active_Imobilizate ------------------------------
|
|
*!* Procedura: Completeaza_Date_Active_Imobilizate
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 11:13
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Completeaza_Date_Active_Imobilizate
|
|
LPARAMETERS tcAliasActive
|
|
|
|
LOCAL lnNrRanduri, lcActive, lcFisActive, loActive, llUsed
|
|
lnNrRanduri = 33
|
|
|
|
lcActive = ALLTRIM(THIS.cActive)
|
|
lcFisActive = ADDBS(THIS.cPathKIT) + lcActive + ".dbf"
|
|
|
|
IF !FILE(lcFisActive)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
llUsed = .T.
|
|
IF !USED(lcActive)
|
|
llUsed = .F.
|
|
USE (lcFisActive) IN 0 SHARED ALIAS (lcActive)
|
|
ENDIF
|
|
|
|
|
|
|
|
IF USED('tActive')
|
|
USE IN tActive
|
|
ENDIF
|
|
|
|
SELECT PADL(ALLTRIM(a.nr),2,"0") AS RAND, a.soldi AS suma1, a.crestere AS suma2, a.reducere AS suma3, a.casare AS suma4, a.soldf AS suma5 ;
|
|
FROM (tcAliasActive) a ;
|
|
WHERE VAL(a.nr)!=0 ;
|
|
INTO CURSOR tActive
|
|
|
|
|
|
lcOldError = ON("error")
|
|
ON ERROR * && daca lipsesc coloane din tabelul (lcActive) nu procesez eroarea
|
|
|
|
SELECT (lcActive)
|
|
SCATTER NAME loActive BLANK
|
|
|
|
SELECT tActive
|
|
SCAN
|
|
lcVar1 = "loActive.F40_"+PADL(ALLTRIM(RAND),3,'0')+'1'
|
|
&lcVar1 = suma1
|
|
|
|
lcVar2 = "loActive.F40_"+PADL(ALLTRIM(RAND),3,'0')+'2'
|
|
&lcVar2 = suma2
|
|
|
|
lcVar3 = "loActive.F40_"+PADL(ALLTRIM(RAND),3,'0')+'3'
|
|
&lcVar3 = suma3
|
|
|
|
lcVar4 = "loActive.F40_"+PADL(ALLTRIM(RAND),3,'0')+'4'
|
|
&lcVar4 = suma4
|
|
|
|
lcVar5 = "loActive.F40_"+PADL(ALLTRIM(RAND),3,'0')+'5'
|
|
&lcVar5 = suma5
|
|
|
|
ENDSCAN
|
|
|
|
ON ERROR &lcOldError
|
|
|
|
SELECT (lcActive)
|
|
GATHER NAME loActive
|
|
|
|
USE IN tActive
|
|
|
|
IF !llUsed
|
|
USE IN (lcActive)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Completeaza_Date_Active_Imobilizate ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Completeaza_Date_Firma ------------------------------
|
|
*!* Procedura: Completeaza_Date_Firma
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 11:14
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Completeaza_Date_Firma
|
|
LPARAMETERS tcAliasFirma
|
|
|
|
LOCAL lnNrRanduri, lcFirma, lcFisFirma, loFirma, llUsed
|
|
|
|
|
|
lcFirma = ALLTRIM(THIS.cFirma)
|
|
lcFisFirma = ADDBS(THIS.cPathKIT) + lcFirma + ".dbf"
|
|
|
|
IF !FILE(lcFisFirma)
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
llUsed = .T.
|
|
IF !USED(lcFirma)
|
|
llUsed = .F.
|
|
USE (lcFisFirma) IN 0 SHARED ALIAS (lcFirma)
|
|
ENDIF
|
|
|
|
SELECT (lcFirma)
|
|
SCATTER NAME loFirma BLANK
|
|
|
|
SELE firma
|
|
LOCA FOR ALLT(fscurt)=ALLT(nfscurt)
|
|
loFirma.codi=VAL(ALLT(STRTRAN(UPPE(cod_fiscal),'R','')))
|
|
|
|
SELECT (lcFirma)
|
|
GATHER NAME loFirma
|
|
|
|
IF !llUsed
|
|
USE IN (lcFirma)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Completeaza_Date_Firma ------------------------------
|
|
|
|
&& ------------------------------INCEPUT: Date_Noi_Bilant------------------------------
|
|
*!* Procedura: Date_Noi_Bilant
|
|
*!* Parametri:
|
|
*!* Data/Ora generarii: 17/02/2004 14:26
|
|
*!* Autor: MARIUS.MUTU
|
|
PROCEDURE Date_Noi_Bilant
|
|
|
|
LOCAL lnRaspuns
|
|
lnRaspuns = 7
|
|
|
|
lnFisiere = 5
|
|
DECLARE laFisiere[lnFisiere,2]
|
|
|
|
laFisiere[1,1] = "Bilant"
|
|
laFisiere[2,1] = "Cont Profit si Pierdere"
|
|
laFisiere[3,1] = "Date Informative"
|
|
laFisiere[4,1] = "Active Imobilizate"
|
|
laFisiere[5,1] = "Firma"
|
|
|
|
laFisiere[1,2] = "date1"
|
|
laFisiere[2,2] = "date2"
|
|
laFisiere[3,2] = "date3"
|
|
laFisiere[4,2] = "date4"
|
|
laFisiere[5,2] = "date5"
|
|
|
|
FOR i = 1 TO lnFisiere
|
|
|
|
lcMesaj = "Doriti sa creati un fisier gol pentru "+laFisiere[i,1]+"?"
|
|
lnRaspuns = AMESSAGEBOX(lcMesaj,4+32)
|
|
|
|
IF lnRaspuns = 7 && buton=2
|
|
LOOP
|
|
ENDIF
|
|
|
|
lcSpath = ADDBS(dirgen)+"_alfa\date_bilant\"
|
|
lcDPath = this.cPathKIT
|
|
lcFileName = laFisiere[i,2]
|
|
|
|
THIS.Copie_Fisiere_Vide(lcSpath, lcDPath, lcFileName)
|
|
|
|
IF i=1 && bilant -> copii si bazele de data access
|
|
lcFileName = [*.mdb]
|
|
lcFileS = lcSPath + lcFileName
|
|
lcFileD = lcDPath + lcFileName
|
|
COPY FILE (lcFileS) TO (lcFileD)
|
|
ENDIF
|
|
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
&& ------------------------------SFARSIT: Date_Noi_Bilant------------------------------
|
|
|
|
ENDDEFINE
|
|
|
|
|
|
|