Files
comun/programe/ocautare.prg
Marius Mutu ccb8fd2cc6 Verificare ANAF: perioada de TVA spune ce reprezinta; optiunea intreaba inainte sa modifice
SufixPerioadaTVA lipea intervalul direct dupa verdict ("Neplatitor TVA
05/07/2002 - 18/04/2012"), ceea ce se citea ca perioada in care partenerul NU a
fost platitor - exact pe dos. Eticheta spune acum ce reprezinta: "inregistrat TVA
<de la> - <pana la>", respectiv "cod TVA anulat din <data>". Detaliile F4 arata
perioada si in ramurile "Nu exista partener cu CUI ..." si "Nu s-a putut citi
lista de parteneri", unde lipsea - adica tocmai in cazul in care utilizatorul
n-avea de unde sa afle ce inseamna datele din banda de stare.

ANAF_ComutaVerificare afisa un mesaj informativ si apoi cerea neconditionat
valoarea noua, propunand valoarea curenta. Cand verificarea era oprita local din
settings.ini, valoarea propusa era 0, iar un Enter reflex o salva ca optiune de
utilizator - ceea ce transforma tacut o oprire locala in oprire pe orice
calculator. Mesajul intreaba acum Da/Nu si propune 9 (oprire locala) in loc de 0.

reguli_lucru.md pct. 2: istoricul modificarilor sta doar in antetul fisierului,
la fel in .prg si in package-urile/procedurile PL/SQL Oracle; in corpul codului
doar comentarii functionale, niciodata data/autor/"am modificat".

Adaugat docs/sold-neexigibil-reportat-jc2007-jv2007.md: jc2007/jv2007 tin o linie
per factura PER PERIOADA (soldul neexigibil se reporteaza lunar), deci orice
interogare pe sold se filtreaza pe an/luna.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
2026-07-28 15:12:13 +03:00

4061 lines
163 KiB
Plaintext
Raw Blame History

*!* 24.07.2009
*!* marius.mutu
*!* CAUT_ARTICOL (tlCautPlus - daca se foloseste formularul caut_alfa_form_plus cu butonul but_start_criterii)
*!* 04.09.2009
*!* marius.mutu
*!* caut_gestiune_xml ( + tnPornire)
*!* 22.02.2010
*!* marius.mutu
*!* caut_gestiune_xml gcCondSucursala
*!* 06.07.2011
*!* marius.mutu
*!* caut_politici_preturi
*!* cautare in vcrm_politici_preturi dupa drepturi utilizator
*!* 19.12.2011
*!* marius.mutu
*!* caut_parteneri_xml - selectie inclusiv parteneri vechi unificati si transformati in parteneri noi
*!* 01.02.2013
*!* marius.mutu
*!* caut_gestiune_xml - corectat c.id_sucursala in loc de a.id_sucursala
*!* 06.01.2014
*!* marius.mutu
*!* caut_gestiune_dest - am mutat conditia de la planul de conturi sintetic si analitic in join, in loc de where - nu mergea in unele cazuri
*!* 28.09.2018
*!* marius.mutu
*!* caut_parteneri + parametru tlInactiv: daca arat si partenerii inactivi (ex: la fisa de cont, cand un partener s-a unificat, partenerul vechi este inactiv)
*!* 17.01.2020
*!* marius.mutu
*!* caut_responsabil - include CNP, se foloseste in baza.vcx > item.gotfocus, ca sa se afiseza si marca responsabilului
*!* 12.12.2024
*!* marius.mutu
*!* caut_client_contract_activ - nu se iau contracte active de pe clienti inactivi
*!* 27.07.2026
*!* marius.mutu
*!* verificare ANAF la alegerea partenerului: banda de stare sub gridul de cautare arata starea la data
*!* documentului, codul fiscal invalid, inexistent la ANAF sau nenumeric pe randul curent, imediat ce apar
*!* rezultatele cautarii si la fiecare schimbare de rand; F4 deschide detaliile, iar alegerea altei variante
*!* de partener se propune doar cand codul difera de ANAF; optiunea RC_ANAF_VERIF_SELECTIE; cand serviciul
*!* ANAF nu raspunde, verificarile se opresc pe 10 minute si banda arata ca au fost sarite; la deschiderea
*!* formularului, daca starea serviciului nu e cunoscuta, pleaca o sonda asincrona care stabileste
*!* disponibilitatea fara sa blocheze interfata, iar randul curent asteapta rezultatul ei
*!* 27.07.2026
*!* marius.mutu
*!* verificare ANAF: banda de stare arata si perioada de inregistrare in scopuri de TVA, cu eticheta
*!* explicita ('inregistrat TVA' / 'cod TVA anulat din'), doar cand starea difera de ROA, partenerul e
*!* inactiv sau perioada s-a incheiat deja; F4 arata intotdeauna perioada completa si mesajul primit
*!* de la ANAF, inclusiv cand nu exista partener cu codul corect
*!* #DEFINE CRLF CHR(13) + CHR(10)
#INCLUDE COMUN\ROA.H
Procedure ANAF_StarePartener
Lparameters tcCodFiscal, tdData, tlDoarCache, tlNecesitaApel, tlNegasit, tcClasaEsec, tnTipPersoana
Local lcCodFiscal, lcCui, loRezANAF, lcCheieCache, lnI, llValid, loOut, ldData, llNegasit, lcStareServiciu
tlNecesitaApel = .F.
tlNegasit = .F.
tcClasaEsec = ''
*** guard mediu partajat - ocautare.prg e inclus si de alte produse ROA fara validare.prg/goLog incarcate
If !('VALIDARE' $ Upper(Set('Procedure'))) Or Type('goLog') <> 'O'
Return .Null.
Endif
lcCodFiscal = Alltrim(Nvl(m.tcCodFiscal, ''))
If Empty(m.lcCodFiscal)
Return .Null.
Endif
*** normalizare + excludere persoane fizice (CNP 13 cifre) / semnalizare coduri nenumerice dupa eliminarea RO
lcCui = NormalizeazaCUI(m.lcCodFiscal)
llValid = !Empty(m.lcCui)
If m.llValid
For lnI = 1 To Len(m.lcCui)
If !Isdigit(Substr(m.lcCui, lnI, 1))
llValid = .F.
Exit
Endif
Endfor
Endif
If m.llValid And Len(m.lcCui) = 13 And !(Vartype(m.tnTipPersoana) = 'N' And m.tnTipPersoana = 1)
tcClasaEsec = 'CNP'
Return .Null.
Endif
If !m.llValid
tcClasaEsec = 'COD_NENUMERIC'
Return .Null.
Endif
ldData = ANAF_CaData(m.tdData)
If Empty(m.ldData) And Type('poAct.dataact') $ 'DT'
ldData = ANAF_CaData(poAct.dataact)
Endif
If Empty(m.ldData)
ldData = Date()
Endif
*** cache pe sesiune (cheie = CUI normalizat + data verificarii) + apel ANAF (wrapper single-CUI, validare.prg), fara Wait Window
If Type('goCacheANAF_Sesiune') <> 'O'
Public goCacheANAF_Sesiune
goCacheANAF_Sesiune = Createobject('Collection')
Endif
lcCheieCache = 'C' + m.lcCui + '_' + Dtos(m.ldData)
If goCacheANAF_Sesiune.GetKey(m.lcCheieCache) = 0
lcStareServiciu = ANAF_StareServiciu()
Do Case
Case m.lcStareServiciu == 'CAZUT'
tlNecesitaApel = .F.
tcClasaEsec = 'FARA_RASPUNS'
Return .Null.
Case m.lcStareServiciu == 'SE_TESTEAZA'
tlNecesitaApel = .T.
tcClasaEsec = 'SE_TESTEAZA'
Return .Null.
Endcase
tlNecesitaApel = .T.
If m.tlDoarCache
Return .Null.
Endif
llNegasit = .F.
loRezANAF = ANAF_VerificaCuiSingle(m.lcCui, m.ldData, @llNegasit, @tcClasaEsec)
Do Case
Case m.tcClasaEsec == 'FARA_RASPUNS'
ANAF_SeteazaStareServiciu('CAZUT', 'CUI=' + m.lcCui)
Case m.tcClasaEsec == ''
ANAF_SeteazaStareServiciu('VIU', 'CUI=' + m.lcCui)
Endcase
If Vartype(m.loRezANAF) = 'O'
goCacheANAF_Sesiune.Add(m.loRezANAF, m.lcCheieCache)
Endif
Else
loRezANAF = goCacheANAF_Sesiune.Item(m.lcCheieCache)
Endif
If Vartype(m.loRezANAF) <> 'O'
tlNegasit = m.llNegasit
Return .Null.
Endif
*** verdict
loOut = Createobject("Empty")
Addproperty(loOut, "cCui", m.lcCui)
Addproperty(loOut, "lAreRO", Left(Upper(Alltrim(m.lcCodFiscal)), 2) = 'RO')
Addproperty(loOut, "lPlatitorANAF", loRezANAF.scpTVA)
Addproperty(loOut, "lInactivANAF", loRezANAF.statusInactivi)
Addproperty(loOut, "cDenumireANAF", Alltrim(Nvl(loRezANAF.denumire, '')))
Addproperty(loOut, "lDiscordanta", (loRezANAF.scpTVA <> loOut.lAreRO) Or loRezANAF.statusInactivi)
Addproperty(loOut, "dInceputScpTVA", Iif(Pemstatus(loRezANAF, 'dInceputScpTVA', 5), Nvl(loRezANAF.dInceputScpTVA, {}), {}))
Addproperty(loOut, "dSfarsitScpTVA", Iif(Pemstatus(loRezANAF, 'dSfarsitScpTVA', 5), Nvl(loRezANAF.dSfarsitScpTVA, {}), {}))
Addproperty(loOut, "dAnulareScpTVA", Iif(Pemstatus(loRezANAF, 'dAnulareScpTVA', 5), Nvl(loRezANAF.dAnulareScpTVA, {}), {}))
Addproperty(loOut, "cMesajScpTVA", Iif(Pemstatus(loRezANAF, 'cMesajScpTVA', 5), Alltrim(Nvl(loRezANAF.cMesajScpTVA, '')), ''))
Addproperty(loOut, "dData", m.ldData)
Return loOut
Endproc && ANAF_StarePartener
Procedure ANAF_StareServiciu
If Type('gcANAF_StareServiciu') = 'U'
Public gcANAF_StareServiciu, gtANAF_StareServiciuMoment, gnANAF_StareServiciuStamp
gcANAF_StareServiciu = 'NECUNOSCUT'
gtANAF_StareServiciuMoment = Datetime()
gnANAF_StareServiciuStamp = 0
Endif
If gcANAF_StareServiciu == 'CAZUT' And (Datetime() - gtANAF_StareServiciuMoment) >= 600
ANAF_SeteazaStareServiciu('NECUNOSCUT', 'expirare CAZUT dupa 10 minute')
Endif
Return gcANAF_StareServiciu
Endproc && ANAF_StareServiciu
Procedure ANAF_SeteazaStareServiciu
Lparameters tcStare, tcMotiv
If Type('gcANAF_StareServiciu') = 'U'
ANAF_StareServiciu()
Endif
If gcANAF_StareServiciu == m.tcStare
Return
Endif
If Type('goLog') = 'O'
goLog.Log('ANAF stare serviciu: ' + gcANAF_StareServiciu + ' -> ' + m.tcStare + ' (' + Alltrim(Nvl(m.tcMotiv, '')) + ')', 'anaf_verif_cautare')
Endif
gcANAF_StareServiciu = m.tcStare
gtANAF_StareServiciuMoment = Datetime()
gnANAF_StareServiciuStamp = gnANAF_StareServiciuStamp + 1
Endproc && ANAF_SeteazaStareServiciu
*** interogheaza sonda de disponibilitate (validare.prg) din timerul existent; termen de viata 10 secunde,
*** guard de reintrare (timerele VFP pot trage in timpul pomparii de mesaje dintr-un AMESSAGEBOX)
Procedure ANAF_SondaVerifica
Local llReusit
If ANAF_StareServiciu() <> 'SE_TESTEAZA'
Return
Endif
If Type('glANAF_SondaInterogareInCurs') = 'U'
Public glANAF_SondaInterogareInCurs
glANAF_SondaInterogareInCurs = .F.
Endif
If glANAF_SondaInterogareInCurs
Return
Endif
glANAF_SondaInterogareInCurs = .T.
Try
If (Datetime() - gtANAF_StareServiciuMoment) >= 10
ANAF_SondaOpreste()
ANAF_SeteazaStareServiciu('CAZUT', 'sonda expirata dupa 10 secunde')
Else
If ANAF_SondaAuSositRaspunsul()
llReusit = ANAF_SondaAReusit()
ANAF_SondaOpreste()
ANAF_SeteazaStareServiciu(Iif(m.llReusit, 'VIU', 'CAZUT'), 'sonda de disponibilitate')
Endif
Endif
Finally
glANAF_SondaInterogareInCurs = .F.
Endtry
Endproc && ANAF_SondaVerifica
Procedure ANAF_ValidareCod
Lparameters tcCodFiscal, tnTipPersoana
Local lcCodFiscal, lcCui, loVerificareCod, lnTipPersoana, llCnp
If !('VALIDARE' $ Upper(Set('Procedure')))
Return ''
Endif
lcCodFiscal = Alltrim(Nvl(m.tcCodFiscal, ''))
If Empty(m.lcCodFiscal)
Return ''
Endif
loVerificareCod = Createobject("VerificareCod")
lcCui = NormalizeazaCUI(m.lcCodFiscal)
lnTipPersoana = Nvl(m.tnTipPersoana, 0)
llCnp = Iif(m.lnTipPersoana = 2, .T., Iif(m.lnTipPersoana = 1, .F., Len(m.lcCui) = 13))
If m.llCnp
Return Iif(loVerificareCod.VALIDARE_CNP(m.lcCui), '', 'CNP invalid (' + m.lcCui + ')')
Endif
Return Iif(loVerificareCod.VALIDARE_CIF(m.lcCui), '', 'CIF invalid (' + m.lcCui + ')')
Endproc && ANAF_ValidareCod
Procedure ANAF_CaData
*** data documentului poate veni si ca DateTime (ex. tact.dataact din note contabile)
Lparameters tuValoare
Do Case
Case Vartype(m.tuValoare) = 'D'
Return m.tuValoare
Case Vartype(m.tuValoare) = 'T'
Return Ttod(m.tuValoare)
Otherwise
Return {}
Endcase
Endproc && ANAF_CaData
Procedure ANAF_NivelVerificare
*** cascada RC_ANAF_VERIF_SELECTIE: 0=oprit, 1=verdict pe rand (implicit), 2=rezervat (tratat ca 1), 3=verdict+confirmare
Local lcSel, lcCheie, lnNivel, lcVal
*** kill-switch - doar valoarea explicita '0' opreste; absenta NU seteaza nivelul
If Alltrim(Nvl(getini(gcGeneralIniFile, 'anaf', 'verificare_selectie'), '')) == '0'
Return 0
Endif
*** cache pe sesiune - cheia (schema + utilizator) invalideaza automat la schimbarea firmei/utilizatorului
lcCheie = 'N' + Iif(Type('gcS') = 'C', gcS, '') + '_' + Iif(Type('gnIdUtil') = 'N', Transform(gnIdUtil), '')
If Type('goCacheANAF_Nivel') <> 'O'
Public goCacheANAF_Nivel
goCacheANAF_Nivel = Createobject('Collection')
Endif
If goCacheANAF_Nivel.GetKey(m.lcCheie) <> 0
Return goCacheANAF_Nivel.Item(m.lcCheie)
Endif
lnNivel = 1
lcSel = Select()
If 'OINIT_OPTIUNI' $ Upper(Set('Procedure'))
lcVal = Iif(Used('crsOptiuniUtilizator'), Alltrim(Nvl(citeste_optiune_utilizator('RC_ANAF_VERIF_SELECTIE'), '')), '')
If Empty(m.lcVal) And Used('crsOptiuni')
lcVal = Alltrim(Nvl(citeste_optiune('RC_ANAF_VERIF_SELECTIE'), ''))
Endif
If !Empty(m.lcVal)
lnNivel = Int(Val(m.lcVal))
Endif
Endif
Select (m.lcSel)
goCacheANAF_Nivel.Add(m.lnNivel, m.lcCheie)
Return m.lnNivel
Endproc && ANAF_NivelVerificare
Procedure ANAF_CautaPereche
Lparameters tcCui, tcCursor
Local lcSelect, lnSucces
lcSelect = [SELECT ID_PART, DENUMIRE, COD_FISCAL, INACTIV FROM NOM_PARTENERI ] + ;
[WHERE STERS = 0 AND (UPPER(REPLACE(COD_FISCAL,' ','')) = '] + m.tcCui + [' ] + ;
[OR UPPER(REPLACE(COD_FISCAL,' ','')) = 'RO] + m.tcCui + [') ORDER BY UPPER(DENUMIRE), ID_PART]
If Used(m.tcCursor)
Use In (m.tcCursor)
Endif
lnSucces = goExecutor.oExecute(m.lcSelect, m.tcCursor)
If m.lnSucces < 0
goLog.Log('ANAF_CautaPereche: ' + goExecutor.cEroare, 'ANAF_CautaPereche')
If Used(m.tcCursor)
Use In (m.tcCursor)
Endif
Return .F. && degradare tacuta
Endif
Return .T.
Endproc && ANAF_CautaPereche
Procedure AplicaInlocuirePartenerANAF
Lparameters toPartener, toInlocuire, tcTipuriParteneri
Local lnRecCnt
If Vartype(m.toInlocuire) <> 'O' Or Isnull(m.toPartener) Or Type('toPartener.id_part') <> 'N'
Return
Endif
toPartener.id_part = toInlocuire.nIdPart
If Type('toPartener.denumire') = 'C'
toPartener.denumire = toInlocuire.cDenumire
Endif
If Type('toPartener.nume') = 'C'
toPartener.nume = toInlocuire.cDenumire
Endif
toPartener.cod_fiscal = toInlocuire.cCodFiscal
*** recalculeaza tip pentru id-ul perechii, acelasi criteriu ca SELECT-ul gridului (coresp_tip_part)
If Type('toPartener.tip') = 'N' And !Empty(Nvl(m.tcTipuriParteneri, ''))
lnRecCnt = 0
goExecutor.oSelect2Value([SELECT COUNT(*) AS NR FROM CORESP_TIP_PART WHERE ID_PART = ] + Transform(toInlocuire.nIdPart) + ;
[ AND ID_TIP_PART IN (] + m.tcTipuriParteneri + [)], @lnRecCnt)
toPartener.tip = Iif(Nvl(m.lnRecCnt, 0) > 0, 0, 1)
Endif
goLog.Log('ANAF: inlocuire partener -> id_part=' + Transform(toInlocuire.nIdPart), 'AplicaInlocuirePartenerANAF')
Endproc && AplicaInlocuirePartenerANAF
Procedure ANAF_ComutaVerificare
*** valori: 0 = oprit, 1 = starea pe randul curent, 3 = starea si confirmarea la partener discordant, 9 = oprit pe acest calculator
Local lcSel, lcOptiune, lcEticheta, lcValIni, lcValUtil, lcValFirma, lcSursa, lnNivel, lnNou, lcMesaj
lcEticheta = 'Verificare ANAF la alegerea partenerului'
lcOptiune = 'RC_ANAF_VERIF_SELECTIE'
lcSel = Select()
lcValIni = Alltrim(Nvl(getini(gcGeneralIniFile, 'anaf', 'verificare_selectie'), ''))
lcValUtil = ''
lcValFirma = ''
If 'OINIT_OPTIUNI' $ Upper(Set('Procedure'))
lcValUtil = Iif(Used('crsOptiuniUtilizator'), Alltrim(Nvl(citeste_optiune_utilizator(m.lcOptiune), '')), '')
lcValFirma = Iif(Used('crsOptiuni'), Alltrim(Nvl(citeste_optiune(m.lcOptiune), '')), '')
Endif
Select (m.lcSel)
lnNivel = ANAF_NivelVerificare()
Do Case
Case m.lcValIni == '0'
lcSursa = 'oprita pe acest calculator (settings.ini)'
Case !Empty(m.lcValUtil)
lcSursa = 'setata pentru utilizatorul curent'
Case !Empty(m.lcValFirma)
lcSursa = 'setata pentru firma'
Otherwise
lcSursa = 'implicita'
Endcase
lcMesaj = 'Acum: ' + Transform(m.lnNivel) + ' - ' + ANAF_TextNivel(m.lnNivel) + Chr(13) + ;
'(' + m.lcSursa + ')' + Chr(13) + Chr(13) + ;
' 0 = ' + ANAF_TextNivel(0) + Chr(13) + ;
' 1 = ' + ANAF_TextNivel(1) + Chr(13) + ;
' 3 = ' + ANAF_TextNivel(3) + Chr(13) + ;
' 9 = ' + ANAF_TextNivel(9) + Chr(13) + Chr(13) + ;
'Valorile 0, 1 si 3 va urmaresc pe orice calculator.'
If Amessagebox(m.lcMesaj + Chr(13) + Chr(13) + 'Modificati valoarea?', 4 + 32, lcEticheta) <> 6
Return
Endif
lnNou = aInputBox('Valoarea noua (0, 1, 3 sau 9):', m.lcEticheta, Iif(m.lcValIni == '0', 9, m.lnNivel))
If Vartype(m.lnNou) <> 'N' Or !Inlist(m.lnNou, 0, 1, 3, 9)
Return
Endif
If m.lnNou = 9
setini(gcGeneralIniFile, 'anaf', 'verificare_selectie', '0')
Else
If m.lcValIni == '0'
setini(gcGeneralIniFile, 'anaf', 'verificare_selectie', '1')
Endif
If !('OINIT_OPTIUNI' $ Upper(Set('Procedure'))) Or !Used('crsOptiuniUtilizator')
Amessagebox('Optiunea nu poate fi salvata: lipseste lista de optiuni ale utilizatorului.', 0 + 48, lcEticheta)
Return
Endif
lcSel = Select()
scrie_optiune_utilizator(m.lcOptiune, Alltrim(Str(m.lnNou)), 'VERIFICARE ANAF LA ALEGEREA PARTENERULUI')
Select (m.lcSel)
Endif
If Type('goCacheANAF_Nivel') = 'O'
Release goCacheANAF_Nivel
Endif
Endproc && ANAF_ComutaVerificare
Procedure ANAF_TextNivel
Lparameters tnNivel
Do Case
Case m.tnNivel = 0
Return 'fara verificare'
Case m.tnNivel = 9
Return 'oprita pe acest calculator, pentru toti utilizatorii lui'
Case m.tnNivel >= 3
Return 'arata starea si intreaba la alegerea unui partener discordant'
Otherwise
Return 'arata starea partenerului la ANAF pe randul curent'
Endcase
Endproc && ANAF_TextNivel
DEFINE CLASS anaf_timer AS Timer
oOwner = .Null.
Interval = 400
Enabled = .F.
PROCEDURE Timer
This.Enabled = .F.
ANAF_SondaVerifica()
If Vartype(This.oOwner) = 'O'
This.oOwner.EvalueazaRand(.T.)
Endif
ENDPROC
ENDDEFINE
DEFINE CLASS anaf_label AS Label
FontName = 'Arial'
FontSize = 10
BackStyle = 0
ENDDEFINE
DEFINE CLASS anaf_verif_cautare AS Custom
oForm = .Null.
oTimer = .Null.
nIdPart = 0
oStare = .Null.
cCui = ''
dDataDoc = {}
oCandidati = .Null.
nNivel = 1
lNegasit = .F.
lDecis = .F.
lVerificareInCurs = .F.
nStareServiciuStamp = 0
cClasaEsec = ''
PROCEDURE Activeaza
Lparameters toForm
Local lcCursor, llCreat
If Vartype(m.toForm) <> 'O' Or toForm.lAles
Return
Endif
lcCursor = toForm.crs_cursor
If !Used(m.lcCursor) Or Type(m.lcCursor + '.cod_fiscal') <> 'C' Or Type(m.lcCursor + '.id_part') <> 'N'
Return
Endif
llCreat = .F.
Try
toForm.NewObject('lb_anaf', '_label', '_baza.vcx')
llCreat = .T.
Catch
llCreat = .F.
Endtry
If !m.llCreat
Try
toForm.AddObject('lb_anaf', 'anaf_label')
llCreat = .T.
Catch
llCreat = .F.
Endtry
Endif
If !m.llCreat
Return
Endif
This.oForm = toForm
This.oTimer = Createobject('anaf_timer')
This.oTimer.oOwner = This
If Type('toForm._GRID1') = 'O' And Bitand(toForm._GRID1.Anchor, 8) = 8
toForm._GRID1.Anchor = toForm._GRID1.Anchor - 8 && inaltimea gridului o dau eu, in AjusteazaBanda
Endif
toForm.Height = toForm.Height + 54
With toForm.lb_anaf
.AutoSize = .F.
.BackStyle = 1
.BackColor = Rgb(240, 240, 240)
.WordWrap = .T.
.MousePointer = 15
.Left = 8
.Width = toForm.Width - 20
.Height = 46
.Top = toForm.Height - 50
.Caption = ''
.Visible = .T.
.Anchor = 14
Endwith
Bindevent(toForm.lb_anaf, 'Click', This, 'Detalii')
Bindevent(toForm, 'Resize', This, 'AjusteazaBanda')
Bindevent(toForm, 'Activate', This, 'AjusteazaBanda')
If Pemstatus(toForm, 'do_cauta', 5)
Bindevent(toForm, 'do_cauta', This, 'DupaCautare', 1)
Endif
If ANAF_StareServiciu() == 'NECUNOSCUT'
If ANAF_SondaPorneste()
ANAF_SeteazaStareServiciu('SE_TESTEAZA', 'sonda pornita la deschidere formular')
Endif
Endif
This.AjusteazaBanda()
Bindevent(toForm._GRID1, 'AfterRowColChange', This, 'DupaRand')
This.AfiseazaPrompt()
ENDPROC
PROCEDURE AjusteazaBanda
*** gridul ramane ancorat jos; il opresc doar sa intre peste banda labelului
Local lnMax
If Vartype(This.oForm) <> 'O' Or Type('This.oForm._GRID1') <> 'O'
Return
Endif
If Bitand(This.oForm._GRID1.Anchor, 8) = 8
This.oForm._GRID1.Anchor = This.oForm._GRID1.Anchor - 8
Endif
lnMax = This.oForm.Height - 58 - This.oForm._GRID1.Top
If m.lnMax > 60
This.oForm._GRID1.Height = m.lnMax
Endif
ENDPROC
PROCEDURE Dezactiveaza
Local llSondaOprita
llSondaOprita = ANAF_SondaOpreste()
If m.llSondaOprita And ANAF_StareServiciu() == 'SE_TESTEAZA'
ANAF_SeteazaStareServiciu('NECUNOSCUT', 'formular inchis cu sonda in aer')
Endif
If Vartype(This.oTimer) = 'O'
This.oTimer.Enabled = .F.
This.oTimer.oOwner = .Null.
This.oTimer = .Null.
Endif
If Vartype(This.oForm) = 'O'
Try
Unbindevents(This.oForm, 'Resize', This, 'AjusteazaBanda')
Unbindevents(This.oForm, 'Activate', This, 'AjusteazaBanda')
Unbindevents(This.oForm, 'do_cauta', This, 'DupaCautare')
Catch
Endtry
If Type('This.oForm.lb_anaf') = 'O'
Try
Unbindevents(This.oForm.lb_anaf)
Catch
Endtry
Endif
If Type('This.oForm._GRID1') = 'O'
Try
Unbindevents(This.oForm._GRID1)
Catch
Endtry
Endif
Endif
This.oForm = .Null.
ENDPROC
PROCEDURE DupaRand
Lparameters nColIndex
This.EvalueazaRand(.F.)
ENDPROC
PROCEDURE DupaCautare
This.EvalueazaRand(.T.)
ENDPROC
PROCEDURE VerificaRand
Lparameters tlSincron
Return This.EvalueazaRand(.T.)
ENDPROC
PROCEDURE EvalueazaRand
Lparameters tlPermiteApel
Local lcCursor, lnId, lcCodFiscal, loStare, lnTipPersoana, lcCodInvalid, llNecesitaApel, llNegasit, lcClasaEsec
If Vartype(This.oForm) <> 'O'
Return .F.
Endif
If Vartype(This.oTimer) = 'O'
This.oTimer.Enabled = .F.
Endif
lcCursor = This.oForm.crs_cursor
If !Used(m.lcCursor) Or Reccount(m.lcCursor) = 0
This.nIdPart = 0
This.oStare = .Null.
This.cCui = ''
This.lNegasit = .F.
This.cClasaEsec = ''
This.AfiseazaPrompt()
Return .F.
Endif
lnId = Nvl(Evaluate(m.lcCursor + '.id_part'), 0)
lcCodFiscal = Alltrim(Nvl(Evaluate(m.lcCursor + '.cod_fiscal'), ''))
If m.lnId = 0
This.AfiseazaPrompt()
Return .F.
Endif
If Type('gnANAF_StareServiciuStamp') = 'N' And gnANAF_StareServiciuStamp <> This.nStareServiciuStamp
This.nStareServiciuStamp = gnANAF_StareServiciuStamp
This.nIdPart = 0
Endif
If m.lnId = This.nIdPart
Return !Isnull(This.oStare)
Endif
lnTipPersoana = Iif(Type(m.lcCursor + '.tip_persoana') = 'N', Nvl(Evaluate(m.lcCursor + '.tip_persoana'), 0), 0)
lcCodInvalid = ANAF_ValidareCod(m.lcCodFiscal, m.lnTipPersoana)
If !Empty(m.lcCodInvalid)
This.nIdPart = m.lnId
This.oStare = .Null.
This.cCui = ''
This.lNegasit = .F.
This.cClasaEsec = 'COD_INVALID'
This.SeteazaLabel(m.lcCodInvalid + ' (F4 = detalii)', .T.)
goLog.Log('Cod fiscal invalid: ' + m.lcCodInvalid + ' id_part=' + Transform(m.lnId), 'anaf_verif_cautare')
Return .F.
Endif
If This.lVerificareInCurs
Return .F.
Endif
llNecesitaApel = .F.
llNegasit = .F.
lcClasaEsec = ''
This.lVerificareInCurs = .T.
Try
loStare = ANAF_StarePartener(m.lcCodFiscal, This.dDataDoc, !m.tlPermiteApel, @llNecesitaApel, @llNegasit, @lcClasaEsec, m.lnTipPersoana)
Finally
This.lVerificareInCurs = .F.
Endtry
If m.lcClasaEsec == 'SE_TESTEAZA'
This.SeteazaLabel('ANAF: se verifica ' + Alltrim(m.lcCodFiscal) + '...', .F., .T.)
If Vartype(This.oTimer) = 'O'
This.oTimer.Enabled = .T.
Endif
Return .F.
Endif
If !m.tlPermiteApel And m.llNecesitaApel
This.SeteazaLabel('ANAF: se verifica ' + Alltrim(m.lcCodFiscal) + '...', .F., .T.)
If Vartype(This.oTimer) = 'O'
This.oTimer.Enabled = .T.
Endif
Return .F.
Endif
This.nIdPart = m.lnId
This.oStare = m.loStare
This.lNegasit = m.llNegasit
This.cClasaEsec = m.lcClasaEsec
This.cCui = Iif(Isnull(m.loStare), '', loStare.cCui)
Do Case
Case Isnull(m.loStare) And m.llNegasit
This.SeteazaLabel('Cod fiscal inexistent la ANAF (' + Alltrim(m.lcCodFiscal) + ') (F4 = detalii)', .T.)
goLog.Log('Cod fiscal inexistent la ANAF: ' + Alltrim(m.lcCodFiscal) + ' id_part=' + Transform(m.lnId), 'anaf_verif_cautare')
Return .F.
Case Isnull(m.loStare) And Inlist(m.lcClasaEsec, 'FARA_RASPUNS', 'RASPUNS_NEINTELES')
This.SeteazaLabel('ANAF nu a raspuns - verificare sarita', .F., .T.)
Return .F.
Case Isnull(m.loStare) And m.lcClasaEsec == 'COD_NENUMERIC'
This.SeteazaLabel('Cod fiscal nenumeric - nu se poate verifica la ANAF', .F., .T.)
goLog.Log('Cod fiscal nenumeric: ' + Alltrim(m.lcCodFiscal) + ' id_part=' + Transform(m.lnId), 'anaf_verif_cautare')
Return .F.
Case Isnull(m.loStare) And m.lcClasaEsec == 'CNP'
This.SeteazaLabel('Persoana fizica - CNP corect', .F., .T.)
Return .F.
Case Isnull(m.loStare)
This.AfiseazaPrompt()
Return .F.
Case !loStare.lDiscordanta
This.SeteazaLabel(This.TextAnaf(m.loStare, .F., 24) + ' (F4 = detalii)', .F.)
Otherwise
This.SeteazaLabel(This.TextAnaf(m.loStare, .F., 24) + ' (F4 = detalii)', .T.)
goLog.Log('Discordanta ANAF: CUI=' + loStare.cCui + ' id_part=' + Transform(m.lnId) + ;
' scpTVA=' + Transform(loStare.lPlatitorANAF) + ' inactivANAF=' + Transform(loStare.lInactivANAF), 'anaf_verif_cautare')
Endcase
Return .T.
ENDPROC
PROCEDURE AfiseazaPrompt
This.SeteazaLabel('Verificare ANAF la alegerea partenerului (F4 = detalii)', .F., .T.)
ENDPROC
PROCEDURE SeteazaLabel
Lparameters tcText, tlAvertisment, tlNeutru
If Vartype(This.oForm) <> 'O'
Return
Endif
With This.oForm.lb_anaf
.Caption = Iif(Empty(m.tcText), '', ' ' + Chr(149) + ' ' + m.tcText)
.ForeColor = Iif(m.tlAvertisment, Rgb(192, 0, 0), Iif(m.tlNeutru, Rgb(112, 112, 112), Rgb(0, 128, 0)))
.FontBold = m.tlAvertisment
Endwith
This.oForm.lb_anaf.Refresh()
ENDPROC
PROCEDURE TextStare
Lparameters toStare, tcPerioada
Return Iif(toStare.lPlatitorANAF, 'Platitor TVA', 'Neplatitor TVA') + Nvl(m.tcPerioada, '') + Iif(toStare.lInactivANAF, ', Inactiv', '')
ENDPROC
PROCEDURE SufixPerioadaTVA
Lparameters toStare
If !(toStare.lDiscordanta Or !Empty(toStare.dAnulareScpTVA) Or (!Empty(toStare.dSfarsitScpTVA) And toStare.dSfarsitScpTVA < Date()))
Return ''
Endif
Do Case
Case !Empty(toStare.dAnulareScpTVA)
Return ', cod TVA anulat din ' + Dtoc(toStare.dAnulareScpTVA)
Case !Empty(toStare.dSfarsitScpTVA) And !Empty(toStare.dInceputScpTVA)
Return ', inregistrat TVA ' + Dtoc(toStare.dInceputScpTVA) + ' - ' + Dtoc(toStare.dSfarsitScpTVA)
Case !Empty(toStare.dInceputScpTVA)
Return ', inregistrat TVA din ' + Dtoc(toStare.dInceputScpTVA)
Endcase
Return ''
ENDPROC
PROCEDURE TextAnaf
Lparameters toStare, tlCuVirgula, tnMaxLen
Local lcCodOk, lcDenANAF, lcDenFull, lcPerioada
lcCodOk = Iif(toStare.lPlatitorANAF, 'RO', '') + toStare.cCui
lcDenFull = Alltrim(Nvl(toStare.cDenumireANAF, ''))
lcDenANAF = lcDenFull
If Vartype(m.tnMaxLen) = 'N' And m.tnMaxLen > 0 And Len(m.lcDenFull) > m.tnMaxLen
lcDenANAF = Left(m.lcDenFull, m.tnMaxLen) + '...'
Endif
lcPerioada = This.SufixPerioadaTVA(toStare)
Return 'ANAF: ' + This.TextStare(toStare, m.lcPerioada) + ' (' + ;
Iif(Empty(m.lcDenANAF), '', m.lcDenANAF + Iif(m.tlCuVirgula, ', ', ' ')) + m.lcCodOk + ')' + ;
Iif(Empty(m.lcPerioada), ' la ' + Dtoc(toStare.dData), '')
ENDPROC
PROCEDURE TextPerioadaTVA
Lparameters toStare
Local lcTxt
lcTxt = ''
If !Empty(toStare.dInceputScpTVA)
lcTxt = m.lcTxt + 'Inceput inregistrare TVA: ' + Dtoc(toStare.dInceputScpTVA) + Chr(13)
Endif
If !Empty(toStare.dSfarsitScpTVA)
lcTxt = m.lcTxt + 'Sfarsit inregistrare TVA: ' + Dtoc(toStare.dSfarsitScpTVA) + Chr(13)
Endif
If !Empty(toStare.dAnulareScpTVA)
lcTxt = m.lcTxt + 'Anulare din oficiu: ' + Dtoc(toStare.dAnulareScpTVA) + Chr(13)
Endif
If !Empty(toStare.cMesajScpTVA)
lcTxt = m.lcTxt + 'Mesaj ANAF: ' + Alltrim(toStare.cMesajScpTVA) + Chr(13)
Endif
If !Empty(m.lcTxt)
lcTxt = m.lcTxt + Chr(13)
Endif
Return m.lcTxt
ENDPROC
PROCEDURE AntetDialog
Lparameters tcDenAles, tcCodAles
Local lcAntet
lcAntet = Alltrim(m.tcDenAles) + ' (CUI: ' + Alltrim(m.tcCodAles) + ', ID: ' + Transform(This.nIdPart) + ')' + Chr(13) + Chr(13)
If !Isnull(This.oStare)
lcAntet = m.lcAntet + This.TextAnaf(This.oStare, .T.) + Chr(13) + Chr(13)
Endif
Return m.lcAntet
ENDPROC
PROCEDURE ListaCorecti
Lparameters tnCandidati, tnCandidat, tcDenPereche, tlEroare
Local lcCursorP, lcLista, lcCodOk, loCandidat
lcCodOk = Iif(This.oStare.lPlatitorANAF, 'RO', '') + This.cCui
lcLista = ''
tnCandidati = 0
tnCandidat = 0
tcDenPereche = ''
tlEroare = .F.
This.oCandidati = Createobject('Collection')
lcCursorP = Sys(2015)
If ANAF_CautaPereche(This.cCui, m.lcCursorP)
Select (m.lcCursorP)
Scan For Chrtran(Upper(Alltrim(Nvl(cod_fiscal, ''))), ' ', '') == Upper(m.lcCodOk) And id_part <> This.nIdPart
tnCandidati = m.tnCandidati + 1
lcLista = m.lcLista + ' ' + Transform(m.tnCandidati) + '. ' + Alltrim(Nvl(denumire, '')) + ;
' (ID: ' + Transform(id_part) + ')' + Iif(Nvl(inactiv, 0) = 1, ' inactiv', '') + Chr(13)
loCandidat = Createobject('Empty')
Addproperty(loCandidat, 'nIdPart', id_part)
Addproperty(loCandidat, 'cDenumire', Alltrim(Nvl(denumire, '')))
Addproperty(loCandidat, 'lInactiv', Nvl(inactiv, 0) = 1)
Addproperty(loCandidat, 'lAreDocumente', .F.)
This.oCandidati.Add(loCandidat)
If m.tnCandidati = 1
tnCandidat = id_part
tcDenPereche = Alltrim(Nvl(denumire, ''))
Endif
Endscan
Use In (m.lcCursorP)
Else
tlEroare = .T.
Endif
Return m.lcLista
ENDPROC
PROCEDURE MarcheazaDocumente
*** discriminator "are documente in perioada" - un singur SELECT, apelat doar din Detalii
Local lcSirId, lcCursorD, lnI, loCand
If Vartype(This.oCandidati) <> 'O' Or This.oCandidati.Count = 0 Or Type('gnAn') <> 'N' Or Type('gnLuna') <> 'N'
Return
Endif
lcSirId = ''
For lnI = 1 To This.oCandidati.Count
lcSirId = m.lcSirId + Iif(Empty(m.lcSirId), '', ',') + Transform(This.oCandidati.Item(m.lnI).nIdPart)
Endfor
lcCursorD = Sys(2015)
If goExecutor.oExecute([SELECT DISTINCT ID_PART FROM IREG_PARTENERI WHERE AN = ] + Transform(gnAn) + ;
[ AND LUNA = ] + Transform(gnLuna) + [ AND ID_PART IN (] + m.lcSirId + [)], m.lcCursorD) < 0
goLog.Log('MarcheazaDocumente: ' + goExecutor.cEroare, 'anaf_verif_cautare')
If Used(m.lcCursorD)
Use In (m.lcCursorD)
Endif
Return
Endif
Select (m.lcCursorD)
Scan
For lnI = 1 To This.oCandidati.Count
loCand = This.oCandidati.Item(m.lnI)
If loCand.nIdPart = id_part
loCand.lAreDocumente = .T.
Endif
Endfor
Endscan
Use In (m.lcCursorD)
ENDPROC
PROCEDURE TextListaCandidati
Local lcLista, lnI, loCand
lcLista = ''
If Vartype(This.oCandidati) = 'O'
For lnI = 1 To This.oCandidati.Count
loCand = This.oCandidati.Item(m.lnI)
lcLista = m.lcLista + ' ' + Transform(m.lnI) + '. ' + Alltrim(loCand.cDenumire) + ;
' (ID: ' + Transform(loCand.nIdPart) + ')' + Iif(loCand.lInactiv, ' inactiv', '') + ;
Iif(loCand.lAreDocumente, ' are documente in perioada', '') + Chr(13)
Endfor
Endif
Return m.lcLista
ENDPROC
PROCEDURE Detalii
Local lcCursor, lcDenAles, lcCodAles, lcCodOk, lcLista, lcMesaj, lnCandidati, lnCandidat, lcDenPereche
Local lnRasp, lnAles, loAles, llEroare, lcPerioadaTVA
If Vartype(This.oForm) <> 'O'
Return
Endif
poANAFInlocuire = .Null.
lcCursor = This.oForm.crs_cursor
lcDenAles = Alltrim(Nvl(Evaluate(m.lcCursor + '.denumire'), Nvl(Evaluate(m.lcCursor + '.nume'), '')))
lcCodAles = Alltrim(Nvl(Evaluate(m.lcCursor + '.cod_fiscal'), ''))
If Isnull(This.oStare)
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + ;
Iif(This.lNegasit, 'Codul fiscal nu exista la ANAF.', ;
Iif(This.cClasaEsec == 'COD_NENUMERIC', 'Codul fiscal nu este numeric - nu se poate verifica la ANAF.', ;
Iif(This.cClasaEsec == 'CNP', 'Persoana fizica - CNP corect.', ;
Iif(This.cClasaEsec == 'COD_INVALID', 'Cod fiscal invalid - nu s-a interogat ANAF. Corectati codul in fisa partenerului.', ;
'ANAF nu a raspuns - verificarea a fost sarita.'))))), ;
0 + 64, 'Verificare partener ANAF')
Return
Endif
lcPerioadaTVA = This.TextPerioadaTVA(This.oStare)
If This.oStare.lAreRO = This.oStare.lPlatitorANAF
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + ;
Iif(This.oStare.lInactivANAF, 'Nu exista alta varianta de partener de ales.', 'Codul fiscal corespunde.'), ;
0 + 64, 'Verificare partener ANAF')
Return
Endif
lcCodOk = Iif(This.oStare.lPlatitorANAF, 'RO', '') + This.cCui
lnCandidati = 0
lnCandidat = 0
lcDenPereche = ''
llEroare = .F.
This.ListaCorecti(@lnCandidati, @lnCandidat, @lcDenPereche, @llEroare)
If m.llEroare
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + 'Nu s-a putut citi lista de parteneri.', ;
0 + 64, 'Verificare partener ANAF')
Return
Endif
If m.lnCandidati = 0
Amessagebox(This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + ;
'Nu exista partener cu CUI ' + m.lcCodOk + ' (il puteti crea cu butonul Nou).', 0 + 64, 'Verificare partener ANAF')
Return
Endif
This.MarcheazaDocumente()
lcLista = This.TextListaCandidati()
lcMesaj = This.AntetDialog(m.lcDenAles, m.lcCodAles) + m.lcPerioadaTVA + 'Parteneri ROA cu CUI ' + m.lcCodOk + ':' + Chr(13) + m.lcLista + Chr(13) + ;
'Da = Pastreaza selectia' + Chr(13) + ;
Iif(m.lnCandidati = 1, 'Nu = Alege 1 ' + m.lcDenPereche + ' (ID: ' + Transform(m.lnCandidat) + ')', ;
'Nu = Alege din lista (1-' + Transform(m.lnCandidati) + ')') + Chr(13) + ;
'Abandon = Renunta'
Do While .T.
lnRasp = Amessagebox(m.lcMesaj, 3 + 48, 'Verificare partener ANAF')
Do Case
Case m.lnRasp = 7 && Nu - alege alt partener din lista
lnAles = 1
If m.lnCandidati > 1
lnAles = aInputBox('Numarul variantei (1-' + Transform(m.lnCandidati) + ')', 'Verificare ANAF', 1)
If Vartype(m.lnAles) <> 'N' Or m.lnAles < 1 Or m.lnAles > m.lnCandidati
Loop
Endif
Endif
loAles = This.oCandidati.Item(m.lnAles)
poANAFInlocuire = Createobject('Empty')
Addproperty(poANAFInlocuire, 'nIdPart', loAles.nIdPart)
Addproperty(poANAFInlocuire, 'cDenumire', loAles.cDenumire)
Addproperty(poANAFInlocuire, 'cCodFiscal', m.lcCodOk)
goLog.Log('Decizie ANAF (Detalii): ALEGE PERECHEA id_part=' + Transform(loAles.nIdPart), 'anaf_verif_cautare')
This.lDecis = .T.
Exit
Case m.lnRasp = 6 && Da - pastreaza selectia curenta
goLog.Log('Decizie ANAF (Detalii): CONTINUA CU ALEGEREA', 'anaf_verif_cautare')
This.lDecis = .T.
Exit
Otherwise && Abandon - renunta la alegerea unei variante
poANAFInlocuire = .Null.
goLog.Log('Decizie ANAF (Detalii): RENUNTA', 'anaf_verif_cautare')
Exit
Endcase
Enddo
If (m.lnRasp = 6 Or m.lnRasp = 7) And Pemstatus(This.oForm, 'do_termin', 5)
This.oForm.do_termin()
Endif
ENDPROC
PROCEDURE VerificaAlegere
Lparameters toForm
Local lcCursor, lcDenAles, lcCodAles, lcCodOk, lnCandidati, lnCandidat, lcDenPereche
Local lcLista, lcMesaj, lnRasp, lnAles, loAles, llEroare, lnIdCurent
If Vartype(This.oForm) <> 'O'
Return .T.
Endif
If This.lDecis
Return .T.
Endif
If This.nNivel < 3
*** nivel 1/2: fara apel ANAF nou - se logheaza doar starea deja cunoscuta din navigarea prin grid
lcCursor = This.oForm.crs_cursor
If Used(m.lcCursor) And Reccount(m.lcCursor) > 0
lnIdCurent = Nvl(Evaluate(m.lcCursor + '.id_part'), 0)
If m.lnIdCurent = This.nIdPart And !Isnull(This.oStare) And This.oStare.lDiscordanta
goLog.Log('Alegere partener discordant ANAF (fara confirmare): CUI=' + This.cCui + ' id_part=' + Transform(This.nIdPart) + ;
' scpTVA=' + Transform(This.oStare.lPlatitorANAF) + ' inactivANAF=' + Transform(This.oStare.lInactivANAF), 'anaf_verif_cautare')
Endif
Endif
Return .T.
Endif
If Inlist(ANAF_StareServiciu(), 'CAZUT', 'SE_TESTEAZA')
Return .T.
Endif
*** nivel 3: comportamentul de azi, neschimbat (verificare sincrona + confirmare)
If !This.VerificaRand(.T.)
Return .T.
Endif
If Isnull(This.oStare) Or !This.oStare.lDiscordanta
Return .T.
Endif
lcCursor = This.oForm.crs_cursor
lcDenAles = Alltrim(Nvl(Evaluate(m.lcCursor + '.denumire'), Nvl(Evaluate(m.lcCursor + '.nume'), '')))
lcCodAles = Alltrim(Nvl(Evaluate(m.lcCursor + '.cod_fiscal'), ''))
lcCodOk = Iif(This.oStare.lPlatitorANAF, 'RO', '') + This.cCui
If This.oStare.lAreRO = This.oStare.lPlatitorANAF
lcMesaj = This.AntetDialog(m.lcDenAles, m.lcCodAles) + ;
'De acord = Pastreaza selectia' + Chr(13) + ;
'Abandon = Inapoi la cautare'
lnRasp = Amessagebox(m.lcMesaj, 1 + 48, 'Verificare ANAF')
goLog.Log('Decizie ANAF (inactiv la ANAF): rasp=' + Transform(m.lnRasp), 'anaf_verif_cautare')
Return (m.lnRasp = 1)
Endif
lnCandidati = 0
lnCandidat = 0
lcDenPereche = ''
llEroare = .F.
lcLista = This.ListaCorecti(@lnCandidati, @lnCandidat, @lcDenPereche, @llEroare)
lcMesaj = This.AntetDialog(m.lcDenAles, m.lcCodAles)
If m.llEroare
lcMesaj = m.lcMesaj + 'Nu s-a putut citi lista de parteneri.' + Chr(13) + Chr(13) + ;
'De acord = Pastreaza selectia' + Chr(13) + ;
'Abandon = Inapoi la cautare'
lnRasp = Amessagebox(m.lcMesaj, 1 + 48, 'Verificare ANAF')
goLog.Log('Decizie ANAF (lista indisponibila): rasp=' + Transform(m.lnRasp), 'anaf_verif_cautare')
Return (m.lnRasp = 1)
Endif
If m.lnCandidati = 0
lcMesaj = m.lcMesaj + 'Nu exista partener cu CUI ' + m.lcCodOk + ' (il puteti crea cu butonul Nou).' + Chr(13) + Chr(13) + ;
'De acord = Pastreaza selectia' + Chr(13) + ;
'Abandon = Inapoi la cautare'
lnRasp = Amessagebox(m.lcMesaj, 1 + 48, 'Verificare ANAF')
goLog.Log('Decizie ANAF (fara pereche): rasp=' + Transform(m.lnRasp), 'anaf_verif_cautare')
Return (m.lnRasp = 1)
Endif
lcMesaj = m.lcMesaj + 'Parteneri ROA cu CUI ' + m.lcCodOk + ':' + Chr(13) + m.lcLista + Chr(13) + ;
'Da = Pastreaza selectia' + Chr(13) + ;
Iif(m.lnCandidati = 1, 'Nu = Alege 1 ' + m.lcDenPereche + ' (ID: ' + Transform(m.lnCandidat) + ')', ;
'Nu = Alege din lista (1-' + Transform(m.lnCandidati) + ')') + Chr(13) + ;
'Abandon = Inapoi la cautare'
Do While .T.
lnRasp = Amessagebox(m.lcMesaj, 3 + 48, 'Verificare ANAF')
Do Case
Case m.lnRasp = 7 && Nu - alternativa cu cod fiscal corect (numarul cerut daca sunt mai multe)
lnAles = 1
If m.lnCandidati > 1
lnAles = aInputBox('Numarul variantei (1-' + Transform(m.lnCandidati) + ')', 'Verificare ANAF', 1)
If Vartype(m.lnAles) <> 'N' Or m.lnAles < 1 Or m.lnAles > m.lnCandidati
Loop
Endif
Endif
loAles = This.oCandidati.Item(m.lnAles)
poANAFInlocuire = Createobject('Empty')
Addproperty(poANAFInlocuire, 'nIdPart', loAles.nIdPart)
Addproperty(poANAFInlocuire, 'cDenumire', loAles.cDenumire)
Addproperty(poANAFInlocuire, 'cCodFiscal', m.lcCodOk)
goLog.Log('Decizie ANAF: ALEGE PERECHEA id_part=' + Transform(loAles.nIdPart), 'anaf_verif_cautare')
Return .T.
Case m.lnRasp = 6 && Da - continua cu selectia curenta
goLog.Log('Decizie ANAF: CONTINUA CU ALEGEREA', 'anaf_verif_cautare')
Return .T.
Otherwise && Abandon - inapoi la cautare
goLog.Log('Decizie ANAF: RAMAI IN CAUTARE', 'anaf_verif_cautare')
Return .F.
Endcase
Enddo
ENDPROC
ENDDEFINE
************************************************************************************************************************
* CautPartenerContabilitate(cTitlu, cTipuriParteneri)
* Date : 04/10/2006
* author : marius.mutu
* se cauta un partener dupa o lista de tipuri partener in toti partenerii
* se ordoneaza lista de parteneri - intai partenerii cu tip in lista de tipuri, apoi restul
* se coloreaza partenerii care nu au tip in lista de tipuri
* se poate da un cont - se obtine lista de tipuri partener din coresp_tip_cont
* se pot adauga corespondentele daca aleg un partener care nu are tipurile asociate
* loCauta = CautPartenerContabilitate(GetHash([cTitlu=>Alegeti partenerul 401??lAdaugCorespondente=>1??cCont=>401])
******************************************* INCEPUT:CautPartenerContabilitate*******************************************
Procedure CautPartenerContabilitate
Lparameters toHash
&& ctitlu: Nume client/furnizor etc.
&& cTipuriParteneri: lista de id-uri tipuri partener delimitata prin ','
&& cCont: contul pentru care se obtine lista de tipuri partener
&& llAdaugCorespondente: daca se adauga corespondente partener - tipuri partener
Local loHash As MyHash, lcSelect, lcTitlu, lcTipuriParteneri, lnSucces, llAllInList, lnPornire, lcFiltruOrig, lcNumeProcedura, llAdaugCorespondente
Local lVerificaANAF, ldDataDoc, lnNivelANAF
*!* parametrii
lcTitlu = toHash.GetValue("cTitlu")
lcTipuriParteneri = toHash.GetValue("cTipuriParteneri")
lcCont = toHash.GetValue("cCont")
llAdaugCorespondente = toHash.GetValue("lAdaugCorespondente")
lcNumeProcedura = toHash.GetValue("cNumeProc")
lcFiltruOrig = toHash.GetValue("cFiltruOrig")
llAllInList = toHash.GetValue("lAllInList")
lnPornire = toHash.GetValue("nPornire")
lVerificaANAF = toHash.GetValue("lVerificaANAF")
ldDataDoc = toHash.GetValue("dDataDoc")
*!* parametrii
If Empty(lcTitlu)
lcTitlu = 'Alegeti partenerul'
Endif
&& se obtine lista de tipuri parteneri asociata unui cont
If !Empty(lcCont) And Empty(lcTipuriParteneri)
lcSelect = [SELECT stringAgg(to_char(id_tip_part)) FROM coresp_tip_cont WHERE cont = '] + lcCont + [']
lnSucces = goExecutor.oSelect2Value(lcSelect, @lcTipuriParteneri)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare')
Endif
Endif
lcTipuriParteneri = Nvl(lcTipuriParteneri, '')
If !Empty(lcTipuriParteneri)
*!* selectia se face din corespondente tipuri partener
lcSelect = [SELECT MIN(CASE WHEN A.ID_TIP_PART in (] + lcTipuriParteneri + [) THEN 0 ELSE 1 END) AS TIP,] + ;
[B.ID_PART, B.DENUMIRE AS NUME, B.COD_FISCAL, B.DENUMIRE, B.TIP_PERSOANA ] + ;
[ FROM CORESP_TIP_PART A ] + ;
[ LEFT JOIN NOM_PARTENERI B ON A.ID_PART = B.ID_PART ]
Else
*!* selectia se face din parteneri
lcSelect = [SELECT 0 as TIP, B.ID_PART, B.DENUMIRE AS NUME, B.COD_FISCAL, B.DENUMIRE, B.TIP_PERSOANA ] + ;
[ FROM NOM_PARTENERI B ]
Endif
loHash = GetHash()
With loHash
.SetValue("cSelect", lcSelect)
.SetValue("cFiltru", "1=2")
.SetValue("cOrder", "1,NUME")
If !Empty(Nvl(lcTipuriParteneri, ''))
.SetValue("cGroup", "B.ID_PART, B.DENUMIRE, B.COD_FISCAL, B.TIP_PERSOANA")
Endif
.SetValue("cColoana", "denumire,cod_fiscal,id_part")
.SetValue("cTitlu", lcTitlu)
.SetValue("cTitluColoana", "Nume,Cod fiscal,ID")
If !Empty(lcFiltruOrig)
lcFiltruOrig = [B.STERS = 0 AND B.INACTIV = 0 AND ] + lcFiltruOrig
Else
lcFiltruOrig = [B.STERS = 0 AND B.INACTIV = 0]
Endif
.SetValue("cFiltruOriginal", lcFiltruOrig)
*!* IF EMPTY(lcTipuriParteneri)
*!* && daca nu exista tipuri la un cont
*!* .SetValue("cFiltruOriginal", "1=2")
*!* ENDIF
.SetValue("cPrimaColoana", "denumire")
If Empty(lcNumeProcedura)
.SetValue("cNumeProc", [nom_parteneri;"] + lcTipuriParteneri + ["])
Else
.SetValue("cNumeProc", lcNumeProcedura)
ENDIF
.SetValue("cProceduraVerifica", "nom_parteneri_verifica")
.SetValue("cProceduraCopiaza", "nom_parteneri_copiaza")
If !Empty(lcTipuriParteneri)
*!* daca partenerii sunt ordonati dupa tip - coloreaza partenerii care au tip = 1
.SetValue("cGridDynamicBackColor", [IIF(TIP = 1, RGB(225,225,225), RGB(255,255,255))])
.SetValue("cGridToolTip", "Partenerii de alt tip sunt colorati gri.")
Endif
.SetValue("lAllInList", llAllInList)
.SetValue("nPornire", lnPornire)
Endwith
Private poVerifAlegere, poANAFInlocuire
poVerifAlegere = .Null.
poANAFInlocuire = .Null.
If m.lVerificaANAF
lnNivelANAF = ANAF_NivelVerificare()
If m.lnNivelANAF > 0
poVerifAlegere = Createobject('anaf_verif_cautare')
poVerifAlegere.dDataDoc = ANAF_CaData(m.ldDataDoc)
poVerifAlegere.nNivel = m.lnNivelANAF
Endif
Endif
loCauta = cauta_alfa_hash(loHash) && 11.07.2007
If Type('gnbuton') = 'N' And gnbuton = 1
AplicaInlocuirePartenerANAF(loCauta, poANAFInlocuire, lcTipuriParteneri)
Endif
*!* ADAUG TIPURI DE PARTENER - PARTENER DACA NU EXISTA
If llAdaugCorespondente And !Isnull(loCauta) And Type('loCauta.id_part') = 'N' And loCauta.id_part <> 0 And !Empty(lcTipuriParteneri) And loCauta.tip = 1
Do ADAUGA_CORESP_TIP_PART With loCauta.id_part, lcTipuriParteneri In oproceduri_parteneri.prg
Endif
Return loCauta
Endproc && CautPartenerContabilitate
******************************************* SFARSIT: CautPartenerContabilitate*******************************************
* PROCEDURE caut_parteneri( tcCont )
* Date : 04/11/2004, 14:01:21
* author : lavinia.viziru
******************************************* INCEPUT:caut_parteneri *******************************************
Procedure caut_parteneri( tcCont, tcTitlu, tlToateIreg, tlNou, tlInactiv, tlVerificaANAF, tdDataDoc)
Local lcCont, loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcCont = tcCont
llInactiv = m.tlInactiv && daca arat si partenerii inactivi (ex: la fisa de cont, cand un partener s-a unificat, partenerul vechi este inactiv)
lcSelect = [select distinct p.denumire, p.nume, p.cod_fiscal, p.id_part, p.inactiv, p.tip_persoana FROM Vcoresp_tip_part p ] + ;
[ join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [P.denumire]
lccoloane = [denumire, nume, cod_fiscal, id_part, inactiv]
If Empty(lcCont)
lcFiltruOriginal = IIF(m.llInactiv, [1=1],[p.inactiv = 0])
Else
lcFiltruOriginal = IIF(m.llInactiv, [1=1],[p.inactiv = 0]) + [ and c.cont='] + Alltrim(lcCont) + [']
Endif
If Empty(tcTitlu)
lcTitlu = "Alegeti partenerul"
Else
lcTitlu = tcTitlu
Endif
If tlNou
lcNumeProc = [nom_parteneri]
Else
lcNumeProc = []
ENDIF
lcTitluColoane = [Denumire, Nume,Cod fiscal, Id, Inactiv]
Local lnNivelANAF
Private poVerifAlegere, poANAFInlocuire
poVerifAlegere = .Null.
poANAFInlocuire = .Null.
If m.tlVerificaANAF
lnNivelANAF = ANAF_NivelVerificare()
If m.lnNivelANAF > 0
poVerifAlegere = Createobject('anaf_verif_cautare')
poVerifAlegere.dDataDoc = ANAF_CaData(m.tdDataDoc)
poVerifAlegere.nNivel = m.lnNivelANAF
Endif
Endif
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
If Type('gnbuton') = 'N' And gnbuton = 1
AplicaInlocuirePartenerANAF(loCauta, poANAFInlocuire)
Endif
Return loCauta
Endproc
******************************************* SFARSIT: caut_parteneri *******************************************
******************************************* INCEPUT:caut_parteneri_xml *******************************************
*** se cauta inclusiv partenerii vechi care au fost unificati in parteneri noi
Procedure caut_parteneri_xml( tcCont, tcTitlu, tlToateIreg, tlNou)
Local lcCont, loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcCont = tcCont
TEXT TO lcSelect NOSHOW
select distinct
case when p2.id_part <> p1.id_part then p1.denumire || ' <<< 'else '' end || nvl(p2.denumire, p1.denumire) as denumire,
p2.nume,
p2.cod_fiscal,
CASE WHEN NVL(p2.inactiv,0) <> 0 THEN 'INACTIV' ELSE ' ' END AS inactiv,
p2.id_part
FROM CORESP_TIP_PART p
JOIN CORESP_TIP_CONT c
on p.id_tip_part = c.id_tip_part
left join nom_parteneri_modificari pm
on p.id_part = pm.id_part_vechi
left JOIN NOM_PARTENERI p1
on pm.id_part_NOU = p1.ID_PART
left join nom_parteneri p2
on p.id_part = p2.ID_PART
ENDTEXT
*!* lcSelect = [select distinct p.denumire, p.nume, p.cod_fiscal, p.id_part FROM Vcoresp_tip_part p ]+;
*!* [ join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [3]
lccoloane = [denumire, nume, cod_fiscal, inactiv, id_part]
*!* lcFiltruOriginal = [p.inactiv = 0]
lcFiltruOriginal = []
If !Empty(lcCont)
*!* lcFiltruOriginal = [p.inactiv = 0 and c.cont=']+ Alltrim(lcCont) + [']
*!* modificare ROACONT v 2.5.40
lcFiltruOriginal = lcFiltruOriginal + [c.cont='] + Alltrim(lcCont) + [']
Endif
If Empty(tcTitlu)
lcTitlu = "Alegeti partenerul (mouse-click pe nume sau apasati SPACE)"
Else
lcTitlu = tcTitlu + " (mouse-click pe nume sau apasati SPACE)"
Endif
If tlNou
lcNumeProc = [nom_parteneri]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Denumire, Nume, Cod fiscal, Inactiv, Id]
lnTipReturn = 1 && XML
*!* lcPrimaColoana = "denumire"
lcPrimaColoana = "nvl(p1.denumire, p2.denumire)"
lcIdColumn = "id_part"
lcNume_Proc = []
lnPornire = 1
lcXMLParteneri = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNume_Proc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLParteneri
Endfunc && caut_parteneri_xml
******************************************* SFARSIT: caut_parteneri_xml *******************************************
* PROCEDURE caut_partener()
* author : paula.mutu
* -- SIR CU ID-URI TIP PARTENER PENTRU -1,-2 (CLIENT/FURNIZOR)
******************************************* INCEPUT:caut_partener *******************************************
Procedure caut_partener(tcIdTipPart, tcTitlu, tlToateIreg, tlNou)
Private pnIdTip, pcSir_Id_tip_part
Store '' To pcSir_Id_tip_part
pnIdTip = tcIdTipPart
&& pnIdTip && -1 - Clienti; -2 - Furnizori
lcSql = [begin pack_def.get_conturi_tip_part(?pnIdTip, ?@pcSir_Id_tip_part); end;]
lnSucces = goExecutor.oExecute(lcSql)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare')
Return
Endif
Local lcCont, loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcSelect = [select denumire, cod_fiscal, id_part from vnom_parteneri ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire, cod_fiscal, id_part]
If Empty(pcSir_Id_tip_part) Or Isnull(pcSir_Id_tip_part)
lcFiltruOriginal = [inactiv = 0]
Else
lcFiltruOriginal = [inactiv = 0 and id_part in (select distinct id_part from coresp_tip_part where id_tip_part in (] + pcSir_Id_tip_part + [))]
Endif
If Empty(tcTitlu)
lcTitlu = "Alegeti partenerul"
Else
lcTitlu = tcTitlu
Endif
If tlNou
lcNumeProc = [nom_parteneri]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Denumire,Cod fiscal,Id]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_partener *******************************************
******************************************* INCEPUT: caut_partener_dupa_tip *******************************************
Procedure caut_partener_dupa_tip
Lparameters tnIdTipPart, tcTitlu, tnIdPart, tcNumePart, tcSirIdTipPart
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_part,denumire from vcoresp_tip_part]
pcFiltruOrig = [id_tip_part=] + Alltrim(Str(tnIdTipPart))
lcProceduraNou = [nom_parteneri;] + Alltrim(Str(tnIdTipPart)) + [,'Entitate',1,2]
If !Empty(tcSirIdTipPart)
pcFiltruOrig = pcFiltruOrig + [and id_part not in (select id_part from coresp_tip_part where id_tip_part in (] + tcSirIdTipPart + [))]
Endif
pcfiltru = [1=2]
pcschema = []
pcorder = [2]
pccoloane = [denumire]
pcTitlu = Iif(!Empty(tcTitlu), tcTitlu, [Alegeti partenerul])
pcTitluColoane = [Nume]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcProceduraNou, .F., pcFiltruOrig) && 11.07.2007
If !Empty(loCauta.id_part)
tnIdPart = loCauta.id_part
tcNumePart = Alltrim(loCauta.denumire)
llReturn = .T.
Endif
Return llReturn
Endproc
******************************************* SFARSIT: caut_partener_dupa_tip *******************************************
******************************************* INCEPUT: caut_categorie_entitate *******************************************
Procedure caut_categorie_entitate
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_categorie_entitate,categorie_entitate from vnom_categorii_entitati]
pcfiltru = [1=2]
pcschema = []
pcorder = [2]
pccoloane = [categorie_entitate]
pcTitlu = [Alegeti categoria]
pcTitluColoane = [Categorie entitate]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_categorie_entitate *******************************************
******************************************* INCEPUT: caut_marca_masina *******************************************
Procedure caut_marca_masina
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_marca_masina,marca_masina from vnom_marci_masini]
pcfiltru = [1=2]
pcschema = []
pcorder = [2]
pccoloane = [marca_masina]
pcTitlu = [Alegeti marca masinii]
pcTitluColoane = [Marca]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_marca_masina *******************************************
* PROCEDURE caut_lucrare
* Date : 31.07.2006
* author : marius.mutu
******************************************* INCEPUT:caut_lucrare *******************************************
Procedure caut_lucrare(tlToateIreg, tlNou, tcFiltruOriginal)
*!* modificare 30.06.2011 ( ROAAUTO v 2.0.28 ) : am adaugat tcFiltruOriginal
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store Null To loCauta
lcSelect = [select nrord, id_lucrare from vnom_lucrari]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [nrord]
lccoloane = [nrord,id_lucrare]
lcFiltruOriginal = [inactiv = 0] + IIF(!EMPTY(tcfiltruOriginal), [ and ] + tcFiltruOriginal, [])
lcTitlu = "Alegeti lucrarea"
If tlNou
lcNumeProc = [nom_lucrari]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Lucrare,Id]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_lucrare *******************************************
******************************************* INCEPUT:caut_articol *******************************************
Function caut_articol
Lparameters tntipg, tlToateIreg, tlMultipleArticles, tlCRM, tlCautPlus, tlFaraAdaugare, tnIdGrupa, tlInactive
Store "" To loCauta
*!* tlCautPlus - daca se foloseste formularul caut_alfa_form_plus cu butonul but_start_criterii
*!* 24.07.2009
*!* 29.01.2013 : am adaugat um2 in selectie
*!* 19.07.2013 : am adaugat in_stoc in selectie
*!* 11.09.2013 : am adaugat tlInactive
Local lcStringCriterii
lcStringCriterii = ""
If tlCautPlus
lcStringCriterii = "Cod material\codmat\T\none\" + crlf + ;
"Denumire articol\denumire\T\id_articol\nom_articol" + crlf + ;
"Subgrupa articol\none\I\id_subgrupa\nom_subgrupa_articol" + crlf
lcTitluColoane = [Cod Material, Denumire,Subgrupa, Cod bare,U.M.,Cont,Id]
lccoloane = [codmat,denumire,subgrupa,codbare,um,cont,id_articol]
Else
lccoloane = [denumire,codmat,codbare,um,cont,id_articol]
lcTitluColoane = [Denumire,Cod Material,Cod bare,U.M.,Cont,Id]
Endif
*!* 24.07.2009 ^
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lcNumeProc = []
If tlMultipleArticles
lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)]
Else
lcTitlu = [Alegeti articolul]
Endif
llMultipleArticles = tlMultipleArticles
If tlCRM
lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont, ] + ;
[ a.id_articol, 0 as id_tipgest,a.in_stoc, a.inactiv from vnom_articole_crm a ]
lcFiltruOriginal = IIF(tlInactive, [2=2], [a.inactiv=0])
*lcNumeProc = [nom_articole2]
*!* modificare 03.02.2010
*!* lcNumeProc = [nom_articole]
If !tlFaraAdaugare
lcNumeProc = [nom_articole]
Endif
*!* modificare 03.02.2010 ^
Else
If Type('tnTipg') = 'N' And tntipg > 0
lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont,a.acont, ] + ;
[a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, b.id_tipgest, a.in_stoc, a.inactiv from vnom_articole a inner join coresp_cont_tipgest b on a.cont = b.cont]
lcFiltruOriginal = IIF(tlInactive, [], [ a.inactiv=0 and]) + [ b.id_tipgest = ] + Alltrim(Str(tntipg))
Else
lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.um2,a.cont,a.acont,] + ;
[a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, 0 as id_tipgest, a.in_stoc, a.inactiv from vnom_articole a ]
lcFiltruOriginal = IIF(tlInactive, [2=2], [a.inactiv=0])
Endif
*!* modificare 03.02.2010
*!* lcNumeProc = [nom_articole]
If !tlFaraAdaugare
lcNumeProc = [nom_articole]
Endif
*!* modificare 03.02.2010 ^
Endif
*!* modificare v 10.01.2011
IF !EMPTY(tnIdGrupa)
lcFiltruOriginal = lcFiltruOriginal + [ and a.id_subgrupa in (select id_subgrupa from vgest_art_sbgr where id_grupa = ] + ALLTRIM(STR(tnIdGrupa)) + [)]
ENDIF
*!* modificare v 10.01.2011 ^
llToateIreg = tlToateIreg
lcPrimaColoana = [denumire]
lnPornire = 1
lnTipReturn = Iif(tlMultipleArticles, 1, 0)
lcIdColumn = "id_articol"
*!* 24.07.2009
loHash = GetHash()
With loHash
.SetValue("cSelect", lcSelect)
.SetValue("cFiltru", lcFiltru)
.SetValue("cSchema", lcSchema)
.SetValue("cOrder", lcOrder)
.SetValue("cColoana", lccoloane)
.SetValue("cTitlu", lcTitlu)
.SetValue("cTitluColoana", lcTitluColoane)
.SetValue("cNumeProc", lcNumeProc)
.SetValue("lToateIreg", llToateIreg)
.SetValue("cFiltruOriginal", lcFiltruOriginal)
.SetValue("cPrimaColoana", lcPrimaColoana)
.SetValue("nPornire", lnPornire)
.SetValue("nTipReturn", lnTipReturn)
.SetValue("cIdColumn", lcIdColumn)
.SetValue("cStringCriterii", lcStringCriterii)
If tlInactive
.SetValue("cGridDynamicBackColor", [IIF(inactiv = 1, RGB(225,225,225), RGB(255,255,255))])
Endif
Endwith
*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn , lcIdColumn, lcStringCriterii) && 11.07.2007
loCauta = cauta_alfa_hash(loHash)
*!* 24.07.2009 ^
Return loCauta && caut_articol
******************************************* SFARSIT: caut_articol *******************************************
Function cauta_articole
Lparameters tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire
*** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6
*** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F.
*** tcListaId = parametru OUT - lista id-uri articole
*** tcListaDenumire = parametru OUT - lista denumiri articole
Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema
Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llMultipleArticles, llToateIreg, lnPornire
Local lnTipReturn, loCauta, loLista
Store "" To loCauta
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol]
lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)]
lcTitluColoane = [Denumire,Cod Material,Cod bare,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id]
llMultipleArticles = .T.
lcSelect = [select a.denumire,a.codmat,a.codbare,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol from vnom_articole a ]
lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal), "")
lcNumeProc = [nom_articole]
llToateIreg = .F.
lcPrimaColoana = [denumire]
lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire)
lnTipReturn = Iif(llMultipleArticles, 1, 0)
lcIdColumn = "id_articol"
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
*!* 24.08.2011
IF m.llMultipleArticles
loLista = XML2ListaIDDescriere(loCauta, "id_articol", "denumire", tlLoud)
tcListaId = loLista.ListaId
tcListaDenumire = loLista.ListaDenumire
ENDIF
*!* 24.08.2011
Return loCauta && cauta_articole
Endfunc && cauta_articole
******************************************* SFARSIT: cauta_articole *******************************************
Function cauta_nom_articole
Lparameters tcFiltruOriginal, tnPornire, tlLoud, tcListaId, tcListaDenumire
*** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6
*** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F.
*** tcListaId = parametru OUT - lista id-uri articole
*** tcListaDenumire = parametru OUT - lista denumiri articole
Local lcFiltru, lcFiltruOriginal, lcIdColumn, lcNumeProc, lcOrder, lcPrimaColoana, lcSchema, lnPornire
Local lcSelect, lcTitlu, lcTitluColoane, lccoloane, llMultipleArticles, llToateIreg, lnTipReturn
Local loCauta, loLista
Store "" To loCauta
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,codmat,codbare,um,grupa,subgrupa,cont,acont,dnf,id_articol]
lcTitlu = [Alegeti articolele (mouse-click pe denumire sau apasati SPACE)]
lcTitluColoane = [Denumire,Cod Material,Cod bare,UM,Grupa,Subgrupa,Cont,Analitic,DNF,Id]
llMultipleArticles = .T.
lcSelect = [select a.denumire,a.codmat,a.codbare,a.um, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa,a.dnf,a.cont, a.acont, a.inactiv, a.id_articol,] + ;
[ a.um2, a.um_iso, a.cod_um_iso, a.cant_bax, a.in_crm, a.in_stoc, a.codmatf, a.conditii_pastrare,] + ;
[ a.id_part, a.partener, a.indicativ, a.taxa_reconditionare, a.id_articol_general, a.articol_general,] + ;
[ a.listare_codbare, a.tip, a.timpn, a.codnc8, a.greutate, a.id_tara_origine, a.tara_origine, a.codcpv] + ;
[ from ] + gcS + [.vnom_articole_toate a ]
lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal) + [ and ], "") + [a.inactiv = 0]
lcNumeProc = [nom_articole]
llToateIreg = .F.
lcPrimaColoana = [denumire]
lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire)
lnTipReturn = Iif(llMultipleArticles, 1, 0)
lcIdColumn = "id_articol"
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
*!* 24.08.2011
IF m.llMultipleArticles
loLista = XML2ListaIDDescriere(loCauta, "id_articol", "denumire", tlLoud)
tcListaId = loLista.ListaId
tcListaDenumire = loLista.ListaDenumire
ENDIF
*!* 24.08.2011
Return loCauta && cauta_nom_articole
Endfunc && cauta_nom_articole
******************************************* SFARSIT: cauta_nom_articole *******************************************
*** transforma un xml din cautare alfa multipla intr-o lista cu id-uri si o lista cu denumiri
*** ex: lista xml articole -> lista id-uri articole (100|101|102|) si lista denumiri articole (banana,morcov,telina)
*** intoarce un obiect cu 2 proprietati: ocautare.listaid, ocautare.listadenumire
FUNCTION XML2ListaIDDescriere
LPARAMETERS tcXML, tcCampId, tcCampDenumire, tlLoud
*** tcXML = xml cursor cautare alfa
*** tcCampId = nume camp ID din cursor. Ex: id_articol
*** tcCampDenumire = nume camp Denumire din cursor. Ex: denumire
*** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare", Default = .F.
LOCAL lcXML, llLoud, loCautare, lcSelect
lcSelect = SELECT()
lcXML = IIF(TYPE('tcXML') <> 'C' or PCOUNT() < 1, "", m.tcXML)
lcCampId = IIF(TYPE('tcCampId') <> 'C' or PCOUNT() < 2, "", m.tcCampId)
lcCampDenumire = IIF(TYPE('tcCampDenumire') <> 'C' or PCOUNT() < 3, "", m.tcCampDenumire)
llLoud = IIF(TYPE('tlLoud') <> 'L' or PCOUNT() < 4, .F., m.tlLoud)
loCautare = CREATEOBJECT("empty")
ADDPROPERTY(loCautare, "ListaId", "")
ADDPROPERTY(loCautare, "ListaDenumire", "")
If Empty(m.lcXML) OR EMPTY(m.lcCampId) OR EMPTY(m.lcCampDenumire)
SELECT (lcSelect)
RETURN loCautare
ENDIF
Xmltocursor(lcXML, "crsXMLTemp")
If Reccount('crsXMLTemp') = 0 AND m.llLoud
AMessageBox('Nu ati selectat nici o inregistrare!', 0 + 48, _screen.caption)
USE IN (SELECT("crsXMLTemp"))
SELECT (lcSelect)
RETURN loCautare
ENDIF
Select crsXMLTemp
Locate For &lcCampId = 0
If Found() And Reccount('crsXMLTemp') = 1
loCautare.ListaId = [NULL]
loCautare.ListaDenumire = [TOATE INREGISTRARILE]
Else
loCautare.ListaId = ['] + cursor2lista("crsXMLTemp", lcCampId, "|")
loCautare.ListaDenumire = cursor2lista("crsXMLTemp", lcCampDenumire, ",")
Endif
Use In (SELECT('crsXMLTemp'))
If(Right(loCautare.ListaId, 1) # "|" And loCautare.ListaId # [NULL])
loCautare.ListaId = loCautare.ListaId + "|"
Endif
If loCautare.ListaId <> [NULL]
loCautare.ListaId = loCautare.ListaId + "'"
Endif
SELECT (lcSelect)
RETURN loCautare
ENDFUNC && XML2ListaIDDescriere
******************************************* INCEPUT: caut_articol_gs *******************************************
Function caut_articol_gs
Lparameters tntipg, tlToateIreg, tlMultipleArticles, tcFiltruCont
Store "" To loCauta
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,codmat,codbare,id_articol]
lcTitlu = [Alegeti articolul]
lcTitluColoane = [Denumire,Cod Material,Cod bare,Id]
llMultipleArticles = tlMultipleArticles
If Type('tnTipg') = 'N' And tntipg > 0
lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.cont,a.acont,] + ;
[a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, b.id_tipgest from vnom_articole a ] + ;
[inner join coresp_cont_tipgest b on a.cont = b.cont where 2=2 ]
lcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg))
Else
lcSelect = [select distinct a.denumire,a.codmat,a.codbare,a.um,a.cont,a.acont,] + ;
[a.id_articol, a.grupa, a.subgrupa, a.id_grupa, a.id_subgrupa, a.dnf, 0 as id_tipgest ] + ;
[from vnom_articole a where 2=2 ]
lcFiltruOriginal = [ 2=2 ]
Endif
*!* modificare 10.02.2010 ROAGRESTAURANT v 0.0.17
IF !EMPTY(tcFiltruCont)
*!* tcFiltruCont poate fi : 34% / 345 / 345,371
Do Case
CASE AT([%], tcFiltruCont) > 0
lcFiltruOriginal = lcFiltruOriginal + [ and a.cont like '] + Alltrim(tcFiltruCont) + [']
CASE AT([,], tcFiltruCont) > 0
lcFiltruOriginal = lcFiltruOriginal + [ and a.cont in ('] + Strtran(Alltrim(tcFiltruCont), [,], [',']) + [')]
Otherwise
lcFiltruOriginal = lcFiltruOriginal + [ and a.cont = '] + Alltrim(tcFiltruCont) + [']
Endcase
ENDIF
*!* modificare 10.02.2010 ROAGRESTAURANT v 0.0.17 ^
lcNumeProc = [nom_articole]
llToateIreg = tlToateIreg
lcPrimaColoana = [denumire]
lnPornire = 1
lnTipReturn = Iif(tlMultipleArticles, 1, 0)
lcIdColumn = "id_articol"
loCauta = cauta_alfa_gs(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
Return loCauta && caut_articol_gs
Endfunc && caut_articol_gs
******************************************* SFARSIT: caut_articol_gs *******************************************
******************************************* INCEPUT: cauta_articole_alege *******************************************
*!* cautare dupa codmat, denumire, subgrupa si bifarea articolelor dorite
Function cauta_articole_alege
Private poArticole
poArticole = Null
gencursor('deca_baza1', lcCursor, tcselect, tcfiltru, tcschema, tcorder, .F., lcGroup, llModParam, lcFiltOriginal)
deca_baza1.ca_baza1.afisare()
Endfunc && cauta_articole_alege
******************************************* SFARSIT: cauta_articole_alege *******************************************
******************************************* INCEPUT: caut_cont *******************************************
Function caut_cont
Lparameters tntipg, tcListaConturi, tlToateIreg, tlDoarConturi
Store "" To loCauta
Local llToateIreg
llToateIreg = tlToateIreg
pcfiltru = [1=2]
pcschema = []
pcorder = [cont,acont]
pcTitlu = [Alegeti contul]
If tlDoarConturi
pccoloane = [cont,explicatie,tip_sold]
pcTitluColoane = [Cont,Explicatie,Tip sold]
Else
pccoloane = [cont,acont,explicatie,tip_sold]
pcTitluColoane = [Cont,Analitic,Explicatie,Tip sold]
Endif
If Empty(tntipg) And Empty(tcListaConturi)
If llToateIreg
pcselect = [select a.explicatie,rpad(a.cont,22) as cont,] + ;
IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ]
Else
pcselect = [select a.explicatie,a.cont,] + ;
IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ]
Endif
pcFiltruOriginal = [ a.an=] + Alltrim(Str(gnan)) + IIF(tlDoarConturi, [ and a.acont is null], [])
Endif
If !Empty(tcListaConturi) And Empty(tntipg)
pcselect = [select a.explicatie,a.cont,] + ;
IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold from vplcont_used a ]
pcFiltruOriginal = [ a.an=] + Alltrim(Str(gnan)) + [ and a.cont in (] + Alltrim(tcListaConturi) + [)] + ;
IIF(tlDoarConturi, [ and a.acont is null], [])
Endif
If !Empty(tntipg) And Empty(tcListaConturi)
pcselect = [select a.explicatie,a.cont,] + ;
IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold,b.id_tipgest from vplcont_used a inner join coresp_cont_tipgest b on a.cont = b.cont ]
pcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + [ and a.an=] + Alltrim(Str(gnan)) + ;
IIF(tlDoarConturi, [ and a.acont is null], [])
Endif
If !Empty(tntipg) And !Empty(tcListaConturi)
pcselect = [select a.explicatie,a.cont,] + ;
IIF(tlDoarConturi, [], [a.acont,]) + [a.id_plcont,a.tip_sold,b.id_tipgest from vplcont_used a inner join coresp_cont_tipgest b on a.cont = b.cont ]
pcFiltruOriginal = [ b.id_tipgest = ] + Alltrim(Str(tntipg)) + [ and a.an=] + Alltrim(Str(gnan)) + ;
[ and a.cont in (] + Alltrim(tcListaConturi) + [)] + ;
IIF(tlDoarConturi, [ and a.acont is null], [])
Endif
lcNumeProc = []
lcPrimaColoana = [a.cont]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_cont *******************************************
******************************************* INCEPUT:caut_acont *******************************************
Function caut_acont
Lparameters tncont
lcCont = tncont
Store "" To loCauta
pcselect = [select a.acont,a.explicatie,a.id_plcont,a.an FROM vplcont_used_analitic a ]
pcfiltru = [1=2]
pcschema = []
pcorder = [acont]
pccoloane = [acont,explicatie]
If Pcount() < 1
pcTitlu = [Alegeti contul analitic]
Else
pcTitlu = [Alegeti contul analitic pentru contul ] + Alltrim(lcCont)
Endif
pcTitluColoane = [Acont,Explicatie]
If Pcount() < 1
pcFiltruOriginal = [1=2]
Else
pcFiltruOriginal = [ a.cont=] + Alltrim(lcCont) + [ and a.an=] + Alltrim(Str(gnan))
Endif
lcNumeProc = []
llToateIreg = .F.
lcPrimaColoana = [a.acont]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal, lcPrimaColoana) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_acont *******************************************
******************************************* INCEPUT:caut_gestiune *******************************************
Function caut_gestiune
Lparameters tntipg, tnid_util, tlToateIreg, tcTitlu
Store "" To loCauta
pcselect = [select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util ]
pcfiltru = [1=2]
pcschema = []
pcorder = [nume_gestiune]
pccoloane = [nume_gestiune,cgest]
pcTitlu = Iif(Empty(tcTitlu), [Alegeti gestiunea], Alltrim(Upper(tcTitlu)))
pcTitluColoane = [Gestiune,Cgest]
lncount = Pcount()
Do Case
Case Type('tnId_Util') = 'N'
If Empty(tntipg)
pcFiltruOriginal = [inactiv = 0 and id_util = ] + Alltrim(Str(tnid_util))
Else
pcFiltruOriginal = [inactiv = 0 and nr_pag = ] + Alltrim(Str(tntipg)) + [ and id_util = ] + Alltrim(Str(tnid_util))
Endif
Case Type('tnTipg') = 'N'
pcFiltruOriginal = [inactiv = 0]
Otherwise
pcselect = [select nume_gestiune,cgest,id_gestiune,nr_pag,cont from vnom_gestiuni ]
pcFiltruOriginal = [inactiv = 0]
Endcase
lcNumeProc = []
llToateIreg = tlToateIreg
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_gestiune *******************************************
Function caut_gestiune_sectie
Lparameters tntipg, tnIdSectie, tnid_util, tcTitlu
Store "" To loCauta
pcselect = [select distinct nume_gestiune,cgest,id_gestiune,nr_pag,cont from vgest_gestiuni_util ]
pcfiltru = [1=2]
pcschema = []
pcorder = [nume_gestiune]
pccoloane = [nume_gestiune,cgest]
pcTitlu = Iif(Empty(tcTitlu), [Alegeti gestiunea], Alltrim(Upper(tcTitlu)))
pcTitluColoane = [Gestiune,Cgest]
pcFiltruOriginal = [inactiv = 0]
if Type('tnTipg') = 'N'
pcFiltruOriginal = pcFiltruOriginal + [ and nr_pag = ] + Alltrim(Str(tntipg))
endif
if Type('tnIdSectie') = 'N'
pcFiltruOriginal = pcFiltruOriginal + [ and id_sectie = ] + Alltrim(Str(tnIdSectie))
Endif
if Type('tnId_Util') = 'N'
pcFiltruOriginal = pcFiltruOriginal + [ and id_util = ] + Alltrim(Str(tnid_util))
Endif
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal)
Return loCauta
******************************************* SFARSIT: caut_gestiune *******************************************
******************************************* INCEPUT: caut_gestiune_xml *******************************************
Function caut_gestiune_xml
Lparameters tnTip, tlToateIreg, tnPornire, tlLoud, tcListaId, tcListaDenumire
&& tnTip : 1 = toate gestiunile; 2 = gestiunile pe care are drept utilizatorul
*** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6
*** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F.
*** tcListaId = parametru OUT - lista id-uri articole
*** tcListaDenumire = parametru OUT - lista denumiri articole
*!* 04.09.2009
Local lnPornire
Local lcFiltru, lcIdColumn, lcNume_Proc, lcPrimaColoana, lcTitlu, lcXMLGestiuni, lnTipReturn
Local loLista
Local lnTip, llAllInList
Local lcSelect, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal, lcCOloana, lcTitluColoana, lnPornire
lnPornire = Iif(Empty(tnPornire), CA_PORNIRE_TOATE, tnPornire)
If Empty(tnTip) Or Type('tnTip') <> 'N'
lnTip = 1
Else
lnTip = tnTip
Endif
If lnTip = 1
lcSelect = [select distinct a.nume_gestiune,a.cgest,a.id_gestiune,a.nr_pag,a.cont from vgest_gestiuni_util a]
*!* 22.02.2010
*!* lcFiltruOriginal = []
*!* modificare ROAGEST v 2.2.4
*!* lcFiltruOriginal = SUBSTR(gcCondSucursala, 6)
lcFiltruOriginal = SUBSTR(STRTRAN(gcCondSucursala, [id_sucursala], [a.id_sucursala]), 6)
*!* modificare ROAGEST v 2.2.4 ^
*!* 22.02.2010 ^
lcFiltruOriginal = lcFiltruOriginal + [ and a.inactiv = 0 ] && modificare ROAGEST v 2.2.4
Else
lcSelect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,c.nr_pag,c.cont ] + ;
[from gest_coresp_util_grupe a ] + ;
[left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ;
[left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ]
*!* 22.02.2010
*!* lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil))
*!* modificare ROAGEST v 2.2.4
*!* lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil)) + gcCondSucursala
lcFiltruOriginal = [a.id_util = ] + Alltrim(Str(gnIdUtil)) + STRTRAN(gcCondSucursala, [id_sucursala], [c.id_sucursala])
*!* modificare ROAGEST v 2.2.4 ^
*!* 22.02.2010 ^
lcFiltruOriginal = lcFiltruOriginal + [ and c.inactiv = 0 ] && modificare ROAGEST v 2.2.4
Endif
lcFiltru = []
lcSchema = [nume_gestiune C(50),cgest C(20),id_gestiune N(5),nr_pag N(2),cont C(4)]
lcOrder = [nume_gestiune]
llAfisare = .F.
lcGroup = []
llModParam = .T.
lcCOloana = "nume_gestiune,cgest,nr_pag,cont"
lcTitluColoana = "Nume, Cgest, Nr.pag, Cont"
llAllInList = tlToateIreg
lcPrimaColoana = "nume_gestiune"
lcNume_Proc = ""
lcTitlu = "Alegeti gestiunea (mouse-click pe nume sau apasati SPACE)"
lnTipReturn = 1 && XML
lcIdColumn = "id_gestiune"
lcXMLGestiuni = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
*!* XMLTOCURSOR(lcXMLFacturi, "crsFacturi",0)
*!* 24.08.2011
loLista = XML2ListaIDDescriere(lcXMLGestiuni, "id_gestiune", "nume_gestiune", m.tlLoud)
tcListaId = loLista.ListaId
tcListaDenumire = loLista.ListaDenumire
*!* 24.08.2011
Return lcXMLGestiuni
Endfunc && caut_gestiune_xml
******************************************* SFARSIT: caut_gestiune_xml *******************************************
******************************************* INCEPUT:caut_responsabil *******************************************
Function caut_responsabil
Lparameters tlToateIreg
Local lcCont, loCauta
Store "" To loCauta
pcselect = [select id_responsabil, nume, marca, cnp, formatie, meserie FROM Vnom_responsabili ]
pcfiltru = [1=2]
pcschema = []
pcorder = [NUME, marca]
pccoloane = [nume,marca,cnp,formatie,meserie,id_responsabil]
pcTitlu = [Alegeti responsabilul]
pcTitluColoane = [Nume,Marca,CNP,formatie,meserie,Id]
pcFiltruOriginal = [inactiv = 0]
lcNumeProc = [nom_parteneri;] + Alltrim(Str(gnIdTipResponsabili)) + [,'RESPONSABIL',1,2]
llToateIreg = tlToateIreg
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_responsabil *******************************************
******************************************* INCEPUT:caut_responsabil_stoc *******************************************
Function caut_responsabil_stoc
Lparameters tlToateIreg
Local lcCont, loCauta
Store "" To loCauta
pcselect = [select distinct s.id_responsabil, p.denumire, sp.marca ] + ;
[ from stoc_obinv s left join nom_parteneri p on s.id_responsabil = p.id_part ] + ;
[ left join sal_personal sp on s.id_responsabil = sp.id_part ]
pcfiltru = [1=2]
pcschema = [id_responsabil n(10), denumire c(50), marca n(10)]
pcorder = [denumire, marca]
pccoloane = [denumire, Marca, id_responsabil]
pcTitlu = [Alegeti responsabilul]
pcTitluColoane = [Nume,Marca,Id]
pcFiltruOriginal = [s.an = ?gnAn and s.luna = ?gnLuna] + Strtran(gcCondSucursala, [id_sucursala], [s.id_sucursala])
lcNumeProc = [nom_parteneri;] + Alltrim(Str(gnIdTipResponsabili)) + [,'RESPONSABIL',1,2]
llToateIreg = tlToateIreg
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_responsabil_stoc *******************************************
******************************************* INCEPUT: caut_delegati *******************************************
Procedure caut_delegati
Lparameters tnIdPart
Local loCauta, llReturn, lcSelect, lcProcedura
Store "" To loCauta
Store .F. To llReturn
If !Empty(tnIdPart)
lcSelect = [select id_responsabil,nume,bi,cnp,eliberatde from vnom_delegati_part]
lcFiltruOrig = [id_part=] + Alltrim(Str(tnIdPart))
lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2,] + Alltrim(Str(tnIdPart))
Else
lcSelect = [select id_responsabil,nume,bi,cnp,eliberatde from vnom_delegati]
lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2]
lcFiltruOrig = []
Endif
lcFiltru = [1=2]
lcSchema = []
lcOrder = [2]
lccoloane = [nume,bi,cnp]
lcTitlu = [Alegeti delegatul]
lcTitluColoane = [Nume,BI/CI,CNP]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcProcedura, .F., lcFiltruOrig) && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_delegati *******************************************
***************************************** INCEPUT: caut_delegati_hash *****************************************
Procedure caut_delegati_hash
Lparameters tnIdPart, tlAdaugaCoresp
Local loCauta, llReturn, lcSelect, lcProcedura
Store "" To loCauta
Store .F. To llReturn
If Empty(tnIdPart)
loCauta = caut_delegati()
Else
lcSelect = [select MIN(case when c.id_part = ] + Alltrim(Str(tnIdPart)) + [ then 0 ] + ;
[when b.id_tip_part = ] + Alltrim(Str(gnIdTipDelegati)) + [ then 2 ] + ;
[else 1 end) as tip,] + ;
[a.id_part as id_responsabil,a.denumire as nume,a.reg_comert as bi,a.cod_fiscal as cnp,] + ;
[a.localitate_inreg as eliberatde,a.telefon as telefon1,a.telefon2 ] + ;
[from vnom_parteneri a ] + ;
[join coresp_tip_part b on a.ID_PART = b.id_part ] + ;
[left join coresp_delegati_part c on b.id_part = c.id_delegat and c.sters = 0 ]
lcFiltruOrig = [a.inactiv = 0]
lcProcedura = [nom_parteneri;] + Alltrim(Str(gnIdTipDelegati)) + [,'DELEGAT',1,2,] + Alltrim(Str(tnIdPart))
lcFiltru = [1=2]
lcSchema = []
lcGroup = [a.id_part, a.denumire, a.reg_comert, a.cod_fiscal, a.localitate_inreg, a.telefon, a.telefon2]
lcOrder = [min(case when c.id_part = ] + Alltrim(Str(tnIdPart)) + [ then 0 else 1 end),a.denumire]
lccoloane = [nume,bi,cnp]
lcTitlu = [Alegeti delegatul]
lcTitluColoane = [Nume,BI/CI,CNP]
loHash = GetHash()
With loHash
.SetValue("cSelect", lcSelect)
.SetValue("cFiltru", lcFiltru)
.SetValue("cGroup", lcGroup)
.SetValue("cOrder", lcOrder)
.SetValue("cColoana", lccoloane)
.SetValue("cTitlu", lcTitlu)
.SetValue("cTitluColoana", lcTitluColoane)
.SetValue("cFiltruOriginal", lcFiltruOrig)
.SetValue("cPrimaColoana", "nume")
.SetValue("cNumeProc", lcProcedura)
.SetValue("cGridDynamicBackColor", [IIF(TIP = 2, Rgb(180,180,180), Iif(TIP=1, RGB(225,225,225), RGB(255,255,255) ))])
.SetValue("cGridToolTip", "Parteneri colorati in gri deschis nu sunt delegati ai acestui partener." + ;
Chr(13) + Chr(10) + "Partenerii colorati in gri inchis nu sunt delegati.")
Endwith
loCauta = cauta_alfa_hash(loHash)
If tlAdaugaCoresp And !Isnull(loCauta) And Type('loCauta.id_responsabil') = 'N' And loCauta.id_responsabil <> 0 And loCauta.tip <> 0
If loCauta.tip = 1
Do ADAUGA_CORESP_DELEGAT With loCauta.id_responsabil, tnIdPart In oproceduri_parteneri.prg
Else
Do Adauga_Delegat_Partener With loCauta.id_responsabil, tnIdPart In oproceduri_parteneri.prg
Endif
Endif
Endif
Return loCauta
Endproc && caut_delegati_hash
***************************************** SFARSIT: caut_delegati_hash *****************************************
******************************************* INCEPUT: caut_grupa_articole *******************************************
Procedure caut_grupa_articole
Lparameters tlToateIreg
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_grupa,grupa from vgest_art_gr]
pcfiltru = [1=2]
pcschema = []
pcorder = [2]
pccoloane = [grupa]
pcTitlu = [Alegeti grupa de articole]
pcTitluColoane = [Grupa]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", tlToateIreg) && 11.07.2007
Return loCauta
Endproc
****************************************** SFARSIT: caut_grupa_articole *******************************************
******************************************* INCEPUT: caut_grupa_articole_xml *******************************************
Procedure caut_grupa_articole_xml
Lparameters tlToateIreg
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_grupa,grupa from vgest_art_gr]
pcfiltru = [1=2]
pcschema = []
pcorder = [2]
pccoloane = [grupa]
pcTitlu = [Alegeti grupele (mouse-click pe nume sau apasati SPACE)]
pcTitluColoane = [Grupa]
lcFiltruOriginal = [2=2]
lcPrimaColoana = "grupa"
lnPornire = 5
lnTipReturn = 1 && XML
lcIdColumn = "id_grupa"
lcXMLGrupe = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLGrupe
Endproc
****************************************** SFARSIT: caut_grupa_articole_xml *******************************************
**************************************** INCEPUT: caut_subgrupa_articole ******************************************
Procedure caut_subgrupa_articole
LPARAMETERS tcFiltruOriginal, tlToateIreg, tlMultipleArticles, tnPornire, tlLoud, tcListaId, tcListaDenumire
*** tnPornire: incepe cu...,1,este...,2,nu este...,3,contine...,4,nu contine...,5,toate,6
*** tlLoud = .T. daca apare messagebox "Nu ati selectat nici o inregistare" pentru cautarea multipla. Default = .F.
*** tcListaId = parametru OUT - lista id-uri articole
*** tcListaDenumire = parametru OUT - lista denumiri articole
Local loCauta, llReturn, loLista
Local lcFiltruOriginal, lcIdColumn, lcNumeProc, lcPrimaColoana, lcTitlu, lcTitluColoane, lccoloane
Local lcfiltru, lcorder, lcschema, lcselect, llMultipleArticles, llToateIreg, lnPornire, lnTipReturn
loCauta = ""
llReturn = .F.
lcselect = [select id_subgrupa,subgrupa,grupa,indicativ from vgest_art_sbgr]
lcfiltru = [1=2]
lcschema = []
lcorder = [2]
lccoloane = [subgrupa,grupa,indicativ]
lcIdColumn = "id_subgrupa"
lcPrimaColoana = "subgrupa"
lcTitluColoane = [Subgrupa,Grupa,Indicativ]
llToateIreg = tlToateIreg
If tlMultipleArticles
lcTitlu = [Alegeti subgrupele (mouse-click pe denumire sau apasati SPACE)]
Else
lcTitlu = [Alegeti subgrupa de articole]
Endif
lcNumeProc = ""
lcFiltruOriginal = Iif(!Empty(tcFiltruOriginal), Alltrim(tcFiltruOriginal), "")
llMultipleArticles = tlMultipleArticles
llToateIreg = tlToateIreg
lnPornire = Iif(Empty(m.tnPornire), CA_PORNIRE_INCEPE, m.tnPornire)
lnTipReturn = Iif(tlMultipleArticles, 1, 0)
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
*!* 24.08.2011
IF m.llMultipleArticles
loLista = XML2ListaIDDescriere(loCauta, "id_subgrupa", "subgrupa", tlLoud)
tcListaId = loLista.ListaId
tcListaDenumire = loLista.ListaDenumire
ENDIF
*!* 24.08.2011
Return loCauta
Endproc
******************************************* SFARSIT: caut_delegati *******************************************
******************************************* INCEPUT:caut_grupa_gestiune *******************************************
Function caut_grupa_gestiune
Lparameters tnIdGrupa, tlToateIreg
** tnIdGrupa = arat toate grupele in afara (eventual) de grupa pe care am selectat-o in cazul alegerii grupei parinte
Local lcCont, loCauta
Store "" To loCauta
If Pcount() = 2
llToateIreg = tlToateIreg
ELSE
llToateIreg = .T.
Endif
pcselect = [select id_grupe, nume_grupa FROM vgest_nom_grupe]
pcfiltru = []
pcschema = []
pcorder = [nume_grupa]
pccoloane = [nume_grupa]
pcTitlu = [Grupa]
pcTitluColoane = [Grupa]
pcFiltruOriginal = [inactiv = 0 ] + Iif(!Empty(tnIdGrupa), [ and id_grupe <> ] + Transform(tnIdGrupa), [])
lcNumeProc = []
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007
Return loCauta
Endfunc && caut_grupa_gestiune
******************************************* SFARSIT: caut_grupa_gestiune *******************************************
******************************************* INCEPUT:caut_valuta *******************************************
Function caut_valuta
Parameters tnPornire, tlDesktop, tlFaraMonedaNationala
Local lcCont, loCauta, lnPornire, llDesktop
lnPornire = tnPornire && 1-incepe cu...6-toate
llDesktop = tlDesktop
llFaraMonedaNationala = tlFaraMonedaNationala
Store "" To loCauta
lcSelect = [select id_valuta, nume_val, nume_val2, moneda_nationala FROM vnom_valute]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [nume_val]
lccoloane = [nume_val,nume_val2]
lcTitlu = [Alegeti valuta]
lcTitluColoane = [Valuta,Simbol]
If llFaraMonedaNationala
lcFiltruOriginal = [inactiv = 0 and moneda_nationala = 0]
Else
lcFiltruOriginal = [inactiv = 0]
Endif
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && caut_valuta
******************************************* SFARSIT: caut_valuta *******************************************
******************************************* INCEPUT:caut_valuta_iso *******************************************
Function cauta_valuta_iso
Lparameters tnTipCautare, tcParametru
*!* tnTipCautare
*!* 1 - arata pe toate
*!* 2 - arata pe toate in afara de cele care se afla deja in nom_valute si nu sunt sterse/inactive
*!* 3 - nu arata formularul de cautare, ci cauta direct in baza de date o valuta care sa aiba iso-ul ca tcParametru
Local lcValutaIso, loCauta, lcSelect, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc, llToateIreg, lnSucces, lcCursor, lnTipCautare
Store "" To loCauta
lcSelect = [select id_valuta_iso,nume_valuta,iso_valuta from syn_vnom_valute_iso]
lcFiltru = IIF(!EMPTY(tcParametru), [iso_valuta like '] + Upper(Alltrim(tcParametru)) + [%'], [1=2])
lnTipCautare = IIF(EMPTY(tnTipCautare), 1, tnTipCautare)
If Inlist(lnTipCautare, 1, 2)
lcSchema = []
lcOrder = [iso_valuta]
lcColoane = [nume_valuta,iso_valuta]
lcTitlu = [Alegeti simbolul ISO]
lcTitluColoane = [Denumire,Simbol ISO]
If lnTipCautare = 2
lcFiltruOriginal = [id_valuta_iso not in (select id_valuta_iso from nom_valute where sters = 0 and inactiv = 0 and id_valuta_iso is not null)]
Else
lcFiltruOriginal = [2=2]
Endif
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal)
Else
If lcFiltru <> [1=2]
lcSelect = lcSelect + [ where ] + lcFiltru
lcCursor = Sys(2015)
lnSucces = goExecutor.oExecute(lcSelect, lcCursor)
If lnSucces < 0
amessagebox(goExecutor.cEroare, 64, "Eroare")
Else
If Reccount(lcCursor) = 1
Select (lcCursor)
Scatter Name loCauta
Endif
Use In (lcCursor)
Endif
Endif
Endif
Release lcValutaIso, lcSelect, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal, lcNumeProc, llToateIreg, lnSucces, lcCursor
Return IIF(TYPE('loCauta') = 'C', NULL, loCauta)
Endfunc && caut_valuta_iso
******************************************* SFARSIT: caut_valuta_iso *******************************************
******************************************* INCEPUT:caut_fdoc *******************************************
Function caut_fdoc
Parameters llToateIreg, tlNou
Local lcCont, loCauta
Store "" To loCauta
lcSelect = [select id_fdoc, fel_document, tip_doc, descriere FROM vnom_fdoc]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [fel_document]
lccoloane = [fel_document, tip_doc, descriere]
lcTitlu = [Alegeti felul documentului]
lcTitluColoane = [Fel Document, Tip, Descriere]
lcFiltruOriginal = [inactiv = 0]
If tlNou
lcNumeProc = [nom_fdoc]
Else
lcNumeProc = []
Endif
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_fdoc *******************************************
Procedure caut_alfa_beta
Lparameters tcTabela, tcSuperCombo, tnvalueSC && tcSuperCombo = "nume_camp:tip_data;"
lcTabela = Alltrim(tcTabela)
lcSC = Alltrim(tcSuperCombo)
lnLen = Getwordcount(lcSC, ';')
Dimension taSC[lnLen, 5] &&1-camp,2-tip_data,3-nrzec,4-inputmask,5-rezervat filtru
For i = 1 To lnLen
lcSc1 = Getwordnum(lcSC, i, ';')
taSC[i, 1] = Getwordnum(lcSc1, 1, ':')
taSC[i, 2] = Getwordnum(lcSc1, 2, ':')
taSC[i, 3] = Getwordnum(lcSc1, 3, ':')
taSC[i, 4] = Getwordnum(lcSc1, 4, ':')
Endfor
Return @taSC
Endproc
*****************************************************************************
Procedure update_articole
If Used('v_articole')
Use In v_articole
Endif
lcSql = [select id_articol, codmat, denumire as nume_articol, um, cant_bax, um2,compus from vnom_articole_crm order by denumire ]
lnSucces = goExecutor.oExecute(lcSql, 'v_articole')
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 0 + 16, 'Eroare')
Endif
goExecutor.oReset()
Return lnSucces
Endproc && update_articole
*****************************************************************************
******************************************* INCEPUT:caut_sectie *******************************************
Function caut_sectie
Parameters tnPornire, tlDesktop, tlToateIreg, tlNou, tcFiltruOriginal
Local lcCont, loCauta, lnPornire, llDesktop
lnPornire = tnPornire && 1-incepe cu...6-toate
llDesktop = tlDesktop
Store "" To loCauta
lcSelect = [select id_sectie, sectie, csectie FROM vnom_sectii]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [sectie]
lccoloane = [sectie, csectie]
lcTitlu = [Alegeti sectia]
lcTitluColoane = [Sectie, Indicativ]
lcFiltruOriginal = [inactiv = 0] + gcCondSucursala + IIF(!EMPTY(tcfiltruOriginal), [ and ] + tcFiltruOriginal, [])
lcNumeProc = IIF(m.tlNou, [nom_sectii], [])
llToateIreg = m.tlToateIreg
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && caut_sectie
******************************************* SFARSIT: caut_sectie *******************************************
******************************************* INCEPUT:caut_venchelt *******************************************
Function caut_venchelt
Parameters tnPornire, tlDesktop, tnTip, tnId, tlToateIreg, tlNou, tcFiltruOriginal
Local lcCont, loCauta, lnPornire, llDesktop
lnPornire = Iif(!Empty(tnPornire), 1, tnPornire) && 1-incepe cu...6-toate
llDesktop = Iif(!Empty(tlDesktop), tlDesktop, .F.) && formulare desktop = .T.
&& tnTip: 1 = cheltuieli, ,2 = venituri
Store "" To loCauta
lcFiltruOriginal = [inactiv = 0] + IIF(!EMPTY(m.tcFiltruOriginal), [ and ] + m.tcFiltruOriginal, [])
If !Empty(tnId)
lcFiltruOriginal = lcFiltruOriginal + [ and id_venchelt <> ] + Alltrim(Str(tnId))
Endif
If !Empty(tnTip)
lcFiltruOriginal = lcFiltruOriginal + [ and tip_venchelt = ] + Alltrim(Str(tnTip))
Endif
lcSelect = [select id_venchelt, explicatie, (case tip_venchelt when 1 then 'C' else 'V' end) as tip_venchelt FROM vnom_venchel ]
lcFiltru = [1=2]
lcSchema = [id_venchelt n(10),explicatie c(100),tip_venchelt c(1)]
lcOrder = [explicatie]
lccoloane = [explicatie,tip_venchelt]
lcTitlu = [Alegeti venitul/cheltuiala]
lcTitluColoane = [Explicatia, Tip]
lcNumeProc = IIF(m.tlNou, [nom_venchel], [])
llToateIreg = m.tlToateIreg
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && caut_venchelt
******************************************* SFARSIT: caut_venchelt *******************************************
******************************************* INCEPUT:caut_ven *******************************************
Function caut_ven
Parameters tnPornire, tlDesktop
Local lcCont, loCauta, lnPornire, llDesktop
lnPornire = tnPornire && 1-incepe cu...6-toate
llDesktop = tlDesktop
Store "" To loCauta
lcSelect = [select id_venchelt, explicatie FROM vnom_venchel ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [explicatie]
lccoloane = [explicatie]
lcTitlu = [Alegeti venitul]
lcTitluColoane = [Explicatia]
lcFiltruOriginal = [inactiv = 0 and tip_venchelt <> 1]
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && caut_ven
******************************************* SFARSIT: caut_ven *******************************************
*------------------------------------------------------------
* Description: INTOARCE XML CU FACTURI ALESE DIN FACTURI EMISE IN PERIOADA
* Parameters: tcCont, tnIdPart, tdData1, tdData2
* Return: lcXMLFacturi
* Use: lcXMLFacturi = Caut_Facturi(lcCont, lnIdPart, ldData1, ldData2)
*------------------------------------------------------------
* Id Date By Description
* 1 23/06/2006 marius.mutu Initial Creation
*------------------------------------------------------------
Function caut_facturi
Lparameters tcCont, tnIdPart, tdData1, tdData2
Local loCauta, ldData1, ldData2, lnTipCont
Store Null To loCauta
ldData1 = tdData1
ldData2 = tdData2
Private pnNrLuna1, pnNrLuna2, pnIdPart, pcCont
pnNrLuna1 = Year(ldData1) * 12 + Month(ldData1)
pnNrLuna2 = Year(ldData2) * 12 + Month(ldData2)
pnIdPart = tnIdPart
pcCont = tcCont
lnTipCont = GetTipContIreg(pcCont)
lcSelect = [select i.id_ireg_part, i.an, i.luna, i.nume, i.cont, i.acont, i.id_fact, i.serie_act, i.nract, i.dataact, i.datascad, i.preccred + i.credit as totctva FROM VIREG_EMISE_IN_PERIOADA i]
lcFiltru = []
lcSchema = [id_ireg_part N(20), AN N(4), LUNA N(2), NUME C(100), CONT C(4), ACONT C(4), ID_FACT N(20), SERIE_ACT C(10), NRACT N(20), DATAACT D, DATASCAD D, TOTCTVA N(20,4)]
lcOrder = [i.dataact, i.nract]
llAfisare = .F.
lcGroup = []
llModParam = .T.
lcFiltruOriginal = [i.an * 12 + i.luna between ?pnNrLuna1 and ?pnNrLuna2 and i.id_part = ?pnIdPart AND i.cont in (SELECT x AS cont FROM table(charc2collection(?pcCont, ',')))]
lcCOloana = "nume, serie_act, nract, dataact, datascad, totctva"
lcTitluColoana = "Nume, Serie act, Numar act, Data act, Data scad, Total factura"
llAllInList = .F.
lnPornire = 6 && TOATE
lcPrimaColoana = "NUME"
lcNume_Proc = ""
lcTitlu = "Alegeti facturile (mouse-click pe nume sau apasati SPACE)"
lnTipReturn = 1 && XML
lcIdColumn = "id_ireg_part"
lcXMLFacturi = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
*!* XMLTOCURSOR(lcXMLFacturi, "crsFacturi",0)
Return lcXMLFacturi
Endfunc && caut_facturi
******************************************* SFARSIT: caut_facturi *******************************************
*------------------------------------------------------------
* caut factura in luna curenta dupa nume, numar si intorc id_fact
*------------------------------------------------------------
Function caut_factura
Lparameters tcCont, tdData1, tdData2
Local loFactura, ldData1, ldData2
loFactura = NULL
ldData1 = tdData1
ldData2 = tdData2
Private pnNrLuna1, pnNrLuna2, pcCont
pnNrLuna1 = Year(ldData1) * 12 + Month(ldData1)
pnNrLuna2 = Year(ldData2) * 12 + Month(ldData2)
pcCont = tcCont
lcSelect = [select i.id_ireg_part, i.an, i.luna, i.nume, i.cont, i.acont, i.id_fact, i.serie_act, i.nract, i.dataact, i.datascad, i.preccred + i.credit as totctva FROM VIREG_EMISE_IN_PERIOADA i]
lcFiltru = []
lcSchema = [id_ireg_part N(20), AN N(4), LUNA N(2), NUME C(100), CONT C(4), ACONT C(4), ID_FACT N(20), SERIE_ACT C(10), NRACT N(20), DATAACT D, DATASCAD D, TOTCTVA N(20,4)]
lcOrder = [i.dataact, i.nract]
llAfisare = .F.
lcGroup = []
llModParam = .T.
lcFiltruOriginal = [i.an * 12 + i.luna between ?pnNrLuna1 and ?pnNrLuna2 AND i.cont in (SELECT x AS cont FROM table(charc2collection(?pcCont, ',')))]
lcCOloana = "nume, serie_act, nract, dataact, datascad, totctva, id_fact"
lcTitluColoana = "Nume, Serie act, Numar act, Data act, Data scad, Total factura, Id Fact"
llAllInList = .F.
lnPornire = 1 && INCEPE CU
lcPrimaColoana = "NUME"
lcNume_Proc = ""
lcTitlu = "Alegeti factura"
lnTipReturn = 0 && object
lcIdColumn = "id_fact"
loFactura = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn) && 11.07.2007
Return loFactura
Endfunc && caut_facturi
******************************************* SFARSIT: caut_facturi *******************************************
*------------------------------------------------------------
* Description: INTOARCE TIPUL SOLDULUI CONTULUI (0 = ACTIV/DEBITOR, 1 = PASIV/CREDITOR)
* Parameters: <tcCont>
* Return: 0 (DEBITOR), 1 (CREDITOR)
* Use: lnTip = GetTipContIreg("401")
*------------------------------------------------------------
* Id Date By Description
* 1 23/06/2006 marius.mutu Initial Creation
*------------------------------------------------------------
Function GetTipContIreg
Parameters tcCont
Local lcSql, lcCursor, lnSucces, lnTip
lnTip = 0
lcSql = [select FEL_CONT from config_cont_ireg WHERE CONT = ?tcCont]
lcCursor = [crsTipContIreg]
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare")
Else
Select crsTipContIreg
If Reccount('crsTipContIreg') > 0
Go Top
lnTip = FEL_CONT
Endif
Use In crsTipContIreg
Endif
Return lnTip
Endfunc && GetTipContIreg
*!* 04.07.2006
*!* marius.mutu
*!* adaugat cauta_utilizator si cauta_client din roaauto\programe\update_devize.prg
***********************************************************************
Function cauta_utilizator
Lparameters tnIdUtil, tcUtilizator
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select id_util,utilizator from syn_vutilizatori]
pcfiltru = [1=2]
pcschema = []
pcorder = [utilizator]
pccoloane = [Utilizator]
pcTitlu = [Alegeti utilizatorul]
pcTitluColoane = [Utilizator]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "") && 11.07.2007
If !Empty(loCauta.id_util)
tnIdUtil = loCauta.id_util
tcUtilizator = Alltrim(loCauta.utilizator)
llReturn = .T.
Endif
Return llReturn
Endfunc && cauta_utilizator
***********************************************************************
Function cauta_utilizator_firma
Parameters tnPornire, tlDesktop
Local lcCont, loCauta, lnPornire, llDesktop
***** 17.11.2008 *****
lnPornire = tnPornire && 1-incepe cu...6-toate
llDesktop = tlDesktop
Store "" To loCauta
lcSelect = [select distinct b.utilizator,a.id_util from syn_vdef_util_firme a ] + ;
[left join syn_vutilizatori b on a.id_util = b.id_util ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [b.utilizator]
lccoloane = [utilizator]
lcTitlu = [Alegeti utilizatorul]
lcTitluColoane = [Utilizator]
lcFiltruOriginal = [a.id_firma = ?gnIdFirma]
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && cauta_utilizatori_firma
***********************************************************************
Function cauta_client
Lparameters tnIdPartener, tcNume
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
pcselect = [select p.id_part,p.nume,p.cod_fiscal from vcoresp_tip_part p ] + ;
[join vcoresp_tip_cont c on p.id_tip_part=c.id_tip_part]
pcFiltruOrig = [c.cont ='4111' and p.inactiv=0]
pcfiltru = [1=2]
pcschema = ['id_part n(10),nume c(100),cod_fiscal c(100)']
pcorder = [nume]
pccoloane = [nume,cod_fiscal]
pcTitlu = [Alegeti clientul]
pcTitluColoane = [Client,Cod fiscal]
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .F., pcFiltruOrig) && 11.07.2007
If !Empty(loCauta.id_part)
tnIdPartener = loCauta.id_part
tcNume = Alltrim(loCauta.nume)
llReturn = .T.
Endif
Return llReturn
Endfunc
***********************************************************************
*------------------------------------------------------------
* Description: INTOARCE PRIMUL ID_TIP_PART PENTRU UN CONT
* Parameters: <tcCont>
* Return: ID_TIP_PART
* Use: lnIdTipPart = GetContIdTipPart("4111")
*------------------------------------------------------------
* Id Date By Description
* 1 14/07/2006 marius.mutu Initial Creation
*------------------------------------------------------------
Function GetContIdTipPart
Parameters tcCont
Local lcSql, lcCursor, lnSucces, lnIdTipPart
lnIdTipPart = 0
lcSql = [select id_tip_part from coresp_tip_cont WHERE CONT = ?tcCont]
lcCursor = [crsTipPartTemp]
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare")
Else
If Reccount('crsTipPartTemp') > 0
Select crsTipPartTemp
Go Top
lnIdTipPart = id_tip_part
Endif
Use In crsTipPartTemp
Endif
Return lnIdTipPart
Endfunc && GetContIdTipPart
*** modificare serii numere - 10.2007
*!* Procedure getNirPlajaCMP
*!* Lparameters tnPlaja1, tnPlaja2
*!* && PLAJE NIR-URI CMP
*!* lnTip = 4 && NIR PT CMP
*!* lnSerie = 2
*!* lnId_entitate = 0
*!* tnPlaja1 = 0
*!* tnPlaja2 = 0
*!* lcSelect = [select id_plaja,pl_inf,pl_sup from vplaje_numere where ] +;
*!* [inactiv = 0 and tip = ] + Alltrim(Str(lnTip)) + [ and serie = ] + ;
*!* ALLTRIM(Str(lnSerie)) + [ and id_entitate = ] + Alltrim(Str(lnId_entitate))
*!* lcCursor = [crsplaja]
*!* lnSucces = goExecutor.oExecute(lcSelect,lcCursor)
*!* If lnSucces < 0
*!* AMESSAGEBOX(goExecutor.cEroare,0+16, 'Eroare')
*!* Else
*!* Select crsPlaja
*!* tnPlaja1= pl_inf
*!* tnPlaja2 = pl_sup
*!* Use In crsPlaja
*!* Endif
*!* &&(NNIR NOT BETWEEN ] + TRANSFORM(lnNnir1) + [ AND ] + TRANSFORM(lnNnir2) + [)]
*!* && getNirPlajaCMP(@lnPlaja1, @lnPlaja2)
*!* Endproc &&getNirPlajaCMP
*** modificare serii numere - 10.2007 ^
*******************************************************************************************************************
Function GetTipGestiune
Lparameters tnIdGestiune
Local lnTipGestiune, lcCursor
lnTipGestiune = -1
lcCursor = [crsTipGest]
If Used(lcCursor)
Use In (lcCursor)
Endif
lcSql = [select nr_pag from ] + gcS + [.vnom_gestiuni where id_gestiune = ] + Alltrim(Str(tnIdGestiune))
lnSucces = goExecutor.oExecute(lcSql, lcCursor)
If lnSucces < 0
AMESSAGEBOX(goExecutor.cEroare, 16, "Eroare")
Else
If Reccount(lcCursor) > 0
Select (lcCursor)
lnTipGestiune = nr_pag
Endif
Endif
If Used(lcCursor)
Use In (lcCursor)
Endif
Return lnTipGestiune
Endfunc && GetTipGestiune
*******************************************************************************************************************
* PROCEDURE caut_gruputilizatori
* Date : 18.09.2006
* author : marius.mutu
******************************************* INCEPUT:caut_gruputilizatori *******************************************
Procedure caut_gruputilizatori(tlToateIreg, tlNou)
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store Null To loCauta
lcSelect = [select id_grup, id_tata, denumire_grup, inactiv, nume_parinte from vgrupuri_utilizatori]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire_grup]
lccoloane = [denumire_grup,id_grup]
lcFiltruOriginal = [inactiv = 0]
lcTitlu = "Alegeti grupul"
If tlNou
lcNumeProc = [nom_gruputilizatori]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Grup, Id]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_gruputilizatori *******************************************
* PROCEDURE caut_sucursala
* Date : 18.09.2006
* author : marius.mutu
******************************************* INCEPUT:caut_sucursala *******************************************
Procedure caut_sucursala(tlToateIreg, tlNou, tlBlank)
&& tlBlank = .T. => arat o inregistrare goala (daca vreau sa aleg sucursala NULL pentru mama in initializari balante)
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store Null To loCauta
lcSelect = [select id_sucursala, sucursala, inactiv from vnom_sucursale]
If tlBlank
lcSelect = [select cast (null as number(5)) as id_sucursala, rpad(' ',100, ' ') as sucursala, 0 as inactiv from dual ] + ;
[ UNION ] + ;
lcSelect
Endif
lcFiltru = []
lcSchema = []
lcOrder = [sucursala]
lccoloane = [sucursala,id_sucursala]
If glEMama && daca este mama - arat doar sucursalele ei
lcFiltruOriginal = [inactiv = 0 and id_mama = ?gnIdFirma]
Else && daca este sucursala nu arat nimic
lcFiltruOriginal = [1=2]
Endif
lcTitlu = "Alegeti sucursala"
If tlNou
lcNumeProc = [nom_sucursale]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Sucursala, Id]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
Endproc
******************************************* SFARSIT: caut_gruputilizatori *******************************************
******************************************* INCEPUT: caut_masina_gs *******************************************
Function caut_masina_gs
Lparameters tlToateIreg, tlMaiMulteMasini
Store "" To loCauta
lcFiltru = [1=2]
lcSchema = [id_masina n(20),nrinmat c(35),marca_masina c(24),model_masina c(20)]
lcOrder = [nrinmat]
lccoloane = [nrinmat,marca_masina,model_masina]
lcTitlu = [Alegeti ma<6D>ina]
lcTitluColoane = [Nr.inmatriculare,Marca,Model]
llMaiMulteMasini = tlMaiMulteMasini
lcSelect = [select id_masina,nrinmat,marca_masina,model_masina from vnom_masini where 2=2]
lcFiltruOriginal = [2=2]
lcNumeProc = [nom_masini]
llToateIreg = tlToateIreg
lcPrimaColoana = [nrinmat]
lnPornire = 1
lnTipReturn = Iif(tlMaiMulteMasini, 1, 0)
lcIdColumn = "id_masina"
loCauta = cauta_alfa_gs(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return loCauta
Endfunc && caut_masina_gs
******************************************* SFARSIT: caut_masina_gs *******************************************
* primeste un hash cu parametri: cTitlu, cText, cTip, cEnums
* afiseaza un textbox/editbox/combobox initializat cu cText si intoarce textul modificat
* daca tipul este COMBO - trebuie si parametrul cEnums (sir separat prin virgula cu valorile de afisat in combo)
* lcText = GetText(GetHash("cTitlu=>titlul meu??cText=>text initial??cTip=>TEXT/COMBO/EDIT??cEnums=>DA,NU"))
Procedure GetText
Parameters toHash
Local lcText, lcTitlu, lcTip
Private pcText
lcTitlu = toHash.GetValue("cTitlu")
pcText = toHash.GetValue("cText")
lcTip = Upper(Alltrim(toHash.GetValue("cTip"))) && text/edit/combo
lcEnums = toHash.GetValue("cEnums")
If Empty(lcTitlu)
lcTitlu = "Valoare"
Endif
If Empty(lcTip)
lcTip = "TEXT"
Endif
lcText = pcText
Do Case
Case lcTip = 'TEXT'
loText = Newobject("frm_textbox", "cautare.vcx")
loText.ct_text.text_simplu1.ControlSource = "pcText"
loText.ct_text.lb_simplu1.Caption = lcTitlu
Case lcTip = 'COMBO'
loText = Newobject("frm_combobox", "cautare.vcx")
With loText.ct_text._cbbase1
.ControlSource = "pcText"
.RowSourceType = 1 && value
.RowSource = lcEnums && sir valori
.ColumnCount = 1 && sir valori
Endwith
loText.ct_text._lbbase1.Caption = lcTitlu
Otherwise && EDIT
loText = Newobject("frm_editbox", "cautare.vcx")
loText.ct_text._edbase1.ControlSource = "pcText"
loText.ct_text._lbbase1.Caption = lcTitlu
Endcase
loText.lb_titlu_alb_b121.Caption = lcTitlu
loText.Show(1)
If gnButon = 1
lcText = pcText
Endif
Return lcText
Endproc && GetText
******************************************* INCEPUT:caut_politici_preturi *******************************************
Function caut_politici_preturi
Local lcCont, loCauta
Store "" To loCauta
*!* 06.07.2011
*!* lcSelect = [select NUME_LISTA_PRETURI,DATAI,DATAS,ID_POL FROM vcrm_politici_preturi ]
lcSelect = [select nume_lista_preturi, datai, datas, id_pol from crm_vpolpretcurutil]
*!* 06.07.2011 ^
lcFiltru = [1=2]
lcSchema = [NUME_LISTA_PRETURI C(100),DATAI D,DATAS D,ID_POL N(10)]
lcOrder = [nume_lista_preturi]
lccoloane = [NUME_LISTA_PRETURI,DATAI,DATAS,ID_POL]
lcTitlu = [Alegeti lista de pre_uri]
lcTitluColoane = [LISTA PRETURI,DATA INCEPUT,DATA SFARSIT,ID]
*!* 06.07.2011
*!* lcFiltruOriginal = [inactiv = 0]
lcFiltruOriginal = [id_util = ?gnIdUtil] + m.gcCondSucursala
*!* 06.07.2011 ^
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT:caut_politici_preturi *******************************************
******************************************* INCEPUT:caut_imprimanta *******************************************
Function caut_imprimanta
Local loCauta
Store [] To loCauta
Create Cursor crsprinters (imprimanta C(100), port C(20))
Aprinters(laPrinters)
Insert Into crsprinters From Array laPrinters
lcSelect = [select imprimanta,port from crsprinters]
lcFiltru = [1=2]
lcSchema = [imprimanta c(100),port c(20)]
lcOrder = [imprimanta]
lccoloane = [imprimanta,port]
lcTitlu = [Alegeti imprimanta]
lcTitluColoane = [Imprimanta,Port de conectare]
lcFiltruOriginal = []
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa_vfp(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007
Release laPrinters
Return loCauta
Endproc &&caut_imprimanta
******************************************* SFARSIT:caut_imprimanta *******************************************
************************************** INCEPUT:caut_politici_curente_util *************************************
Procedure caut_politici_curente_util
Local loCauta, llReturn
Store "" To loCauta
Store .F. To llReturn
lcSelect = [select id_pol,nume,datai,datas from crm_vpolpretcurutil]
lcFiltru = [1=2]
lcSchema = [id_pol n(5), nume c(100), datai d,datas d]
lcOrder = [2]
lccoloane = [nume,datai,datas]
lcTitlu = [Alegeti politica de pre_uri]
lcTitluColoane = [Nume,Data inceput,Data sfarsit]
lcNumeProc = []
llToateIreg = .F.
lcFiltruOriginal = [id_util = ?gnIdUtil]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
Endproc && caut_politici_curente_util
************************************** SFARSIT: caut_politici_curente_util **************************************
***************************************** INCEPUT:caut_explicatie_tva *******************************************
Function caut_explicatie_tva
Parameters tnIdJtva, tnPornire, tlDesktop, tlTipEx
*!* tlTipEx = 0 - toate
*!* = 1 - doar TVA exigibil din JC
*!* = 2 - doar TVA neexigibil din JC
*!* = 3 - doar TVA exigibil din JV
*!* = 4 - doar TVA neexigibil din JV
*!* = 5 - doar TVA exigibil ( JC + JV )
*!* = 6 - doar TVA neexigibil ( JC + JV )
Local lcCont, loCauta, lnPornire, llDesktop
lnPornire = tnPornire && 1-incepe cu...6-toate
llDesktop = tlDesktop
lnIdJtva = Iif(Empty(tnIdJtva), -1, tnIdJtva)
Store "" To loCauta
lcSelect = [select id_jtva_coloana, denumire, cota_tva FROM vjtva_coloane]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,cota_tva]
lcTitlu = [Alegeti explica_ia TVA]
lcTitluColoane = [Explicatie TVA,Cota TVA]
*!* modificare ROACONT v 2.4.4
do case
case empty(tlTipEx)
lcFiltruOriginal = [id_jtva_coloana > 0]
case tlTipEx = 1
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[jc = 1 and id_jtva_neex is not null)]
case tlTipEx = 2
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[jc = 1 and id_jtva_ex is not null)]
case tlTipEx = 3
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[jv = 1 and id_jtva_neex is not null)]
case tlTipEx = 4
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[jv = 1 and id_jtva_ex is not null)]
case tlTipEx = 5
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[id_jtva_neex is not null)]
Otherwise
lcFiltruOriginal = [id_jtva_coloana in (select id_tva from vjtva_coloane where ] + ;
[id_jtva_ex is not null)]
Endcase
*!* *!* If tnIdJtva > 0
*!* *!* lcFiltruOriginal = [jc * 4 + jv * 2 + decode(afisat,0,0,1) in ] + ;
*!* *!* [(select jc * 4 + jv * 2 + decode(afisat,0,0,1) from ] + gcS + [.vjtva_coloane ] + ;
*!* *!* [where id_jtva_coloana = ] + Alltrim(Str(lnIdJtva)) + [) and id_jtva_coloana > 0]
*!* *!* ELSE
*!* lcFiltruOriginal = [id_jtva_coloana > 0]
*!* *!* Endif
*!* modificare ROACONT v 2.4.4 ^
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal, , lnPornire, , , llDesktop) && 11.07.2007
Return loCauta
Endfunc && caut_explicatie_tva
***************************************** SFARSIT: caut_explicatie_tva *******************************************
* PROCEDURE caut_formatie
* Date : 26.03.2007
* author : paula.mutu
******************************************* INCEPUT: caut_formatie *******************************************
Procedure caut_formatie
Lparameters tlToateIreg, tlNou, tlTranse
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg
lcSelect = [select * from sal_vnom_formatii]
lcFiltruInitial = [inactiv = 0]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], [])
lcTitlu = [Alegeti forma_ia]
If tlNou
lcNumeProc = [sal_nom_formatii] && [nom_formatie]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Formatie,Sectia] + IIF(tlTranse, [,Transa], [])
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007
Return Iif(gnButon = 2, Null, loCauta)
Endproc && caut_formatie
***************************************** SFARSIT: caut_formatie *******************************************
******************************************* INCEPUT: caut_gestiune_dest *******************************************
Function caut_gestiune_dest
Lparameters tnIdGestiune, tcTip, tnTip
*!* tnIdGestiune - daca e diferit de zero atunci exclude din rezultate gestiunea cu id-ul respectiv
*!* tcTip - lista cu tipurile de gestiuni
*!* tnTip - daca e 1 atunci arata doar gestiunile, fara conturi si analitice
Local lcTip, lnTip
Store "" To loCauta, lcTip
If Empty(tcTip)
lcTip = [2,4,5,6,7]
Else
lcTip = tcTip
Endif
If Empty(tnTip)
lnTip = 0
Else
lnTip = tnTip
Endif
pcFiltruOriginal = [a.id_util=?gnIdUtil and a.sters=0 and b.sters=0 and c.sters=0 and c.nr_pag in (] + Alltrim(lcTip) + [)]
If !Empty(Nvl(tnIdGestiune, 0))
pcFiltruOriginal = pcFiltruOriginal + [ and b.id_gestiune!=] + Alltrim(Str(tnIdGestiune))
Endif
If lnTip = 1
pcselect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune ] + ;
[from gest_coresp_util_grupe a ] + ;
[left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ;
[left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ]
pcorder = [nume_gestiune]
pccoloane = [nume_gestiune,cgest]
pcTitlu = [Alegeti gestiunea destina_ie]
pcTitluColoane = [Gestiune,Cgest]
Else
pcselect = [select distinct c.nume_gestiune,c.cgest,b.id_gestiune,d.id_tipgest,] + ;
[NVL(c.cont, d.cont) as cont,NVL(c.acont, p.acont) as acont ] + ;
[from gest_coresp_util_grupe a ] + ;
[left join gest_coresp_grupe_gestiuni b on a.id_grupe=b.id_grupe ] + ;
[left join nom_gestiuni c on b.id_gestiune=c.id_gestiune ] + ;
[left join coresp_cont_tipgest d on c.nr_pag=d.id_tipgest ] + ;
[left join vplcont_analitic p on NVL(c.cont, d.cont) = p.cont and p.an = ?gnAn and p.inactiv = 0 ] + ;
[left join vplcont_sintetic s on NVL(c.cont, d.cont) = s.cont and s.an = ?gnAn and s.inactiv = 0 ]
*!* modificare ROAFACTURARE v 2.0.19 ^
pcorder = [nume_gestiune,cgest,cont,acont]
pccoloane = [nume_gestiune,cgest,cont,acont]
pcTitlu = [Alegeti gestiunea <20>i contul de transfer]
pcTitluColoane = [Gestiune,Cgest,Cont,Analitic]
*!* pcFiltruOriginal = pcFiltruOriginal + [ and s.an=?gnAn and s.inactiv = 0 and NVL(p.an,?gnAn)=?gnAn and NVL(p.inactiv,0) = 0] && modificare v 2.2.25
Endif
pcfiltru = [1=2]
pcschema = []
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal) && 11.07.2007
Return loCauta
Endfunc
******************************************* SFARSIT: caut_gestiune_dest *******************************************
******************************************* INCEPUT:caut_mediu_transmisie *******************************************
Function caut_mediu_transmisie
Parameters llToateIreg, tlNou
Local lcCont, loCauta
Store "" To loCauta
lcSelect = [select id_mediu, mediu_transmisie FROM vnom_medii_transmisie]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [mediu_transmisie]
lccoloane = [mediu_transmisie]
lcTitlu = [Alegeti mediul de transmisie]
lcTitluColoane = [Mediu transmisie]
lcFiltruOriginal = []
If tlNou
lcNumeProc = [nom_medii_transmisie]
Else
lcNumeProc = []
Endif
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal) && 11.07.2007
Return loCauta
******************************************* SFARSIT: caut_mediu_transmisie *******************************************
******************************************* INCEPUT:caut_contract *******************************************
Function caut_contract
Lparameters tnIdTipCtr, tnIdPart, tlToate
*!* 0 - toate
*!* -1 - clienti
*!* -2 - furnizori
Local loCauta, lcFiltru
lcFiltru = []
Store "" To loCauta
If !Empty(tnIdPart)
lcFiltru = [ and id_part = ] + Alltrim(Str(tnIdPart))
Endif
If !Empty(tnIdTipCtr)
lcFiltru = lcFiltru + [ and id_tip_ctr = ] + Alltrim(Str(tnIdTipCtr))
Endif
If tlToate
pcselect = [select id_ctr,id_part,denumire,data,numar_aa,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ;
[responsabil,contract,descriere from ] + gcS + [.vcontracte_toate ]
pcorder = [data,numar_aa]
pccoloane = [numar_aa,data,denumire,data_inceput,data_sfarsit,responsabil]
Else
pcselect = [select id_ctr,id_part,denumire,data,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ;
[responsabil,contract,descriere from ] + gcS + [.vcontracte ]
pcorder = [data,numar]
pccoloane = [numar,data,denumire,data_inceput,data_sfarsit,responsabil]
Endif
pcfiltru = [1=2]
pcschema = ['']
pcTitlu = [Alegeti contractul]
pcTitluColoane = [Numar,Data,Denumire,Data inceput,Data sfarsit,Responsabil]
pcFiltruOriginal = Substr(lcFiltru, 5)
lcNumeProc = [contracte]
llToateIreg = .F.
loCauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, lcNumeProc, llToateIreg, pcFiltruOriginal)
Return loCauta
******************************************* SFARSIT: caut_contract *******************************************
******************************************* INCEPUT: caut_raport *******************************************
Procedure caut_raport
Lparameters tnIdFormular, tlDrepturi
Local loCauta, lcSelect
loCauta = NULL
IF m.tlDrepturi
lcSelect = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu, dataora, utilizator from vrapoarte r join rapoarte_utilizatori ru on r.id_raport = ru.id_raport]
ELSE
lcSelect = [select r.id_raport,Substr(denumire,1,254) as denumire,titlu, dataora, utilizator from vrapoarte r]
ENDIF
loHash = GetHash()
loHash.SetValue("cSelect", lcSelect)
loHash.SetValue("cFiltru", [1=2])
loHash.SetValue("cSchema", [id_raport n(10),denumire c(254),titlu c(150),dataora t,utilizator c(100)])
loHash.SetValue("cOrder", [denumire])
loHash.SetValue("cColoana", [denumire,titlu,utilizator,dataora])
loHash.SetValue("cTitlu", [Alegeti raportul])
loHash.SetValue("cTitluColoana", [Denumire,Titlu,Utilizator,Dataora])
loHash.SetValue("lToateIreg", .F.)
loHash.SetValue("cFiltruOriginal", [r.id_formular_raport = ] + Alltrim(Str(m.tnIdFormular)) + IIF(m.tlDrepturi, [ and ru.id_utilizator = ] + ALLTRIM(STR(m.gnIdUtil)), []))
loHash.SetValue("cIdColumn", "id_raport")
loHash.SetValue('lModParam', .T.)
loCauta = cauta_alfa_hash(loHash)
Return loCauta
Endproc && caut_raport
******************************************* SFARSIT: caut_raport *******************************************
************************************************************************************************************
Procedure caut_sectie_util
Lparameters tnIdUtil, tnIdSucursala
Local loCauta, lcFiltru
Store "" To loCauta
If Empty(tnIdSucursala)
lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ;
[left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ;
[where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ;
[(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [))]
Else
lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ;
[left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ;
[where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ;
[(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [) ] + ;
[and a2.id_sucursala = ] + Alltrim(Str(tnIdSucursala)) + [)]
Endif
lcFiltruOriginal = [inactiv = 0] + lcFiltruOriginal
lcSelect = [select id_sectie, sectie, csectie from ] + gcS + [.vnom_sectii ]
lcOrder = [sectie]
lccoloane = [sectie,csectie]
lcFiltru = [1=2]
lcSchema = ['id_sectie n(10),sectie c(254),csectie c(50)']
lcTitlu = [Alegeti sec_ia]
lcTitluColoane = [Sectie, Indicativ]
llToateIreg = .T.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal)
Return loCauta
Endproc
************************************************************************************************************
Procedure caut_lucrare_sectie
Lparameters tnIdUtil, tnIdSectie, tnIdSucursala
Local loCauta, lcFiltru
Store "" To loCauta
If !Empty(tnIdSectie)
lcFiltruOriginal = [ and id_sectie = ] + Alltrim(Str(tnIdSectie))
Else
If Empty(tnIdSucursala)
lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ;
[left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ;
[where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ;
[(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [))]
Else
lcFiltruOriginal = [ and id_sectie in (select a1.id_sectie from asociere_parteneri_sectii a1 ] + ;
[left join nom_sectii a2 on a1.id_sectie = a2.id_sectie ] + ;
[where a1.id_tip = 2 and a2.sters = 0 and a1.id_part in ] + ;
[(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [) ] + ;
[and a2.id_sucursala = ] + Alltrim(Str(tnIdSucursala)) + [)]
Endif
Endif
lcFiltruOriginal = [inactiv = 0] + lcFiltruOriginal
lcSelect = [select id_lucrare,nrord from ] + gcS + [.vlucrari_sectii ]
lcOrder = [nrord]
lccoloane = [nrord]
lcFiltru = [1=2]
lcSchema = ['id_lucrare n(10),nrord c(200)']
lcTitlu = [Alegeti lucrarea]
lcTitluColoane = [Lucrare]
llToateIreg = .T.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal)
Return loCauta
Endproc
************************************************************************************************************
Procedure caut_sucursala_sectii
Lparameters tnIdUtil
Local loCauta, lcFiltru
Store "" To loCauta
lcFiltruOriginal = [inactiv = 0 and id_sucursala in (select id_sucursala from nom_sectii where id_sectie in (] + ;
[select id_sectie from asociere_parteneri_sectii where id_tip = 2 and id_part in ] + ;
[(select id_partener from vutilizatori_rol_intern where id_util = ] + Alltrim(Str(tnIdUtil)) + [)) and sters = 0)]
lcSelect = [select id_sucursala,sucursala from ] + gcS + [.vnom_sucursale ]
lcOrder = [sucursala]
lccoloane = [sucursala]
lcFiltru = [1=2]
lcSchema = ['id_sucursala n(10),sucursala c(200)']
lcTitlu = [Alegeti sucursala]
lcTitluColoane = [Sucursale]
llToateIreg = .T.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, [], llToateIreg, lcFiltruOriginal)
Return loCauta
Endproc
************************************************************************************************************
*!* 11.11.2009
Procedure caut_tipuri_imobilizare
Local loHash, loCauta
loHash = GetHash()
With loHash
.SetValue("cSelect", [select id_tip_imobilizare, denumire from imob_tipuri_imobilizare])
*!* .SetValue("cFiltru", "sters = 0 and inactiv = 0")
.SetValue("cOrder", "id_tip_imobilizare")
.SetValue("cColoana", "denumire, id_tip_imobilizare")
.SetValue("cTitlu", "Tipuri imobilizari")
.SetValue("cTitluColoana", "Denumire,Id")
.SetValue("cFiltruOriginal", "sters = 0 and inactiv = 0")
.SetValue("cPrimaColoana", "denumire")
*!* .SetValue("cNumeProc", lcNumeProcedura)
.SetValue("nPornire", 6) && TOATE
Endwith
loCauta = cauta_alfa_hash(loHash)
Return loCauta
Endproc && caut_tipuri_imobilizare
*!* 11.11.2009 ^
************************************************************************************************************
Function caut_cass
Lparameters tlNou
Local loHash, loCauta
loHash = GetHash()
With loHash
.SetValue("cSelect", [select numecasa,judet,id_caseasig,indicativ from sal_vcaseasig])
.SetValue("cOrder", "numecasa,judet")
.SetValue("cColoana", "numecasa,judet")
.SetValue("cTitlu", "Alegeti casa de sanatate")
.SetValue("cTitluColoana", "Casa asigurari,Judet")
.SetValue("cFiltruOriginal", "2=2")
If tlNou
.SetValue("cNumeProc", "sal_caseasig")
Endif
Endwith
loCauta = cauta_alfa_hash(loHash)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
************************************************************************************************************
Function caut_salariat
Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select nume,prenume,marca,id_stat,id_salariat from sal_vnom_pers ]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [nume,prenume]
lcColoane = [nume,prenume,marca,id_stat,id_salariat]
lcTitlu = [Angaja_i]
lcTitluColoane = [Nume,Prenume,Marca]
locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane,,,,[nume,prenume,marca])
*!*
*!* tcselect,tcfiltru,tcschema,tcorder,tccoloana,tcTitlu,tcTitluColoana, ;
*!* tcNume_Proc,tl_AllInList,tcFiltruOriginal,tcPrimaColoana,
Return IIF(gnbuton = 2, Null, locauta)
Endfunc
************************************************************************************************************
Function caut_salariat_spec
Lparameters tnTip, tlToti
Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
If tlToti
lcSelect = [select distinct id_part,nume,prenume,codpers from spec_vvenituri_tot]
Else
lcSelect = [select id_venit,codpers,nume,prenume,judet,sector,localitate,] + ;
[strada,numar,bloc,scara,etaj,apart,codpostal,id_colaborator,id_part from spec_vvenituri]
Endif
lcFiltru = [1=2]
lcSchema = []
lcOrder = [nume,prenume]
lcColoane = [nume,prenume,codpers]
lcTitluColoane = [Nume,Prenume,CNP]
If tnTip = 0
lcTitlu = [Alegeti persoana]
locauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane)
Return Iif(gnbuton = 2, Null, locauta)
Else
lcTitlu = [Alegeti persoanele (mouse-click pe nume sau apasati SPACE)]
lnTipReturn = 1 && XML
lcPrimaColoana = "nume"
lcIdColumn = "id_venit"
lnPornire = 1
lcXMLParteneri = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, [], .F., [2=2], lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLParteneri
Endif
Endfunc
************************************************************************************************************
FUNCTION caut_tip_cm
Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal
lcSelect = [select * from ] + gcS + [.sal_vnom_cm]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [ordine,cod_cm,conc_med]
lcColoane = [cod_cm,conc_med]
lcTitlu = [Cod CM,Concediu]
lcTitluColoane = [Cod CM,Concediu]
lcFiltruOriginal = [sters = 0 ]
locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007
Return IIF(gnbuton = 2, Null, locauta)
Endfunc
************************************************************************************************************
FUNCTION caut_loc_prescriere
Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal
lcSelect = [select * from sal_loc_prescriere]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [cod_pres]
lcColoane = [locPrescriere]
lcTitlu = [Loc Prescriere]
lcTitluColoane = [Loc Prescriere]
lcFiltruOriginal = [sters = 0 ]
locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007
Return IIF(gnbuton = 2, Null, locauta)
endfunc
************************************************************************************************************
FUNCTION caut_tip_spor
Local lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcFiltruOriginal
lcSelect = [select id_tip_spor,nume_tip_spor,cod_categorie from syn_sal_nom_tip_spor]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [cod_categorie desc,id_tip_spor]
lcColoane = [nume_tip_spor]
lcTitlu = [Tip sporuri]
lcTitluColoane = [Tip spor]
lcFiltruOriginal = [NVL(data_inactiv,to_date('20991231','YYYYMMDD')) > to_date('] + ALLTRIM(STR(gnAn)) + ALLTRIM(STR(gnLuna)) + [','YYYYMM')]
locauta = cauta_alfa(lcselect, lcfiltru, lcschema, lcorder, lccoloane, lcTitlu, lcTitluColoane, [], .F., lcFiltruOriginal )&&30iul2007
Return IIF(gnbuton = 2, Null, locauta)
endfunc
***********************************************************************************************************
Function caut_tara
Lparameters tnIdCetatenie
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from syn_nom_tari]
lcFiltruInitial = [sters = 0]
If !Empty(tnIdCetatenie)
lcFiltruInitial = lcFiltruInitial + [ and id_cetatenie = ] + Alltrim(Str(tnIdCetatenie))
Endif
lcFiltru = [2=2]
lcSchema = []
lcOrder = [tara]
lcColoane = [tara,prescurtare]
lcTitlu = [Na_ionalitate]
lcTitluColoane = [Tara,Abreviere]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_judet
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from syn_vnom_judete]
lcFiltruInitial = [inactiv=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [judet,indicativ]
lcColoane = [judet,indicativ]
lcTitlu = [Jude_]
lcTitluColoane = [Judet,Indicativ]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_localitate
Lparameters tnIdJudet, tnIdTara
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from syn_vnom_localitati]
lcFiltruInitial = Iif(!Empty(Nvl(tnIdJudet, 0)), [id_judet = ] + Alltrim(Str(tnIdJudet)), IIF(!EMPTY(NVL(tnIdTara, 0)), [id_tara = ] + ALLTRIM(STR(tnIdTara)), [2=2]))
lcFiltru = [inactiv=0]
lcSchema = []
lcOrder = [localitate]
lcColoane = [localitate,siruta,judet,tara]
lcTitlu = [Localita_i]
lcTitluColoane = [Localitate,Siruta,Judet,Tara]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, [nom_localitati], , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_tipautorizatie
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select id_tipautorizatie,denumire from syn_sal_nom_tipautorizatie]
lcFiltruInitial = [sters=0 and inactiv = 0]
lcFiltru = [2=2]
lcSchema = [id_tipautorizatie n(10),denumire c(250)]
lcOrder = [denumire]
lcColoane = [denumire]
lcTitlu = [Tipuri de autoriza_ie]
lcTitluColoane = [Tip autorizatie]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_cetatenie
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from syn_nom_cetatenii]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire]
lcTitlu = [Ceta_enie]
lcTitluColoane = [Cetatenie]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_tipact
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_nom_tip_acte]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire]
lcTitlu = [Tip act identitate]
lcTitluColoane = [Act]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_tipcontract
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_vnom_tipctr]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [tip_contract]
lcColoane = [tip_contract]
lcTitlu = [Tip Contract]
lcTitluColoane = [Tip Contract]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_meserie
LPARAMETERS tnTip
*!* 1 = meseria ; 2 = profesia
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_nom_mes]
lcFiltruInitial = [sters=0 and inactiv = 0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [meserie]
If tnTip = 1
lcColoane = [meserie,cod_meserie]
lcTitlu = [Meserii]
lcTitluColoane = [Meserie,Cod]
Else
lcColoane = [meserie]
lcTitlu = [Profesii]
lcTitluColoane = [Profesie]
Endif
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, 'sal_nom_mes', , lcFiltruInitial,[meserie,cod_meserie])
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
FUNCTION caut_grupamunca
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_coef_cas]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [dengrupa]
lcColoane = [dengrupa]
lcTitlu = [Grupa de munca]
lcTitluColoane = [Denumire]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
ENDFUNC
***********************************************************************************************************
Function caut_clasasal
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_vnom_clasesal]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [cod]
lcColoane = [cod,tarifar]
lcTitlu = [Clase salarizare]
lcTitluColoane = [Cod,Tarifar]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_bancasal
Lparameters tlNou
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc
lcSelect = [select id_banca,denumire from ] + gcS + [.sal_nom_banci]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire]
lcTitlu = [Banca]
lcTitluColoane = [Banca]
If tlNou
lcNumeProc = [sal_nom_banci]
Else
lcNumeProc = []
Endif
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
Function caut_contract_activ
Lparameters tnIdTipCtr, tnIdPart, tdActivLaData
*!* 0 - toate
*!* -1 - clienti
*!* -2 - furnizori
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, lcPrimaColoana
Store "" To loCauta
lcSelect = [select id_ctr,id_part,denumire,data,numar,data_inceput,data_sfarsit,id_responsabil,observatii,] + ;
[responsabil,contract,descriere from ] + gcS + [.vcontracte ]
lcFiltru = [1=2]
lcSchema = ['']
lcOrder = [data,numar]
lcColoane = [numar,data,denumire,data_inceput,data_sfarsit,responsabil]
lcTitlu = [Alegeti contractul]
lcTitluColoane = [Numar,Data,Denumire,Data inceput,Data sfarsit,Responsabil]
lcFiltruInitial = []
If !Empty(tnIdPart)
lcFiltruInitial = [ and id_part = ] + Alltrim(Str(tnIdPart))
Endif
If !Empty(tdActivLaData)
lcFiltruInitial = lcFiltruInitial + [ and NVL(data_sfarsit,to_date('] + DTOC(tdActivLaData, 1) + [','YYYYMMDD')) >= to_date('] + DTOC(tdActivLaData, 1) + [','YYYYMMDD')]
Else
lcFiltruInitial = lcFiltruInitial + [ and data_sfarsit is null]
Endif
lcFiltruInitial = [incetat = 0] + gcCondSucursala + lcFiltruInitial
lcNumeProc = [contracte]
lcPrimaColoana = [numar,denumire]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial, lcPrimaColoana)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
FUNCTION caut_sporuri
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.sal_vnom_sporuri]
lcFiltruInitial = [sters=0 and inactiv = 0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [nume_spor]
lcColoane = [nume_spor,nume_tip_spor]
lcTitlu = [Sporuri]
lcTitluColoane = [Nume spor,Tip spor]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
ENDFUNC
***********************************************************************************************************
Function caut_formatii_xml
Lparameters tlToateIreg, tlNou
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcSelect = [select * from sal_vnom_formatii]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,sectie,semnatura,directie,transa,id_formatia]
lcFiltruOriginal = [inactiv = 0]
lcTitlu = [Alegeti forma_ia (mouse-click pe nume sau apasati SPACE)]
If tlNou
lcNumeProc = [sal_nom_formatii]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Formatia,Sectie,Semnatura,Directie,Transa,Id_formatia]
lnTipReturn = 1 && XML
lcPrimaColoana = "denumire"
lcIdColumn = "id_formatia"
lnPornire = 1
lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLFormatii
Endfunc && caut_formatii_xml
***********************************************************************************************************
Procedure caut_transa
Lparameters tlToateIreg, tlNou
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc
lcSelect = [select * from sal_vnom_transe]
lcFiltruInitial = [inactiv = 0]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [transa]
lcColoane = [transa]
lcTitlu = [Alegeti tran<61>a]
If tlNou
lcNumeProc = [sal_nom_transe]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Transa]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007
Return Iif(gnButon = 2, Null, loCauta)
Endproc && caut_transa
***********************************************************************************************************
Procedure caut_partener_adresa
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg
lcSelect = [select id_part, nume, prenume, cod_fiscal, reg_comert, eliberatde, dataeliberat, judet, id_judet,] + ;
[ localitate, id_loc, strada, numar, bloc, scara, etaj, apart, cont_banca, banca from vnom_parteneri]
lcFiltruInitial = [inactiv = 0 and tip_persoana = 2]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [nume,prenume,cod_fiscal]
lcColoane = [nume,prenume,cod_fiscal]
lcTitlu = [Alegeti persoana]
lcNumeProc = []
lcTitluColoane = [Nume,Prenume,CNP]
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
endproc
***********************************************************************************************************
Procedure cauta_facturaTVAEx
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc
lcCursor = [crsfacturiTvaEx]
lcSql = [{call pack_contab.cauta_facturaTVAEx(?gnLuna,?gnAn)}]
if goExecutor.oExecuta(lcSql, lcCursor)
lcSelect = [select id_part,denumire,cod_fiscal,serie_act,nract,dataact,id_fact,tip from ] + lcCursor
lcFiltru = [1=2]
lcSchema = [id_part n(10),denumire c(100),cod_fiscal c(20),serie_act c(20),nract N(20),dataact d,id_fact n(20),tip c(30)]
lcOrder = [denumire]
lccoloane = [denumire,cod_fiscal,serie_act,nract,dataact,tip]
lcTitlu = [Alegeti factura]
lcTitluColoane = [Denumire,Cod fiscal,Serie,Nr.act,Data act,Tip]
lcFiltruOriginal = []
lcNumeProc = []
llToateIreg = .F.
loCauta = cauta_alfa_vfp(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruOriginal)
Use In (lcCursor)
else
gnButon = 2
Endif
Return Iif(gnButon = 2, Null, loCauta)
endproc
***********************************************************************************************************
Function cauta_tehnician_deviz
Lparameters tlInactivi
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg
lcSelect = [select id_mecanic,denumire as nume,sectie from devize_vtehnicieni]
lcFiltruInitial = Iif(!Empty(tlInactivi), [2=2], [inactiv = 0])
lcFiltru = [1=1]
lcSchema = []
lcOrder = [decode(id_mecanic,1,0,1),denumire]
lcColoane = [nume,sectie]
lcTitlu = [Alegeti tehnicianul]
lcNumeProc = []
lcTitluColoane = [Nume,Sectie]
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc
***********************************************************************************************************
******************************************* INCEPUT: caut_adresa *******************************************
Function caut_adresa
Lparameters tnIdPartener
Local lcColoane, lcFiltru, lcFiltruInitial, lcNumeProc, lcOrder, lcSchema, lcSelect, lcTitlu
Local lcTitluColoane, llToateIreg, loCauta
loCauta = NULL
PRIVATE pnIdPartener
pnIdPartener = tnIdPartener
lcSelect = [select id_adresa, id_part, denumire_adresa, adresa, principala from vadrese_parteneri]
lcFiltruInitial = [id_part = ?pnIdPartener]
lcFiltru = [2=2]
lcSchema = [id_adresa n(20), id_part n(20), denumire_adresa c(100), adresa c(250), principala n(1)]
lcOrder = [principala desc, denumire_adresa]
lcColoane = [adresa, denumire_adresa, principala]
lcTitlu = [Alegeti adresa]
lcNumeProc = []
lcTitluColoane = [Adresa,Denumire,Principala]
llToateIreg = .F.
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, llToateIreg, lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
Endfunc && caut_adresa
******************************************* SFARSIT: caut_adresa *******************************************
* PROCEDURE caut_formatie_sal_salspec
* Date : 06.04.2016
* author : liana.neagu
******************************************* INCEPUT: caut_formatie_sal_salspec *******************************************
Procedure caut_formatie_sal_salspec
Lparameters tlToateIreg, tlNou, tlTranse
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg
lcSelect = [select id_formatia,id_sectie,id_transa,denumire,sectie,transa,inactiv,1 as dinSalarii from sal_vnom_formatii ]+;
[ union ]+;
[ select id_formatia,id_sectie,0 as id_transa,formatia as denumire, sectie,'' as transa,inactiv, 0 as dinSalarii from spec_vnom_formatii]
lcFiltruInitial = [inactiv = 0]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], [])
lcTitlu = [Alegeti forma_ia]
If tlNou
lcNumeProc = [sal_nom_formatii] && [nom_formatie]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Formatie,Sectia] + IIF(tlTranse, [,Transa], [])
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007
Return Iif(gnButon = 2, Null, loCauta)
Endproc && caut_formatie
***************************************** SFARSIT: caut_formatie *******************************************
Function caut_apatrid
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from syn_nom_tipapatrid]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [id_tipapatrid]
lcColoane = [denumire]
lcTitlu = [Apatrid]
lcTitluColoane = [Apatrid]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
ENDFUNC
***********************************************************************************************************
FUNCTION caut_scutireimpozit
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select * from ] + gcS + [.SAL_NOM_SCUTIRIIMP]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [tip_scutire]
lcColoane = [scutireimpozit]
lcTitlu = [Impozitare]
lcTitluColoane = [Denumire]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
ENDFUNC
***********************************************************************************************************
Function caut_client_contract_activ
Lparameters tcCond, tnIdPart, tnIdCtr
*** tnIdCtr: daca dau id_ctr direct (facturile de penalitati) selectez numai acest contractul indiferent de iscontract_valid()
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, lcPrimaColoana
Local lcFiltruContract, lcFiltruPartener, lcFiltruContractActiv, lcFiltruConditie, lcAnLuna, lcSql, lcFiltruTipPart
PRIVATE pnIdTip, pcSir_Id_tip_part
pnIdTip = -1 && CLIENTI
pcSir_Id_tip_part = ''
loCauta = NULL
lcFiltruContract = ''
lcFiltruPartener = ''
lcFiltruContractActiv = ''
lcFiltruConditie = ''
lcFiltruTipPart = ''
If Type('tnIdCtr') = 'N' And !Empty(m.tnIdCtr)
lcFiltruContract = [ and (c.id_ctr = ] + Alltrim(Str(m.tnIdCtr)) + [)]
ENDIF
If Type('tnIdPart') = 'N' And !Empty(m.tnIdPart)
lcFiltruPartener = [ and p.id_part = ] + Alltrim(Str(m.tnIdPart))
Endif
lcSql = [begin pack_def.get_conturi_tip_part(?pnIdTip, ?@pcSir_Id_tip_part); end;]
llSucces = goExecutor.oExecuta(m.lcSql)
If llSucces AND !Empty(NVL(m.pcSir_Id_tip_part,''))
lcFiltruTipPart = [ and p.id_part in (select distinct id_part from coresp_tip_part where id_tip_part in (] + m.pcSir_Id_tip_part + [))]
ENDIF
lcAnLuna = Alltrim(Str(m.gnAn)) + Padl(m.gnLuna, 2, '0')
lcFiltruContractActiv = [ and ] + Alltrim(Str(m.gnAn * 12 + m.gnLuna)) + [ between extract(year from data_inceput) * 12 + extract(month from data_inceput) and ] + ;
[extract(year from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm'))) * 12 + extract(month from nvl(data_sfarsit, to_date('] + m.lcAnLuna + [', 'yyyymm')))]
lcFiltruConditie = Iif(!Empty(m.tcCond), [ and (] + m.tcCond + [)], [])
TEXT TO lcSelect TEXTMERGE NOSHOW
select id_ctr, id_part, denumire, cod_fiscal, data, numar, data_inceput, data_sfarsit, nr_zile_scadenta, tip_curs from
(select CAST (null as Number(10)) as id_ctr, id_part, denumire, cod_fiscal, CAST(null as date) as data, CAST(null as Varchar2(100)) as numar, CAST(null as date) as data_inceput, CAST(null as date) as data_sfarsit, CAST(null as number(5)) as nr_zile_scadenta, CAST(null as number(1)) as tip_curs from nom_parteneri p
WHERE STERS = 0 AND INACTIV = 0 <<m.lcFiltruPartener>> <<m.lcFiltruTipPart>>
union
select c.id_ctr, c.id_part, p.denumire, p.cod_fiscal, c.data, c.numar, c.data_inceput, c.data_sfarsit, c.scadenta_incasare as nr_zile_scadenta, c.tip_curs from contracte c JOIN nom_parteneri p ON c.id_part = p.id_part
where c.sters = 0 and c.inactiv = 0 and p.sters = 0 and p.inactiv = 0 <<m.gcCondSucursala>> <<m.lcFiltruPartener>> <<m.lcFiltruTipPart>> <<m.lcFiltruContract>> <<m.lcFiltruContractActiv>> <<m.lcFiltruConditie>>)
ENDTEXT
lcFiltru = [1=2]
lcSchema = [id_ctr I, id_part I, denumire C(100), cod_fiscal C(50), data D, numar C(100), data_inceput D,data_sfarsit D, nr_zile_scadenta N(10), tip_curs N(10)]
lcOrder = [denumire, data_inceput]
lcColoane = [denumire,cod_fiscal,numar,data,data_inceput,data_sfarsit, id_part, id_ctr]
lcTitlu = [Alegeti contractul]
lcTitluColoane = [Denumire,Cod fiscal,Contract,Data,Data inceput,Data sfarsit,IdPart,IdCtr]
lcFiltruInitial = []
lcNumeProc = []
lcPrimaColoana = [denumire,numar]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, , lcFiltruInitial, lcPrimaColoana)
Return loCauta
ENDFUNC
***********************************************************************************************************
Function caut_meserii_xml
Lparameters tlToateIreg, tlNou
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcSelect = [select meserie,cod_meserie,id_meseria from sal_vnom_mes]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [meserie]
lccoloane = [meserie,cod_meserie,id_meseria]
lcFiltruOriginal = [inactiv = 0]
lcTitlu = [Alegeti meseriile (mouse-click pe nume sau apasati SPACE)]
If tlNou
lcNumeProc = [nom_meserii]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Meserie,Cod_meserie,Id_meseria]
lnTipReturn = 1 && XML
lcPrimaColoana = "meserie"
lcIdColumn = "id_meseria"
lnPornire = 1
lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLFormatii
Endfunc && caut_formatii_xml
***********************************************************************************************************
******************************************* INCEPUT: caut_formatie *******************************************
Procedure caut_locmunca
Lparameters tlToateIreg, tlNou, tlTranse,tcLocate
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg,lcLocate
lcSelect = [select * from sal_vnom_locmunca ]
lcFiltruInitial = [inactiv = 0 and sters = 0]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [denumire]
lcColoane = [denumire,sectie] + IIF(tlTranse, [,transa], [])
lcTitlu = [Alegeti locul de munca]
If tlNou
lcNumeProc = [sal_nom_locmunca] && [nom_formatie]
Else
lcNumeProc = []
ENDIF
IF EMPTY(tcLocate)
lcLocate = []
ELSE
lcLocate = tcLocate
ENDIF
lcTitluColoane = [Loc munca,Sectia] + IIF(tlTranse, [,Activitate], [])
*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruInitial) && 11.07.2007
loCauta = cauta_alfa(lcSelect,lcFiltru,lcSchema,lcOrder,lcColoane,lcTitlu,lcTitluColoane,lcNumeProc,tlToateIreg,lcFiltruInitial,,,,,,,,,,,,,lcLocate) && 19 mai 2021
*!* loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, 'sal_nom_mes', , lcFiltruInitial,[meserie,cod_meserie])
Return Iif(gnButon = 2, Null, loCauta)
Endproc && caut_formatie
***************************************** SFARSIT: caut_formatie *******************************************
***********************************************************************************************************
Function caut_locmunca_xml
Lparameters tlToateIreg, tlNou
Local loCauta, lcFiltruOriginal
Local lcTitlu, lcFiltru, lcSchema, lcOrder, lcNumeProc, lcTitluColoane
Store "" To loCauta
lcSelect = [select * from sal_vnom_locmunca ]
lcFiltru = [1=1]
lcSchema = []
lcOrder = [denumire]
lccoloane = [denumire,sectie,semnatura,directie,transa,id_locmunca]
lcFiltruOriginal = [inactiv = 0]
lcTitlu = [Alegeti forma_ia (mouse-click pe nume sau apasati SPACE)]
If tlNou
lcNumeProc = [sal_nom_formatii]
Else
lcNumeProc = []
Endif
lcTitluColoane = [Loc Munca,Sectie,Semnatura,Directie,Activitate,Id_locmunca]
lnTipReturn = 1 && XML
lcPrimaColoana = "denumire"
lcIdColumn = "id_locmunca"
lnPornire = 1
lcXMLFormatii = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lccoloane, lcTitlu, lcTitluColoane, lcNumeProc, tlToateIreg, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return lcXMLFormatii
Endfunc && caut_formatii_xml
*-------------------------------------
Function caut_tipsal
Local lcSelect, lcFiltruInitial, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane
lcSelect = [select id_tippontaj,(case when nume_tip = 'Z' and id_tippontaj = -100 then 'L' else 'O' end) as nume_tip, inactiv,sters from ] + gcS + [.sal_vnom_pont]
lcFiltruInitial = [sters=0]
lcFiltru = [2=2]
lcSchema = []
lcOrder = [nume_tip]
lcColoane = [nume_tip]
lcTitlu = [Tip Salariu]
lcTitluColoane = [Tip Salariu]
loCauta = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcColoane, lcTitlu, lcTitluColoane, , , lcFiltruInitial)
Return Iif(gnButon = 2, Null, loCauta)
ENDFUNC
*------------------------------------------------------------
* caut imobilizare si intorc obiect din imob_vsituatie_lunara
*------------------------------------------------------------
Function caut_imobilizare
Lparameters tnTip
* tnTip: 1 = corporale, 2 = necorporale, 3 = in curs
PRIVATE pdDataI
Local lcColoana, lcFiltru, lcFiltruOriginal, lcGroup, lcIdColumn, lcNume_Proc, lcOrder
Local lcPrimaColoana, lcSchema, lcSelect, lcTitlu, lcTitluColoana, llAfisare, llAllInList
Local llModParam, llSucces, lnPornire, lnTipReturn, loRec
pdDataI = Date(gnAn, gnLuna, 1)
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
lcSelect = [SELECT * FROM imob_vsituatie_lunara]
lcFiltru = [1=2]
lcSchema = []
lcOrder = [nr_inventar, denumire,data_pif]
llAfisare = .F.
lcGroup = []
llModParam = .T.
lcFiltruOriginal = [id_tip_imobilizare = ] + Alltrim(Str(m.tnTip)) + [ AND IESIT_DIN_GEST = 0 ] + m.gcCondSucursala
lcColoana = "nr_inventar, denumire, data_pif"
lcTitluColoana = "Numar inventar, Denumire, Data PIF"
llAllInList = .F.
lnPornire = 1 && INCEPE CU
lcPrimaColoana = "nr_inventar"
lcNume_Proc = ""
lcTitlu = "Alegeti imobilizarea"
lnTipReturn = 0 && object
lcIdColumn = "id_mf"
loRec = cauta_alfa(lcSelect, lcFiltru, lcSchema, lcOrder, lcCOloana, lcTitlu, lcTitluColoana, lcNume_Proc, llAllInList, lcFiltruOriginal, lcPrimaColoana, lnPornire, lnTipReturn, lcIdColumn)
Return loRec
Endfunc && caut_imobilizare
******************************************* SFARSIT: caut_imobilizare *******************************************
FUNCTION GetImobilizareById
Lparameters tnTip, tnIdMf, tlBlank, tcAlias
* tnTip: 1 = corporale, 2 = necorporale, 3 = in curs
* tnIdMf: imob_nom_mf.id_mf. Daca tlBlank = .T., nu este nevoie de tnIdMf
* tlBlank: .T. = intoarce un obiect cu inregistrare goala tip imobilizare
* tcAlias: completat = lasa deschis cursorul tcAlias cu imobilizarile, altfel il inchide
PRIVATE pnIdMf, pdDataI
Local lcSql, llSucces, loImob, lcAlias
loImob = NULL
lcAlias = IIF(!EMPTY(m.tcAlias), m.tcAlias, SYS(2015))
pnIdMf = m.tnIdMf
pdDataI = Date(gnAn, gnLuna, 1)
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
IF m.llSucces
IF m.tnTip = 3 && in curs
lcSql = [SELECT * FROM imob_vlista_curs where ] + IIF(m.tlBlank, [1=2], [id_mf=?pnIdMf])
ELSE
lcSql = [SELECT * FROM imob_vsituatie_lunara where ] + IIF(m.tlBlank, [1=2], [id_mf=?pnIdMf])
ENDIF
llSucces = goExecutor.oExecuta(m.lcSql, m.lcAlias)
IF m.llSucces
SELECT (m.lcAlias)
GO TOP
SCATTER NAME loImob MEMO
ENDIF
IF EMPTY(m.tcAlias)
USE IN (SELECT(m.lcAlias))
ENDIF
ENDIF
Return loImob
Endfunc && GetImobilizareById