Files
roaimob/Programe/Vechi/compar_calendare.prg

78 lines
2.5 KiB
Plaintext

PARAMETERS tcFisImob, tcFisCont
LOCAL lcFisImob,lcAliasImob,lcFisCont,lnSucces,lcCaleFisier
STORE '' TO lcFisImob,lcAliasImob,lcFisCont,lcCaleFisier
lnSucces = 1
lcAliasImob = [calendar]
glImobIndependent = .F.
IF EMPTY(tcFisImob) OR TYPE('tcFisImob') # 'C'
lcFisImob = 'calendarmf'
ELSE
lcFisImob = ALLTRIM(tcFisImob)
ENDIF
IF EMPTY(tcFisCont) OR TYPE('tcFisCont') # 'C'
lcFisCont = 'calendar'
ELSE
lcFisCont = ALLTRIM(tcFisCont)
ENDIF
*** verific daca in DATERETEA in tabelul start_programe.dbf am independ = .T.
*!* IF TYPE('gcCaleDateRetea') = 'U' && in prg principal. dc am start nou
*!* lcDateRetea = ADDBS(ALLTRIM(dirgen)) + 'DATERETEA'
*!* ELSE
*!* lcDateRetea = ALLTRIM(gcCaleDateRetea)
*!* ENDIF
*!* lcCaleFisier = ADDBS(lcDateRetea) + 'start_programe.dbf'
*!* IF FILE(lcCaleFisier)
*!* USE &lcCaleFisier IN 0 SHARED ALIAS start_prg
*!* IF TYPE('start_prg.independ') # 'U'
*!* SELECT start_prg
*!* LOCATE FOR INLIST(UPPER(ALLTRIM(gcAppName)),UPPER(ALLTRIM(nume)),UPPER(ALLTRIM(director)))
*!* IF FOUND() AND independ
*!* gleIndependent = .T.
*!* ENDIF
*!* ENDIF
*!* ENDIF
***
IF glImobIndependent && dc programul ruleaza independent de contabilitate
lcCaleFisierImob = ADDBS(CALEFIRMA) + [datean\] + lcFisImob + [.dbf]
lcCaleFisierCont = ADDBS(CALEFIRMA) + [datean\] + lcFisCont + [.dbf]
IF !FILE(lcCaleFisierImob)
DO des WITH lcAliasImob && se creaza structura vida
IF FILE(lcCaleFisierCont)
* USE &lcCaleFisierCont IN 0 shared ALIAS calendar_cont
SELECT (lcAliasImob)
APPEND FROM &lcCaleFisierCont FOR !DELETED() AND (!EMPTY(an) OR !EMPTY(nl))
ENDIF
ENDIF
ENDIF
IF !glImobIndependent && dc programul e legat de contabilitate
lcCaleFisierImob = ADDBS(CALEFIRMA) + [datean\] + lcFisImob + [.dbf]
lcCaleFisierCont = ADDBS(CALEFIRMA) + [datean\] + lcFisCont + [.dbf]
DO des WITH lcAliasImob
IF !FILE(lcCaleFisierCont)
DO mesaj WITH 'Nu exista fisierul calendar.dbf!','Deschideti programul de contabilitate.'
lnSucces = -1
ENDIF
IF lnSucces > 0 && compar calendarele, update calendarmf
* USE &lcCaleFisierCont IN 0 shared ALIAS calendar_cont
SELECT (lcAliasImob)
CALCULATE MAX(12*VAL(an)+VAL(nl)) TO lnMaxData
APPEND FROM &lcCaleFisierCont FOR (12*VAL(an)+VAL(nl))>lnMaxData AND !DELETED() AND (12*VAL(an)+VAL(nl))# 0 && IN CAZUL UNUI CALENDAR CU LINII GOALE
ENDIF
ENDIF
IF USED(lcAliasImob)
USE IN &lcAliasImob
ENDIF
IF USED('start_prg')
USE IN start_prg
ENDIF
RETURN lnSucces