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ų.
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ų".
Perėjus prie rinkinių, visoje sistemoje vietoje Objekto lauko atsiranda Rinkinio ID laukas.
Objektas automatiškai atsiranda kaip pirmas rinkinio elementas.
Rinkinių sąraše automatiškai sukuriami rinkiniai, kurių ID sutampa su objekto kodu.
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ą!
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.
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.
Išsaugojimo metu susikūrė naujas rinkinio ID:
Perkėlus operaciją, kurioje naudojami rinkiniai, jų reikšmės nueina į Didžiosios knygos operaciją:
į prekių likučius:
ir į skolas:
Jeigu toks rinkinio ID jau yra, tai jį įvedus, automatiškai užsipildo visos rinkinio laukų reikšmės :
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:
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.
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
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
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
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
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.
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ų