Rinkiniai

Servisas -> Kortelės -> Rinkiniai

Rivile GAMA sistemoje buvo naudojamos 5 statinės dimensijos (Padalinys, Objektas, Centras, Serija ir Asmuo) ir 15 dinaminių dimensijų. Plačiau apie jas aprašyta "Kokios dimensijos naudojamos programoje?"

Finansinę informaciją (Didžiosios knygos operacijas) galima analizuoti įvairiais visų šių dimensijų pjūviais.

Prekių kiekiniai likučiai apskaitomi pagal padalinius, objektus ir serijas.

Klientų skolos apskaitomos pagal padalinius, objektus ir centrus.

117.0000+DI Rivile GAMA programos versijoje padaryta galimybė išplėsti prekių likučius, skolas, DK sąskaitas laukų rinkiniais.
Tai reiškia, kad vietoje objekto atsiranda rinkinys, kuris gali apimti iki 15-kos laisvai aprašytų laukų. Objektas pasidaro tik vienas iš tų laukų.
Atsiranda galimybė prekių likučius, klientų skolas, Didžiosios knygos operacijas detalizuoti pagal visus 15 rinkinio laukų.

Perėjimas prie rinkinių.

Apsisprendus Rivile GAMA programoje naudoti rinkinius, atliekamas perėjimas prie šios sistemos.

Servisas -> Administravimas -> Registracija/Darbas su sistema

Paspaudžiamas mygtukas "Perėjimas prie Rinkinių".

rinkiniai_01

rinkiniai_02

Perėjus prie rinkinių, visoje sistemoje vietoje Objekto lauko atsiranda Rinkinio ID laukas.
Objektas automatiškai atsiranda kaip pirmas rinkinio elementas.

rinkiniai_03

Rinkinių sąraše automatiškai sukuriami rinkiniai, kurių ID sutampa su objekto kodu.

rinkiniai_04

Rinkinio ID – tai raktas, kuris identifikuoja patį rinkinį, t.y. visą 15 jo reikšmių.

Dirbant su rinkiniais, visada galima grįžti prie darbo su objektais.

Servisas -> Administravimas -> Registracija/Darbas su sistema

Paspaudžiamas mygtukas "Perėjimas prie Objektų".

Perėjus nuo darbo su rinkiniais prie darbo su objektais, visi rinkinio ID perkeliami į objektų sąrašą.

Atlikus perėjimą prie rinkinių arba perėjimą prie objektų, būtina iš naujo paleisti programą!

Rinkinių aprašymas

Rinkiniai aprašomi Sistemos INIT-e:

titi_pagr.rin_xx_pav="Mano lauko" && lauko pavadinimas
titi_pagr.rin_xx_pri=.F. && jei laukas privalomas įvesti, reikia nurodyti .T.
titi_pagr.rin_xx_sar="YY" && jei laukas sąrašinis, nurodomas sąrašo kodas t.y. vietoje "YY" nurodoma "PS","AS" ir t.t.

kur
xx - rinkinio lauko numeris nuo 01 iki 15

Kiekvienas rinkinio laukas aprašomas dviem savybėmis: "pav" ir "sar".
Savybėje "pav" nurodomas rinkinio lauko pavadinimas, o savybėje "sar" nurodomas sąrašo kodas.
Jei lauko nebus galima pasirinkti iš sąrašo, savybės "sar" jam nurodyti nereikia.

Pavyzdžiui:

titi_pagr.rin_02_pav="Projektas"
titi_pagr.rin_02_sar="HP"
titi_pagr.rin_03_pav="Straipsnis"
titi_pagr.rin_03_sar="LS"
titi_pagr.rin_04_pav="Partijos Nr."
titi_pagr.rin_05_pav="Užsakovas"
titi_pagr.rin_05_sar="KS"
titi_pagr.rin_06_pav="Paskirtis"
titi_pagr.rin_06_sar="LS"

Pagal nutylėjimą pirmas rinkinio laukas 01 rezervuotas objektų sąrašui. Esant poreikiui, objektui galima nusirodyti kitą lauką.

titi_pagr.rin_01_pav="Objektas"
titi_pagr.rin_01_sar="OS"

Maksimalus rinkinio laukų skaičius yra 15. Apsirašius rinkinio laukus ir pradėjus vesti duomenis, jų keisti nepatariame, nes rezultatai bus nelogiški ir sunkiai paaiškinami.

Darbas su rinkiniais

Dirbant su rinkiniais, parenkami ir užpildomi rinkinio laukai. Pagal jų reikšmes automatiškai parenkamas (jei toks jau yra) arba sukuriamas naujas rinkinio ID.

rinkiniai_08

Išsaugojimo metu susikūrė naujas rinkinio ID:

rinkiniai_09

Perkėlus operaciją, kurioje naudojami rinkiniai, jų reikšmės nueina į Didžiosios knygos operaciją:

Į

į prekių likučius:

rinkiniai_11

ir į skolas:

rinkiniai_12

Jeigu toks rinkinio ID jau yra, tai jį įvedus, automatiškai užsipildo visos rinkinio laukų reikšmės :

rinkiniai_13

Arba atvirkščiai, vedant rinkinio laukų reikšmes, automatiškai atsiranda tas reikšmes atitinkantis rinkinio ID.

Prekių likučius galima atsifiltruoti tiek pagal rinkinio ID, tiek pagal visų jo laukų reikšmes:

rinkiniai_14

Rinkinio ID gali būti kuriamas pagal dokumentų skaitliuką.

Operacijose dažniausiai vedamos rinkinio reikšmės, tačiau visose lentelėse (pirkimuose, pardavimuose, prekių likučiuose, skolose ir pan.) saugomos ne tos reikšmės, o tik rinkinio ID.
Laukų reikšmes, kurios atitinka konkretų rinkinio ID, gauname iš rinkinių sąrašo.

Rinkinių sąraše pakeitus kurią nors rinkinio lauko reikšmę, ji pasikeis visoje sistemoje, kur tik buvo panaudotas tas rinkinio ID.

Papildomos galimybės

1. Rinkinio laukų surišimas su jau aprašytais dimensijų laukais.

Operacijų perkėlimo į DK metu yra galimybė rinkinio laukus surišti su jau aprašytais dimensijų laukais. Tai reiškia, kad jei dimensijos laukas neužpildytas, perkėlimo metu jis bus užpildomas nurodytu rinkinio lauku.

Tam reikia SISTEMOS INIT-e nurodyti:

titi_pagr.dim_yy_rin="xx"
kur
yy - Dimensijos lauko numeris
xx - Rinkinio lauko numeris

Pavyzdys. Tarkime, kad SISTEMOS INIT-e jau yra aprašytos dimensijos ir rinkiniai:

titi_pagr.dim_01_pav="Grupė"
titi_pagr.dim_01_pri=.T.
titi_pagr.dim_01_sar="GS"
titi_pagr.dim_02_pav="Sutartis"
titi_pagr.dim_02_sar="KT"
titi_pagr.dim_03_pav="Projektas"
titi_pagr.dim_03_sar="PJ"

titi_pagr.rin_02_pav="Projektas"
titi_pagr.rin_02_pri=.T.
titi_pagr.rin_02_sar="PJ"
titi_pagr.rin_03_pav="Partijos Nr."
titi_pagr.rin_04_pav="Biudžetas"
titi_pagr.rin_02_sar="CS"

ir norime dimensijų projektą sujungti su rinkinių projektu, tada SISTEMOS INIT-e nurodome dar vieną eilutę:

 titi_pagr.dim_03_rin="02"

Šiuo atveju, jei I03_dim03 laukas bus neužpildytas, tai perkėlimo metu jis bus užpildomas antro rinkinio lauko reikšme.

Plačiau apie dimensijas aprašyta čia

2. Galimybė tam tikrose koregavimo formose nerodyti rinkinių.

Pagal nutylėjimą rinkinio laukai yra matomi visose formose.

Jei dirbama su rinkiniais, tačiau kurioje nors koregavimo formoje nenorime rodyti rinkinio reikšmių, reikia užprogramuoti tos formos INIT-ą:

thisform.rinkinys_ne

Pats laukas "Rinkinio ID" bus matomas, bet jo laukų reikšmės nebus matomos

rinkiniai_15

Pagal nutylėjimą papildomų dimensijų laukai yra nematomi.

Todėl, jei kurioje nors formoje papildomas dimensijas reikia rodyti, o rinkinių nereikia rodyti, tos formos INIT-as užprogramuojamas tokiu būdu:

thisform.rinkinys_ne
thisform.dimensija
3. Galimybė nurodyti ar rinkinio laukas yra privalomas.

SISTEMOS INIT-e galima nurodyti ar rinkinio laukas yra privalomas:

titi_pagr.rin_xx_pri=.T. && jei laukas neprivalomas, reikia nurodyti .F.

Tai galima nurodyti ir kiekvienoje formoje, kurioje naudojami rinkiniai. Tam reikia tos formos INIT-e užprogramuoti:

thisform.rin.rin_xx_pri=.T. && jei laukas neprivalomas, reikia nurodyti .F.
kur
xx rinkinio lauko numeris nuo 01 iki 15
5. Programa, kurios pagalba galima peržiūrėti jau esančio rinkinio reikšmes arba sukurti naują rinkinį.
RINKINIAI_OS_INFO(kodas,rez)
kur
kodas - Rinkinio kodas
rez  - darbo režimas:   "I" - peržiūrėti nurodyto rinkinio reikšmes
                        "P" - peržiūrėti nurodyto ir bet kurio jau sukurto rinkinio reikšmes ir jas pasirinkti
                        "K" - peržiūrėti nurodyto ir bet kurio jau sukurto rinkinio reikšmes ir, jei nėra tokio rinkinio, sukurti naują ir jį pasirinkti

Detaliau aprašyta čia.

6. Galimybė praplėsti bet kurį rinkinio lauką iki 250 simbolių.

Tam reikia rinkinių sąraše užprogramuoti klavišą ir jį vieną kartą paleisti:

RINKINIAI_ALTER(Lauko_NR,Lauko_ilgis)
kur
Lauko_NR   - Rinkinio lauko numeris nuo 1 iki 15
Lauko_ilgis - naujas Rinkinio lauko ilgis nuo 12 iki 250 simbolių

Aprašyta čia.

7. Galimybė rinkinio laukui nurodyti duomenų tipą.

Tam reikia užprogramuoti Sistemos INIT-ą:

titi_pagr.rin_xx_typas="C"   && lauko tipas: "C"-simbolinis(pagal nutylėjimą); "N"-skaitmeninis; "D"-data; "T"-laikas(būtina pailginti iki 16 simbolių su funkcija RINKINIAI_ALTER(Lauko_NR,16)).
titi_pagr.rin_xx_sv=12    && laukas ilgis (pagal nutylėjimą, koks yra duomenų bazėje, pailginti galima su funkcija RINKINIAI_ALTER(Lauko_NR,Lauko_ilgis) )
titi_pagr.rin_xx_po=4    && lauko ilgis po kablelio (pagal nutylėjimą 4), jei titi_pagr.rin_xx_typas="N"
kur
xx - Rinkinio lauko numeris nuo 01 iki 15

Aprašyta čia.

8. Galimybė naujus rinkinius kurti tik rinkinių sąraše.

Pagal nutylėjimą, įvedus rinkinio reikšmes, pats rinkinio ID susikuria automatiškai.

Norint, kad rinkiniai nebūtų kuriami automatiškai, reikia užprogramuoti Sistemos INIT-ą:

titi_pagr.rinkiniai_auto=.F.