Documente Academic
Documente Profesional
Documente Cultură
Import Penalizari
Import Penalizari
A) GENERALE: PenalizariLunaCrt
1
Se merge la Forms/ ImportScalaPenalizari_Generale si se importa tabela de tip
PenalizariLunaCrtluna_data in tabela Penalizari de pe baza de date InterfataScala.
Formul goleste si tabelele Penalizari si Penalizari_ERORI, seteaza valori de 0 pentru valorile NULL.
Se verifica daca au fost erori in tabela Penalizari_ERORI.
B) VIATA: PenalizariLunaCrt
2
Pentru Viata se merge la S:\SCALA\.ImportScala_Access\Viata\ImportScalaAccess_Viata\an
se deschide fisierul ImportScalaAccess_Viata_Penalizari_an.mdb si se importa local in fisierul Access
de pe \\bd1server\E\Public\evidente contabile life\an\luna din fisierul Access All_luna.mdb
tabelele de tip PenalizariLunaCrtluna_data
4
Dupa ce s-au importat tabelele se ruleaza pe baza de date InterfataScala procedura Penalizari_Scala cu
urmatorii parametri:
DataInregContabile: data inregistrarii contabile
DataDocument: data document
CodCompanie: cod companie
AnCompanie: an companie
Corectie: corectia
5
PASUL 3: ACTUALIZARE IN APLICATIA SCALA
Se merge in Scala la men iul "Tiparire Jurnal Inreg. Zilnice" si se urmeaza etapele:
7
4. Dupa Verificare se alege Cod Utilizator = "IMPORT ", Format Raport: "ECRAN" si se apasa OK
8
5. Se asteapta pregatirea raportului
9
6. Se inchide fiserul tiparit
10
7. Doriti retiparirea jurnalului - NU
11
8. Confirmati Actualizare Registre - DA
12
9. Fisier Jurnal va fi golit in timp ce se actualizeaza Registrul , OK? - DA
13
10. Incepe actualizarea in Scala
14
ANEXA - DESCRIERE PROCEDURI
15
Procedura Penalizari_Scala are urmatoarele etape:
A) verifica in tabela Penalizari numele clientilor sa nu aiba apostrof, daca da, apare urmatorul mesaj de
eroare 'Aveti ghilimele in Nume in tabela de Penalizari!!!'
Initial in tabela Penalizari coloana Flag=0 iar in tabela Penalizari_Istoric_01 coloana Flag=2.
Procedura Penalizari_SetFlag_01 cauta:
- politele identice din tabela Penalizari (versiune n) si tabela Penalizari_Istoric_01 (versiune n-1), le
insereaza intr-o tabela temporara #conflict1 si apoi seteaza coloana Flag=1 in ambele tabele
- politele din tabelele Penalizari si Penalizari_Istoric_01 care au coloanele AnLuna, Versiune, KPolita,
CodAsig, AnAniv, TipPBS, ClasaNrProd, Sucursala, CodAgent, TipPenalizare identice dar restul coloanelor
diferite (CNPClient, PenalizareROL, PenalizareROLCoasig), le insereaza intr-o tabela temporara #conflict3
si apoi si seteaza in tabela Penalizari coloana Flag=3 iar in tabela Penalizari_Istoric_01 coloana Flag=4.
Concluzie:
In tabela Penalizari vom avea:
-Flag=1 pt penalizarile pe care le-am gasit identic in Penalizari_istoric_01 pe versiune=n-1
-Flag= 3 pt penalizarile pe care le-am gasit dar sunt modificate in Penalizari_istoric_01 pe versiune=n-1
-Flag= 0 pt penalizarile noi care nu se regasesc in Penalizari_istoric_01 pe versiune=n-1 si deci sunt noi
Procedura cauta @CodClient = SL01001 in tabela SL010100 din baza de date iScala unde coloana
SL01129 este egala cu @CNP.
- daca gaseste @CodClient, atunci actualizeaza tabela SL010100 si seteaza campurile SL01002, SL01109
cu @Nume cu conditia ca SL01001 sa fie egal cu @CodClient, dar si tabela GL030108 unde seteaza
campurile GL03003, GL03004 cu @Nume cu conditia ca GL03001=’H' si GL03002 = @CodClient.
- daca nu gaseste @CodClient,se insereaza in tabela SL010100 inregistrarea dintemplate-ul din
SL190100 de pe SL19001=’A’ apoi se updateaza tabela SL010100 pt campurile SL01001 cu @CodClient,
SL01002, SL01109 cu @Nume si SL01129 cu @CNP. Insereaza in tabela GL030108 valorile ‘H’,
@CodClient, @Nume, @CNP.
Se inchide cursorul
3.2) se seteaza
@ValoareROL = @PenalizareROL + @PenalizareROLCoasig
@ValoareValuta = @ValoareROL
@Sign = sign(@PenalizareROL + @PenalizareROLCoasig)
@ValoareROL = round (@ValoareROL,2)
@ValoareValuta = round (@ValoareValuta,2)
20
4) se executa procedura AlocareNrTranz cu parametrii @CodCompanie, @AnCompanie
care aloca numarul de Tranzactii in Scala
4.1 goleste si apoi insereaza in tabela TranzConcat pe coloanele NrTranzIntern, Prefix, TipTranz, Debit,
Credit urmatoarele coloane din tabela de Tranzactii
NrTranzIntern ,Left(NrTranzIntern, 2), max(GL07022) TipTranz, 'Debit', 'Credit'
cu conditia ca GL07007 sa fie diferit de 0.
4.2 urmeaza un cursor care construieste un tabel temporar pt concatenare debite si credite;
el face update pe coloanele urmatoare din tabela TranzConcat
Debi t = dbo.ConcatenateCont(@NrTranzIntern, 1)
Credit = dbo.ConcatenateCont(@NrTranzIntern, -1)
4.3 al doilea cursor grupeaza tranzactiile dupa Tip ( AG, BG..), Semn (0, 1), Debit si Credit.
Daca apare vreo schimbare trebuie alocat urmatorul numar de tranzactie:
se executa procedura GetTranzCounter cu parametrii @CodCompanie, @AnCompanie, @Prefix,
@Contor out
care
-selecteaza @CodContor = CodContor, @PrefixTranzScala = PrefixTranzScala din tabela
MapPrefixNrTranz
- selecteaza @Counter = SY68002 din tabela SY680108 cu conditia ca SY68001 = @CodContor
- face update pe tabela SY680108 si incrementeaza coloana SY68002 cu conditia ca
SY68001=@CodContor
5) se executa Penalizari_VerificareSumaPenalizarImportTranzactii
cu parametrii @TipPenalizare, @OK OUTPUT
21
5.2) se seteaza
- @SumPenalizareDirect = round(Sum(round(PenalizareROL,8) + round(PenalizareROLCoasig,8)),6)
din tabela Penalizari_Recodificate cu conditia ca TipTranz=0 si TipPenalizare = @SC + 'Pen'
- @SumPenalizareTranz1 = round(Sum(GL07007),6)
din tabela Tranzactii cu conditia ca GL07006 sa fie gen ( '422' + @TipAsig + '0__001%')
22