1210 lines
23 KiB
Plaintext
1210 lines
23 KiB
Plaintext
|
|
FUNCTION get_explicatie
|
|
LPARAMETERS tnCodOp
|
|
|
|
*** ISTORIC OPERATII ***
|
|
*!* *!* *!* Modificare : codop=1 *!* *!* *!*
|
|
*!* *!* *!* Introducere : codop=2 *!* *!* *!*
|
|
*!* *!* *!* Preluare : codop=3 *!* *!* *!*
|
|
*!* *!* *!* Transformare in mf : codop=4 *!* *!* *!*
|
|
*!* *!* *!* Iesire din gestiune : codop=5 *!* *!* *!*
|
|
*!* *!* *!* Intrare in gestiune : codop=6 *!* *!* *!*
|
|
*!* *!* *!* Stergere : codop=7 *!* *!* *!*
|
|
*!* *!* *!* Majorare val inv : codop=8 *!* *!* *!*
|
|
*!* *!* *!* Reevaluarea val inv : codop=9 *!* *!* *!*
|
|
*!* *!* *!* Schimbare DNS : codop=10 *!* *!* *!*
|
|
*!* *!* *!* Recalcularea cota : codop 11 *!* *!* *!*
|
|
*!* *!* *!* Conservare MF : codop 12 *!* *!* *!*
|
|
*!* *!* *!* Scoatere din conservare MF : codop 13 *!* *!* *!*
|
|
|
|
IF PCOUNT()<1 OR ISNULL(tnCodOp)
|
|
tnCodOp = 0
|
|
ENDIF
|
|
|
|
DO CASE
|
|
CASE tnCodOp = 1
|
|
lcExplic = 'Modificare'
|
|
CASE tnCodOp = 2
|
|
lcExplic = 'Introducere'
|
|
CASE tnCodOp = 3
|
|
lcExplic = 'Preluare din contabilitate'
|
|
CASE tnCodOp = 4
|
|
lcExplic = 'Transformare in MF'
|
|
CASE tnCodOp = 5
|
|
lcExplic = 'Iesire din gestiune'
|
|
CASE tnCodOp = 6
|
|
lcExplic = 'Intrare in gestiune'
|
|
CASE tnCodOp = 7
|
|
lcExplic = 'Stergere'
|
|
CASE tnCodOp = 8
|
|
lcExplic = 'Majorare valoare inventar'
|
|
CASE tnCodOp = 9
|
|
lcExplic = 'Reevaluare MF'
|
|
CASE tnCodOp = 10
|
|
lcExplic = 'Schimbare DNS'
|
|
CASE tnCodOp = 11
|
|
lcExplic = 'Recalculare cota, valoare ramasa'
|
|
CASE tnCodOp = 12
|
|
lcExplic = 'Conservare MF'
|
|
CASE tnCodOp = 13
|
|
lcExplic = 'Scoatere din conservare MF'
|
|
OTHERWISE
|
|
lcExplic = ' '
|
|
ENDCASE
|
|
lcExplic = SUBSTR(lcExplic,1,50)
|
|
RETURN lcExplic
|
|
|
|
|
|
*!* *!* *!* *!* *!* *!* *!* *!* *!*
|
|
*_____________________________________________________________
|
|
|
|
PROCEDURE a
|
|
RETURN
|
|
ENDPROC
|
|
*_____________________________________________________________
|
|
FUNCTION existacamp
|
|
PARAM numef,numec
|
|
SELE &numef
|
|
FOR i=1 TO FCOUNT()
|
|
IF UPPER(ALLT(FIELD(i)))=UPPER(ALLT(numec))
|
|
RETURN .T.
|
|
ENDIF
|
|
NEXT
|
|
RETURN .F.
|
|
*_______________________________________________________
|
|
|
|
FUNCTION compartabele
|
|
PARAMETERS nume
|
|
|
|
SET EXACT ON
|
|
SELECT fistotv
|
|
LOCATE FOR numef=UPPER(nume)
|
|
IF !FOUND()
|
|
RETURN
|
|
ENDIF
|
|
SCATTER MEMV
|
|
c1=ALLTRIM(m.calealfa)
|
|
c2=ALLTRIM(m.cale)
|
|
SELECT &nume
|
|
nrcol1=FCOUNT()
|
|
dat=c1+m.numef
|
|
|
|
USE &dat IN 0 ALIAS aliasmf
|
|
*do deschidf with m.calealfa,m.calealfa,m.numeF,aliasm,m.ordine,m.exc
|
|
|
|
SELECT aliasmf
|
|
nrcol2=FCOUNT()
|
|
USE IN aliasmf
|
|
|
|
IF nrcol1<>nrcol2
|
|
RETURN .F.
|
|
ELSE
|
|
RETURN .T.
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
*_______________________________________________________
|
|
PROCEDURE redeschid
|
|
LOCAL lunatrec,antrec,lunacrt,ancrt,dattrec,datcrt
|
|
SET SAFETY OFF
|
|
|
|
lunacrt=m.nl
|
|
ancrt=m.an
|
|
|
|
SELE calendar
|
|
LOCATE FOR an=m.an AND nl=m.nl
|
|
SKIP -1
|
|
IF BOF()
|
|
DO mesajatent WITH 'Luna '+m.nl+' '+m.an,'este prima luna deschisa!'
|
|
RETURN
|
|
ENDIF
|
|
lunatrec=nl
|
|
antrec=an
|
|
|
|
dattrec=calefirma+'\AN'+antrec+'\DATE'+lunatrec+'\'+'mf.*'
|
|
dat=DIRgen+'\imob2003\date\mftemp.*'
|
|
|
|
CLOSE DATABASE
|
|
|
|
COPY FILE &dattrec TO &dat
|
|
dat=DIRgen+'\imob2003\date\mftemp.dbf'
|
|
SELECT 0
|
|
USE &dat EXCLUSIVE ALIAS dat
|
|
PACK
|
|
REPL ALL cod WITH 0
|
|
SELE dat
|
|
USE
|
|
|
|
|
|
SELE 0
|
|
USE &DATE\mf.DBF EXCLUSIVE ALIAS mf
|
|
DELETE FROM mf WHERE cod=0
|
|
PACK
|
|
USE
|
|
SELE 0
|
|
USE &DATE\mf.DBF ALIAS mf
|
|
|
|
dat=DIRgen+'\imob2003\date\mftemp.dbf'
|
|
SELE mf
|
|
APPEND FROM &dat
|
|
USE
|
|
|
|
m.nl=lunacrt
|
|
m.an=ancrt
|
|
DO totv
|
|
|
|
&&Actualizare amortizari precedente
|
|
SELE 0
|
|
dattrec=calefirma+'\AN'+antrec+'\DATE'+lunatrec+'\'+'mf.dbf'
|
|
USE &dattrec ALIAS mftrec
|
|
|
|
SELE mf
|
|
SCAN
|
|
SCAT MEMV
|
|
SELE mftrec
|
|
*loca for cod=m.cod and allt(denumire)=allt(m.denumire)
|
|
LOCA FOR valoare=m.valoare AND nrinv=m.nrinv AND ALLT(denumire)=ALLT(m.denumire)
|
|
IF FOUND()
|
|
* Scat Memv
|
|
lnAmorttot = amorttot
|
|
SELE mf
|
|
REPL amortprec WITH lnAmorttot
|
|
ENDIF
|
|
SELECT mf
|
|
ENDSCAN
|
|
|
|
SELE mftrec
|
|
USE
|
|
|
|
DO MESAJ WITH 'Lista mijloacelor fixe din luna ',m.nl+' '+m.an+' a fost actualizata!'
|
|
|
|
m.nl=lunacrt
|
|
m.an=ancrt
|
|
DO totv
|
|
|
|
*!* IF USED('xmf')
|
|
*!* USE IN xmf
|
|
*!* ENDIF
|
|
*!* USE mf AGAIN IN 0 SHARED ALIAS xmf
|
|
*!* SELECT xmf
|
|
*!* SET FILTER TO fel=" "
|
|
*!* INDEX ON NRINV TAG NRINV OF &LOC\&NFSCURT\TEMPO\xMF
|
|
*!* SET ORDER TO TAG NRINV
|
|
*!* ov=create('vizP')
|
|
*!* ov.label10.caption="Lista imobilizarilor "
|
|
*!* SELECT xmf
|
|
*!* SET FILTER TO
|
|
*!* ov.show(1)
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE CAUT_norma
|
|
PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM
|
|
LOCAL MC0,MC1,MC2
|
|
SET SAFETY OFF
|
|
MC0='SELE '+NUMEBAZA
|
|
MC1='VARMEM=M.'+NUMECIMP
|
|
MC2='SET order TO TAG '+NUMECIMP
|
|
|
|
&MC0
|
|
IF EOF()
|
|
APPE BLANK
|
|
ENDIF
|
|
*&MC2
|
|
|
|
OCA=CREATEOBJECT("CAUTnorma")
|
|
OCA.CAPTION=CAPTEXT
|
|
OCA.GRID1.RECORDSOURCE=NUMEBAZA
|
|
OCA.GRID1.COLUMN1.CONTROLSOURCE=NUMECIMP
|
|
OCA.SHOW(1)
|
|
|
|
SCATTER MEMVAR
|
|
&MC1
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
*_________________________________________
|
|
PROCEDURE verifmf
|
|
LOCAL s
|
|
totval=0
|
|
s=.T.
|
|
|
|
SELE actan
|
|
SET FILTER TO LEFT(scc,3)='404' AND LEFT(scd,4)#'4426' AND !DELETED()
|
|
SCAN
|
|
SCATTER MEMVAR
|
|
SELE mf
|
|
LOCATE FOR cod=m.cod AND !DELETED()
|
|
IF FOUND()
|
|
SUM valoare TO totval FOR cod=m.cod AND !DELETED()
|
|
DO CASE
|
|
CASE totval<m.suma
|
|
DO erver WITH 'Introdus partial!',totval
|
|
CASE totval>m.suma
|
|
DO erver WITH 'Introdus gresit!',totval
|
|
ENDCASE
|
|
s=.F.
|
|
ELSE
|
|
DO erver WITH 'Neintrodus!',0
|
|
s=.F.
|
|
ENDIF
|
|
ENDSCAN
|
|
|
|
IF s
|
|
DO MESAJ WITH 'Toate mijloacele fixe achizitionate','sunt luate in evidenta.'
|
|
ENDIF
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
*_________________________________________
|
|
PROCEDURE erver
|
|
PARAMETERS texter,totval
|
|
oer=CREATE('eroareverif')
|
|
oer.label5.CAPTION=texter
|
|
oer.text5.VALUE=totval
|
|
oer.SHOW(1)
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE CAUT_ALF_vechi
|
|
PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM
|
|
LOCAL MC0,MC1,MC2
|
|
SET SAFETY OFF
|
|
MC0='SELE '+NUMEBAZA
|
|
MC1='VARMEM=M.'+NUMECIMP
|
|
MC2='SET order TO TAG '+NUMECIMP
|
|
|
|
&MC0
|
|
IF EOF()
|
|
APPE BLANK
|
|
ENDIF
|
|
&MC2
|
|
|
|
OCA=CREATEOBJECT("CAUTALFa")
|
|
OCA.GRID1.RECORDSOURCE=NUMEBAZA
|
|
OCA.GRID1.COLUMN1.CONTROLSOURCE=NUMECIMP
|
|
*OCA.titlufrumos1.caption=PROPER(CAPTEXT)
|
|
OCA.CAPT=PROPER(CAPTEXT)
|
|
OCA.SHOW(1)
|
|
|
|
IF buton=2
|
|
&MC0
|
|
SET FILTER TO
|
|
RETURN
|
|
ENDIF
|
|
|
|
&MC0
|
|
SCATTER MEMVAR
|
|
&MC1
|
|
|
|
ENDPROC
|
|
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE CAUT_ALF
|
|
PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM
|
|
LOCAL MC0,MC1,MC2
|
|
SET SAFETY OFF
|
|
MC0='SELE '+NUMEBAZA
|
|
MC1='VARMEM=M.'+NUMECIMP
|
|
MC2='SET order TO TAG '+NUMECIMP
|
|
|
|
&MC0
|
|
GO TOP
|
|
IF EOF()
|
|
APPE BLANK
|
|
ENDIF
|
|
&MC2
|
|
|
|
OCA=CREATEOBJECT("CAUTALFA")
|
|
OCA.CAPTION=CAPTEXT
|
|
OCA.GRID1.RECORDSOURCE=NUMEBAZA
|
|
OCA.GRID1.COLUMN1.CONTROLSOURCE=NUMECIMP
|
|
OCA.SHOW(1)
|
|
|
|
SCATTER MEMVAR
|
|
&MC1
|
|
&MC0
|
|
SET FILTER TO
|
|
RETURN
|
|
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE CAUT_ALFa
|
|
PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM
|
|
buton=1
|
|
LOCAL MC0,MC1,MC2
|
|
SET SAFETY OFF
|
|
|
|
STORE .T. TO llVizibil
|
|
|
|
LcVar=VARMEM && pt variabilele globale(varmem) pt care varmem # numecimp
|
|
|
|
MC0='SELE '+NUMEBAZA
|
|
MC1=[VARMEM=M.]+NUMECIMP
|
|
MC2='SET order TO TAG '+NUMECIMP
|
|
|
|
*!* &MC0
|
|
*!* GO TOP
|
|
*!* IF EOF()
|
|
*!* APPE BLANK
|
|
*!* ENDIF
|
|
|
|
*!* &MC2
|
|
|
|
LOCAL lcNumeCol2
|
|
STORE '' TO lcNumeCol2
|
|
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.cod_fiscal'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'cod_fiscal'
|
|
ENDIF
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.gest'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'gest'
|
|
ENDIF
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.id_sectie'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'id_sectie'
|
|
ENDIF
|
|
IF EMPTY(lcNumeCol2)
|
|
lcNumeCol2 = 'space(4)'
|
|
llVizibil = .F.
|
|
ENDIF
|
|
|
|
SELECT DISTINCT &NUMECIMP, &lcNumeCol2 FROM (NUMEBAZA) INTO CURSOR tnomenclator READWRITE ORDER BY &NUMECIMP
|
|
|
|
OCA=CREATEOBJECT("CAUTALFa")
|
|
OCA.CAPTION=CAPTEXT
|
|
OCA.GRID1.RECORDSOURCE = 'tnomenclator'
|
|
OCA.GRID1.COLUMN1.CONTROLSOURCE = NUMECIMP
|
|
OCA.GRID1.COLUMN2.CONTROLSOURCE = lcNumeCol2
|
|
OCA.GRID1.COLUMN2.VISIBLE = llVizibil
|
|
OCA.cmdrenunt1.VISIBLE=.T.
|
|
OCA.SHOW(1)
|
|
|
|
IF buton=2
|
|
*!* &MC0
|
|
*!* SET FILTER TO
|
|
USE IN tnomenclator
|
|
RETURN
|
|
ENDIF
|
|
*!* &MC0
|
|
*!* SCATTER MEMVAR
|
|
|
|
SELECT tnomenclator
|
|
SCATTER MEMVAR
|
|
|
|
&MC1
|
|
&LcVar=VARMEM
|
|
*!* &MC0
|
|
*!* SET FILTER TO
|
|
USE IN tnomenclator
|
|
RETURN
|
|
|
|
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE caut_alfa_cursor
|
|
PARAMETERS NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM
|
|
LOCAL llVizibil
|
|
SET SAFETY OFF
|
|
llVizibil = .T.
|
|
|
|
IF !EMPTY(VARMEM) AND TYPE('VARMEM') = 'C'
|
|
MC1='VARMEM=M.'+NUMECIMP
|
|
ENDIF
|
|
|
|
LOCAL lcNumeCol2
|
|
STORE '' TO lcNumeCol2
|
|
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.cod_fiscal'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'cod_fiscal'
|
|
ENDIF
|
|
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.gest'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'gest'
|
|
ENDIF
|
|
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.id_sectie'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol2 = 'id_sectie'
|
|
ENDIF
|
|
|
|
IF EMPTY(lcNumeCol2)
|
|
lcNumeCol2 = 'space(4)'
|
|
llVizibil = .F.
|
|
ENDIF
|
|
|
|
LcCol = ALLTRIM(NUMEBAZA) + '.id'
|
|
IF TYPE(LcCol) # 'U'
|
|
lcNumeCol3 = 'id'
|
|
ELSE
|
|
lcNumeCol3 = 'space(4)'
|
|
ENDIF
|
|
|
|
SELECT DISTINCT &NUMECIMP, &lcNumeCol2, &lcNumeCol3 FROM (NUMEBAZA) INTO CURSOR tnomenclator READWRITE ORDER BY &NUMECIMP
|
|
|
|
OCA=CREATEOBJECT("CAUTALFa")
|
|
OCA.CAPTION=CAPTEXT
|
|
OCA.GRID1.RECORDSOURCE='tnomenclator'
|
|
OCA.GRID1.COLUMN1.CONTROLSOURCE = NUMECIMP
|
|
OCA.GRID1.COLUMN2.CONTROLSOURCE = lcNumeCol2
|
|
OCA.GRID1.COLUMN2.VISIBLE = llVizibil
|
|
OCA.cmdrenunt1.VISIBLE=.T.
|
|
OCA.command1.VISIBLE=.F.
|
|
OCA.command2.VISIBLE=.F.
|
|
OCA.command3.VISIBLE=.F.
|
|
OCA.SHOW(1)
|
|
|
|
IF buton=2
|
|
SELECT tnomenclator
|
|
SCATTER NAME onome BLANK
|
|
USE IN tnomenclator
|
|
RETURN onome
|
|
ENDIF
|
|
|
|
SELECT tnomenclator
|
|
SCATTER MEMVAR
|
|
SCATTER NAME onome
|
|
|
|
IF TYPE('MC1') # 'U'
|
|
&MC1
|
|
ENDIF
|
|
|
|
USE IN tnomenclator
|
|
RETURN onome
|
|
|
|
*_________________________________________________________
|
|
PROCEDURE GENERARE_ACT
|
|
LOCAL i,J,T,T1,T2,T3,T4,T5,T6,T7
|
|
SELE varact
|
|
|
|
OACTGEN=CREATEOBJECT("ACTGEN")
|
|
FOR i=5 TO 11
|
|
DO CASE
|
|
CASE i=10
|
|
J="10"
|
|
CASE i=11
|
|
J="11"
|
|
OTHERWISE
|
|
J=CHR(48+i)
|
|
ENDCASE
|
|
GOTO i
|
|
SCATTER MEMVAR
|
|
T=".TEXT"+J+".CONTROLSOURCE=CONTROL"+J
|
|
T1=".LABEL"+J+".CAPTION=M.ETICHETA"
|
|
T2=".LABEL"+J+".VISIBLE=M.VIZIBIL"
|
|
T3=".TEXT"+J+".VISIBLE=M.VIZIBIL"
|
|
T4=".TEXT"+J+".READONLY=M.CAUTARE"
|
|
T5=".CAUT"+J+"=M.CAUTARE"
|
|
T6=".BAZA"+J+"=M.BAZA"
|
|
T7=".CIMP"+J+"=M.CIMP"
|
|
WITH OACTGEN
|
|
&T
|
|
&T1
|
|
&T2
|
|
&T3
|
|
&T4
|
|
&T5
|
|
&T6
|
|
&T7
|
|
ENDWITH
|
|
ENDFOR
|
|
|
|
OACTGEN.SHOW(1)
|
|
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
*TOTPROC
|
|
***********************************************************************************
|
|
PROCEDURE CODARE
|
|
SELE cod
|
|
IF FLOCK()
|
|
GOTO BOTTOM
|
|
*SCATTER MEMVAR
|
|
m.cod=cod+1
|
|
APPEND BLANK
|
|
*m.COD=RECNO()
|
|
GATHER MEMVAR
|
|
ENDIF
|
|
UNLOCK
|
|
RETURN
|
|
*****************
|
|
|
|
|
|
|
|
*___________________________________________
|
|
PROCEDURE MESAJ
|
|
PARAMETERS m1,m2
|
|
ot=CREATE('text')
|
|
ot.label2.CAPTION=m1
|
|
ot.label3.CAPTION=m2
|
|
ot.SHOW(1)
|
|
RETURN
|
|
|
|
*___________________________________________
|
|
PROCEDURE mesajatent
|
|
PARAMETERS m1,m2
|
|
ot=CREATE('atentie')
|
|
ot.label2.CAPTION=m1
|
|
ot.label3.CAPTION=m2
|
|
ot.SHOW(1)
|
|
RETURN
|
|
|
|
*___________________________________________
|
|
PROCEDURE mesajrosu
|
|
PARAMETERS m1,m2
|
|
ot=CREATE('atentierosu')
|
|
ot.label2.CAPTION=m1
|
|
ot.label3.CAPTION=m2
|
|
ot.SHOW(1)
|
|
RETURN
|
|
|
|
|
|
|
|
*___________________________________________
|
|
PROCEDURE alfabeta
|
|
PARAMETERS clasa,e5,b5,c5,e6,b6,c6,e7,b7,c7,expl
|
|
m.explicatia=expl
|
|
clasaact='actverif'
|
|
oc=CREATE(clasa)
|
|
WITH oc
|
|
.eti5=e5
|
|
.eti6=e6
|
|
.eti7=e7
|
|
.baza5=b5
|
|
.baza6=b6
|
|
.baza7=b7
|
|
.cimp5=c5
|
|
.cimp6=c6
|
|
.cimp7=c7
|
|
.num=c5
|
|
.num2=c6
|
|
.expl=c7
|
|
ENDWITH
|
|
oc.SHOW(1)
|
|
RETURN
|
|
|
|
|
|
|
|
*_____________________________________-
|
|
PROCEDURE IESIRE
|
|
*close tables
|
|
*close database
|
|
*set defa to &dirgen
|
|
*erase actactan.*
|
|
*erase ?temp.*
|
|
QUIT
|
|
RETURN
|
|
|
|
|
|
PROCEDURE EXEC_MENIU
|
|
RETURN
|
|
|
|
|
|
*________________________________
|
|
PROCEDURE danu
|
|
PARAMETERS T1,T4,T5
|
|
od=CREATE('casdanu')
|
|
WITH od
|
|
.text1.VISIBLE=.F.
|
|
.text2.VISIBLE=.F.
|
|
.label1.CAPTION=T1
|
|
.label4.CAPTION=T4
|
|
.label5.CAPTION=T5
|
|
ENDWITH
|
|
od.SHOW(1)
|
|
RETURN
|
|
|
|
*___________________________________________
|
|
PROCEDURE danuquit
|
|
PARAMETERS m1
|
|
od=CREATE('danu')
|
|
od.label1.CAPTION=m1
|
|
od.SHOW(1)
|
|
IF buton=2
|
|
QUIT
|
|
ENDIF
|
|
RETURN
|
|
*___________________________________________
|
|
|
|
PROCEDURE DaSauNu
|
|
PARAMETERS m1
|
|
od=CREATE('danu')
|
|
od.label1.CAPTION=m1
|
|
od.SHOW(1)
|
|
RETURN
|
|
|
|
*____________________________________
|
|
PROC PR
|
|
PARAM stare
|
|
IF stare>Maxs
|
|
*stare=0
|
|
Maxs=2*Maxs
|
|
OP.PRBAR.MAX=Maxs
|
|
*return
|
|
ENDIF
|
|
OP.PRBAR.VALUE=stare
|
|
OP.P=ROUND(100*OP.PRBAR.VALUE/OP.PRBAR.MAX,2)
|
|
OP.REFRESH
|
|
stare=stare+1
|
|
RETURN
|
|
|
|
*________________________________________
|
|
PROCEDURE danu_ingest
|
|
PARAMETERS cas,txt1,txt2
|
|
|
|
IF UPPER(ALLTRIM(txt2))='INTRARE'
|
|
lcLb2 = 'Cauza intrarii in gestiune'
|
|
lcLb3 = 'Data intrarii in gestiune'
|
|
ENDIF
|
|
IF UPPER(ALLTRIM(txt2))='IESIRE'
|
|
lcLb2 = 'Cauza iesirii din gestiune'
|
|
lcLb3 = 'Data iesirii dn gestiune'
|
|
ENDIF
|
|
m.dataout = ultima_zi_din_luna(m.an,m.nl)
|
|
SELECT mf
|
|
oi=CREATEOBJECT('ingest')
|
|
oi.label1.CAPTION=txt1
|
|
oi.label2.CAPTION=lcLb2
|
|
oi.label3.CAPTION=lcLb3
|
|
|
|
*!* If cas
|
|
*!* oi.label2.Visible=.F.
|
|
*!* oi.text1.Visible=.F.
|
|
*!* oi.label3.Visible=.F.
|
|
*!* oi.text2.Visible=.F.
|
|
*!* Endif
|
|
oi.SHOW(1)
|
|
RETURN
|
|
|
|
|
|
*_________________________________________________
|
|
PROC err
|
|
DO MESAJ WITH 'Pentru initializare trebuie lansat','programul CONTAFIN CONT2000'
|
|
buton=2
|
|
DO WHILE buton=2
|
|
QUIT
|
|
ENDDO
|
|
RETURN
|
|
|
|
|
|
|
|
*________________________________________________
|
|
PROCEDURE inchidprog
|
|
LOCAL CC,M.NUMESTATIE,UU
|
|
IF FILE('c:\contafin\temp\CEPROGRAM.dbf')
|
|
|
|
SELE 0
|
|
USE C:\CONTAFIN\temp\ceprogram ALIAS ceprogram
|
|
UU=UTIL
|
|
SELE ceprogram
|
|
USE
|
|
|
|
IF !FILE('&LOC\&NFSCURT\TEMPO\OPTIUNI.DBF')
|
|
*wait wind 'optiuni'
|
|
RETURN
|
|
ENDIF
|
|
IF !USED('OPTIUNI')
|
|
SELE 0
|
|
USE &loc\&nfscurt\TEMPO\OPTIUNI SHAR ALIAS OPTIUNI
|
|
ENDIF
|
|
|
|
SELE OPTIUNI
|
|
LOCA FOR OPTIUNE='RETEA'
|
|
IF !FOUND() OR (FOUND() AND !DA)
|
|
SELE OPTIUNI
|
|
USE
|
|
*wait wind LOC
|
|
RETURN
|
|
ENDIF
|
|
SELE OPTIUNI
|
|
USE
|
|
|
|
IF !FILE('C:\CONTAFIN\temp\RETEA.DBF')
|
|
*wait wind 'start-retea'
|
|
RETURN
|
|
ENDIF
|
|
SELE 0
|
|
USE C:\CONTAFIN\temp\RETEA SHAR ALIAS RETEA
|
|
m.NUMESTATIE=ALLT(NUMESTATIE)
|
|
CC=DIRgen
|
|
USE
|
|
|
|
IF FILE('&DIRGEN\Dateretea\istoric.DBF')
|
|
SELE 0
|
|
USE &DIRgen\Dateretea\istoric SHARE ALIAS istoric
|
|
ELSE
|
|
SELE 0
|
|
USE &CC\START2000\DATA\istoric SHARE ALIAS istoric
|
|
ENDIF
|
|
|
|
SELE istoric
|
|
SET ORDER TO DATAORAINT
|
|
LOCA FOR EMPTY(dataoraies) AND ALLT(statie)=m.NUMESTATIE AND ALLT(UTILIZATOR)=ALLT(UU)
|
|
IF FOUND()
|
|
IF FLOCK()
|
|
REPL dataoraies WITH DATETIME()
|
|
UNLOCK
|
|
ENDIF
|
|
ENDIF
|
|
SELE istoric
|
|
USE
|
|
|
|
|
|
IF FILE('&DIRGEN\Dateretea\activ.DBF')
|
|
SELE 0
|
|
USE &DIRgen\Dateretea\ACTIV SHARE ALIAS ACTIV
|
|
ELSE
|
|
SELE 0
|
|
USE &CC\START2000\DATA\ACTIV SHARE ALIAS ACTIV
|
|
ENDIF
|
|
|
|
SELE ACTIV
|
|
LOCA FOR ALLT(statie)=m.NUMESTATIE
|
|
IF !FOUND()
|
|
WAIT WIND 'Aceasta statie nu este inregistrata in server!'
|
|
ELSE
|
|
SELE ACTIV
|
|
IF FLOCK()
|
|
REPL mfix2000 WITH .F.
|
|
ENDIF
|
|
UNLOCK
|
|
ENDIF
|
|
SELE ACTIV
|
|
USE
|
|
ENDIF
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*!* *_____________________________________-
|
|
*!* FUNCTION SERIA_LUNARA_E_CORECTA
|
|
*!* local TIPAR,LOC,L
|
|
*!* L=VAL(M.NL)
|
|
*!* LOC=L+floor((L-1)/2)
|
|
*!* TIPAR='010649161147'
|
|
|
|
*!* sele cul
|
|
*!* GO TOP
|
|
*!* &&ESTE CORECTA ULTIMA SERIE?
|
|
*!* IF substr(TIPAR,L,1)=substr(GREEN,LOC,1);
|
|
*!* AND substr(red,1,1)=substr(GREEN,3,1);
|
|
*!* AND substr(red,2,1)=substr(GREEN,6,1);
|
|
*!* AND substr(red,3,1)=substr(GREEN,9,1);
|
|
*!* AND substr(red,4,1)=substr(GREEN,12,1);
|
|
*!* AND substr(red,5,1)=substr(GREEN,15,1)
|
|
*!* RETURN .T.
|
|
*!* ELSE
|
|
*!* RETURN .F.
|
|
*!* ENDIF
|
|
*!* RETURN
|
|
*_____________________________________-
|
|
FUNCTION SERIA_LUNARA_E_CORECTA
|
|
LOCAL loc,L
|
|
L=VAL(M.nl)
|
|
loc=L+FLOOR((L-1)/2)
|
|
|
|
SELE cul
|
|
GO TOP
|
|
&&ESTE CORECTA ULTIMA SERIE?
|
|
IF SUBSTR(TIPAR,L,1)=SUBSTR(GREEN,loc,1);
|
|
AND SUBSTR(red,1,1)=SUBSTR(GREEN,3,1);
|
|
AND SUBSTR(red,2,1)=SUBSTR(GREEN,6,1);
|
|
AND SUBSTR(red,3,1)=SUBSTR(GREEN,9,1);
|
|
AND SUBSTR(red,4,1)=SUBSTR(GREEN,12,1);
|
|
AND SUBSTR(red,5,1)=SUBSTR(GREEN,15,1)
|
|
RETURN .T.
|
|
ELSE
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
|
|
*!* *------------------------------------------------
|
|
*!* PROCEDURE seriadebaza
|
|
*!* LOCAL sb,sn
|
|
*!* STORE '' TO sb,sn
|
|
|
|
*!* FOR i=1 TO 5
|
|
*!* sb=sb+LITERA()
|
|
*!* NEXT
|
|
|
|
*!* SELE cul
|
|
*!* GO TOP
|
|
*!* REPL red WITH sb
|
|
*!* sn=GREEN
|
|
|
|
|
|
*!* IF SUBSTR(sn,3,1)=SUBSTR(sb,1,1) AND;
|
|
*!* SUBSTR(sn,6,1)=SUBSTR(sb,2,1) AND;
|
|
*!* SUBSTR(sn,9,1)=SUBSTR(sb,3,1) AND;
|
|
*!* SUBSTR(sn,12,1)=SUBSTR(sb,4,1) AND;
|
|
*!* SUBSTR(sn,15,1)=SUBSTR(sb,5,1) AND;
|
|
*!* SUBSTR(sn,VAL(M.nl)+FLOOR((VAL(M.nl)-1)/2),1)=SUBSTR(TIPAR,VAL(M.nl),1)
|
|
*!* RETURN
|
|
*!* ELSE
|
|
|
|
*!* FOR i=1 TO 17
|
|
*!* sn=sn+LITERA()
|
|
*!* NEXT
|
|
|
|
*!* FOR i=1 TO 5
|
|
*!* sn=STUFF(sn, i*3, 1, SUBSTR(sb,i,1))
|
|
*!* NEXT
|
|
*!* sn=STUFF(sn, VAL(M.nl)+FLOOR((VAL(M.nl)-1)/2), 1, SUBSTR(TIPAR,VAL(M.nl),1))
|
|
|
|
*!* SELE cul
|
|
*!* REPL GREEN WITH sn
|
|
*!* ENDIF
|
|
*!* RETURN
|
|
|
|
|
|
|
|
|
|
*_____________________________________-
|
|
FUNCTION e_ultima_luna
|
|
SELE calendar
|
|
LOCA FOR m.nl=nl AND m.an=an
|
|
SKIP
|
|
IF EOF()
|
|
ultima_luna=.T.
|
|
RETURN .T.
|
|
ELSE
|
|
ultima_luna=.F.
|
|
RETURN .F.
|
|
ENDIF
|
|
RETURN
|
|
|
|
PROCEDURE CITESTE_ANALITICE
|
|
RETURN
|
|
|
|
*______________________________________
|
|
|
|
PROCEDURE alegeprogram
|
|
PUBLIC op_imob
|
|
|
|
IF !USED('verimob')
|
|
USE &DIRgen\IMOB2003\VERIMOB IN 0 ALIAS VERIMOB SHARED
|
|
ENDIF
|
|
|
|
SELECT VERIMOB
|
|
DO CASE
|
|
CASE s
|
|
NUMEPROGRAM='CONTAFIN IMOBILIZARI'
|
|
op_imob=CREA('p_imob_i')
|
|
op_imob.pagefrb1.page1.cw1.VISIBLE=.F.
|
|
op_imob.pagefrb1.page1.cw3.VISIBLE=.F.
|
|
op_imob.pagefrb1.page1.shape4.VISIBLE=.F.
|
|
op_imob.pagefrb1.page1.cw4.TOP=17
|
|
op_imob.pagefrb1.page1.cw2.TOP=53
|
|
op_imob.pagefrb1.page1.shape3.TOP=85
|
|
CASE i
|
|
NUMEPROGRAM='CONTAFIN IMOBILIZARI'
|
|
op_imob=CREA('p_imob_i')
|
|
CASE E
|
|
NUMEPROGRAM='CONTAFIN IMOBILIZARI'
|
|
op_imob=CREA('p_imob_e')
|
|
ENDCASE
|
|
|
|
|
|
|
|
ENDPROC && alegeprogram
|
|
|
|
*___________________________________________
|
|
|
|
PROCEDURE verific_cu_balanta
|
|
PARAMETERS tcFel
|
|
LOCAL ln_fel
|
|
|
|
IF PCOUNT() > 0
|
|
lcfel = ALLTRIM(UPPER(tcFel))
|
|
ELSE
|
|
lcfel = ''
|
|
ENDIF
|
|
|
|
DO CASE
|
|
CASE lcfel =''
|
|
ln_fel=1
|
|
CASE lcfel ='N'
|
|
ln_fel=2
|
|
CASE lcfel ='C'
|
|
ln_fel=3
|
|
ENDCASE
|
|
|
|
CREATE TABLE &loc\&nfscurt\compar_amort (c_imob C(4),c_amort C(4),val_mf N(16),vald_bal N(16),amort_mf N(16),valc_bal N(16))
|
|
|
|
IF !USED('bal')
|
|
USE &DATE\bal IN 0 AGAIN ALIAS bal SHARED
|
|
ENDIF
|
|
|
|
SELECT contamort
|
|
IF TYPE('contamort.fel_imob')#'U'
|
|
SELECT contamort
|
|
GO TOP
|
|
IF EMPTY(fel_imob)
|
|
DO MESAJ WITH 'Dati actualizare de fisier','INITIALIZARE / CONTURI DE AMORTIZARE'
|
|
RETURN
|
|
ENDIF
|
|
ELSE
|
|
DO MESAJ WITH 'Reindexati fisierele din DATEAN','<MENU / UTILE / REINDEXARE>'
|
|
RETURN
|
|
ENDIF
|
|
|
|
SELECT contamort
|
|
SCAN FOR fel_imob=ln_fel
|
|
SCATTER NAME ocont
|
|
SELECT mf
|
|
SUM valin TO ln_valoare FOR ALLTRIM(scd)=ALLTRIM(ocont.cont_imob) AND !casat AND !inactiv AND ALLTRIM(UPPER(fel))=lcfel
|
|
SUM amorttot TO ln_amort FOR ALLTRIM(scd)=ALLTRIM(ocont.cont_imob) AND !casat AND !inactiv AND ALLTRIM(UPPER(fel))=lcfel
|
|
SELECT bal
|
|
LOCATE FOR ALLTRIM(CONT)=ALLTRIM(ocont.cont_imob)
|
|
IF !FOUND()
|
|
ln_soldD=0
|
|
ELSE
|
|
ln_soldD=solddeb
|
|
ENDIF
|
|
LOCATE FOR CONT=ocont.cont_amort
|
|
IF !FOUND()
|
|
ln_soldC=0
|
|
ELSE
|
|
ln_soldC=soldcred
|
|
ENDIF
|
|
SELECT compar_amort
|
|
APPEND BLANK
|
|
REPLACE c_imob WITH ocont.cont_imob,val_mf WITH ln_valoare,amort_mf WITH ln_amort
|
|
REPLACE c_amort WITH ocont.cont_amort,vald_bal WITH ln_soldD,valc_bal WITH ln_soldC
|
|
SELECT contamort
|
|
ENDSCAN
|
|
|
|
SELECT compar_amort
|
|
SCAN
|
|
IF val_mf#vald_bal
|
|
DO MESAJ WITH 'Diferenta intre Imobilizari si Balanta','la contul '+c_imob+' este de '+ALLTRIM(STR(val_mf-vald_bal))+' lei'
|
|
ENDIF
|
|
|
|
ENDSCAN
|
|
|
|
SELECT c_amort,SUM(amort_mf) AS tot_amort,valc_bal FROM compar_amort;
|
|
GROUP BY c_amort;
|
|
INTO CURSOR alabala
|
|
|
|
SELECT alabala
|
|
SCAN
|
|
IF tot_amort#valc_bal
|
|
DO MESAJ WITH 'Diferenta intre Imobilizari si Balanta','la contul '+c_amort+' este de '+ALLTRIM(STR(tot_amort-valc_bal))+' lei'
|
|
ENDIF
|
|
ENDSCAN
|
|
|
|
DO MESAJ WITH '','Verificarea s-a incheiat!'
|
|
RELEASE ocont
|
|
|
|
IF USED('bal')
|
|
USE IN bal
|
|
ENDIF
|
|
IF USED('compar_amort')
|
|
USE IN compar_amort
|
|
ENDIF
|
|
IF USED('alabala')
|
|
USE IN alabala
|
|
ENDIF
|
|
|
|
ENDPROC && verific_cu_balanta
|
|
|
|
|
|
*ALFANUMERIC ALEATOR__________________________________________
|
|
FUNCTION LITERA()
|
|
LOCAL Z,N,L,U,R,R1
|
|
|
|
Z=ROUND(RAND()*10+48,0)
|
|
N=IIF(Z=58,'0',CHR(Z))
|
|
|
|
Z=ROUND(RAND()*26+65,0)
|
|
L=IIF(Z=90,'X',CHR(Z))
|
|
|
|
U=ROUND(RAND(),0)
|
|
R=IIF(U=1,N,L)
|
|
|
|
RETURN R
|
|
*RETURN n
|
|
|
|
*----------------------------------------------------
|
|
PROCEDURE intrare
|
|
|
|
DO FORM start00
|
|
ENDPROC && intrare
|
|
|
|
*----------------------------------------------------
|
|
PROCEDURE ACTUALIZARE_FISIER
|
|
PARAMETERS TFIS
|
|
|
|
TFIS=UPPER(ALLTRIM(TFIS))
|
|
SELECT fistotv
|
|
LOCATE FOR UPPER(ALLTRIM(numef))=TFIS
|
|
SCATTER NAME OFIS
|
|
|
|
SELECT (TFIS)
|
|
DELETE ALL
|
|
|
|
LcFis=ALLTRIM(OFIS.calealfa)+'\'+TFIS+'.DBF'
|
|
*WAIT WINDOW LcFis
|
|
SELECT (TFIS)
|
|
APPEND FROM &LcFis
|
|
|
|
RELEASE OFIS
|
|
ENDPROC
|
|
|
|
*******
|
|
*!* SET CLASSLIB TO d:\contafin\contab\clase\caut.vcx ADDITIVE
|
|
*!* oo=ret_luna("Luna de inceput")
|
|
*** scattered = MYSCATTER() && This is instead of SCATTER NAME...
|
|
PROCEDURE myScatter
|
|
PARAMETERS tcBlank
|
|
LOCAL llBlank, loScatter
|
|
|
|
llBlank=.F.
|
|
IF TYPE('tcBlank')='C'
|
|
IF 'BLANK'$UPPER(tcBlank)
|
|
llBlank=.T.
|
|
ENDIF
|
|
ENDIF
|
|
|
|
myScatterObject = CREATEOBJECT("myScatterObject")
|
|
IF !EMPTY(ALIAS())
|
|
IF llBlank
|
|
SCATTER NAME loScatter MEMO BLANK
|
|
ELSE
|
|
SCATTER NAME loScatter MEMO
|
|
ENDIF
|
|
lnFields = FCOUNT(ALIAS())
|
|
FOR N =1 TO lnFields
|
|
lcField=FIELD(N)
|
|
lcvalue=loScatter.&lcField
|
|
myScatterObject.ADDPROPERTY(lcField, lcvalue)
|
|
ENDFOR
|
|
RELEASE loScatter
|
|
ENDIF
|
|
RETURN myScatterObject && Always return an object, so GATHER command could not choke.
|
|
ENDPROC
|
|
|
|
DEFINE CLASS myScatterObject AS SESSION
|
|
* You may use any VFP class directly like myScatterObject = CREATEOBJECT("Session")
|
|
* But you may optionally use this DEFINE CLASS
|
|
* and declare the native PEMs here as HIDDEN if you want, so they are not exposed
|
|
* in case you are using class other than Session or work with VFP version prior to VFP 7.0
|
|
ENDDEFINE
|
|
|
|
*____________________________________________________________________________________________
|
|
*** returneaza un obiect cu proprietatile an si nl (de fapt cu toate coloanele din calendar)
|
|
FUNCTION ret_luna
|
|
PARAMETERS tcTitlu
|
|
|
|
PRIVATE loLuna
|
|
|
|
SELECT calendar
|
|
USE DBF('calendar') IN 0 AGAIN ALIAS tsel_luna SHARE
|
|
SELECT tsel_luna
|
|
loLuna=myScatter('blank')
|
|
|
|
Ol=CREATEOBJECT("frm_sel_luna")
|
|
WITH Ol
|
|
.lblTitlu.CAPTION=tcTitlu
|
|
IF EMPTY(.cboLuna.ROWSOURCE)
|
|
.cboLuna.ROWSOURCE="tsel_luna.nl,an"
|
|
ENDIF
|
|
.oLuna=loLuna
|
|
IF EMPTY(.cAlias)
|
|
.cAlias=LEFT(.cboLuna.ROWSOURCE,AT(".",.cboLuna.ROWSOURCE)-1)
|
|
ENDIF
|
|
ENDWITH
|
|
Ol.SHOW(1)
|
|
|
|
USE IN tsel_luna
|
|
|
|
RETURN loLuna
|
|
ENDFUNC && ret_oluna
|
|
*___________________________________________________________________________________________
|
|
*________________________________________
|
|
PROCEDURE danu_transfer
|
|
PARAMETERS cas,txt1,txt2
|
|
|
|
SELECT nume_2 FROM respons INTO CURSOR cRespons ORDER BY nume_2
|
|
|
|
SELECT mf
|
|
oi=CREATEOBJECT('ingest_transfer')
|
|
oi.label1.CAPTION=txt1
|
|
oi.label2.CAPTION=txt2
|
|
oi.text2.VALUE = DATE()
|
|
IF cas
|
|
oi.label2.VISIBLE=.F.
|
|
oi.text1.VISIBLE=.F.
|
|
oi.label3.VISIBLE=.F.
|
|
oi.text2.VISIBLE=.F.
|
|
ENDIF
|
|
oi.SHOW(1)
|
|
IF USED("cRespons")
|
|
USE IN cRespons
|
|
ENDIF
|
|
RETURN
|
|
*_________________________________________________
|
|
|
|
|
|
FUNCTION TVA
|
|
*
|
|
ENDFUNC
|
|
|
|
FUNCTION NRORD
|
|
*
|
|
ENDFUNC
|
|
|
|
PROCEDURE ULTIMAZI
|
|
*
|
|
ENDPROC
|
|
|
|
PROCEDURE ULTIMAZIL
|
|
*
|
|
ENDPROC
|
|
|
|
PROCEDURE IERULAJMAGAZII
|
|
*
|
|
ENDPROC
|
|
|
|
PROCEDURE IESTOCURIMAGAZII
|
|
*
|
|
ENDPROC
|
|
|
|
PROCEDURE INRULAJMAGAZII
|
|
*
|
|
ENDPROC
|
|
|
|
PROCEDURE INSTOCURIMAGAZII
|
|
*
|
|
ENDPROC
|
|
|
|
*!* *!* *!* *!* *!* *!* *!* *!* *!*
|