---
title: "Rinkiniai"
url: "https://gidas.rivile.lt/korteles/rinkiniai"
updated: "2024-04-26"
parent: "https://gidas.rivile.lt/korteles.md"
---

# Rinkiniai

> **Patarimas:** 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?"](https://gidas.rivile.lt/korteles/duk/duk_005.md)

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.

> **Informacija:** 117.0000+DI Rivile GAMA programos versijoje padaryta galimybė išplėsti prekių likučius, skolas, DK sąskaitas laukų rinkiniais.  <br/>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ų.<br/>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.

> **Patarimas:** Servisas -> Administravimas -> Registracija/Darbas su sistema

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

![rinkiniai_01](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_01.png)

![rinkiniai_02](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_02.png)

> **Dėmesio:** Perėjus prie rinkinių, visoje sistemoje vietoje Objekto lauko atsiranda Rinkinio ID laukas.<br/>Objektas automatiškai atsiranda kaip pirmas rinkinio elementas.

![rinkiniai_03](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_03.png)

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

 ![rinkiniai_04](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_04.png)

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

> **Dėmesio:** Dirbant su rinkiniais, visada galima grįžti prie darbo su objektais. 

> **Patarimas:** Servisas -> Administravimas -> Registracija/Darbas su sistema

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

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

> **Dėmesio:** 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". <br/>Savybėje "pav" nurodomas rinkinio lauko pavadinimas, o savybėje "sar" nurodomas sąrašo kodas. <br/>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

> **Dėmesio:** 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](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_08.png)

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

![rinkiniai_09](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_09.png)

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

![Į](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_10.png)



į prekių likučius:

![rinkiniai_11](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_11.png)

ir į skolas:

![rinkiniai_12](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_12.png)

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

![rinkiniai_13](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_13.png)

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](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_14.png)

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

> **Įspėjimas:** 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. <br/>Laukų reikšmes, kurios atitinka konkretų rinkinio ID, gauname iš rinkinių sąrašo.

> **Įspėjimas:** 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](https://gidas.rivile.lt/korteles/duk/duk_005.md)

##### 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](https://gidas.rivile.lt/user/pages/028.korteles/17.rinkiniai/rinkiniai_15.png)



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](https://gidas.rivile.lt/sistemos_programavimas/funkcijos/kitos_funkcijos/rinkiniai_os_info.md).

##### 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](https://gidas.rivile.lt/sistemos_programavimas/funkcijos/kitos_funkcijos/rinkiniai_alter.md).

##### 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](https://gidas.rivile.lt/sistemos_programavimas/funkcijos/init/bendra_019.md).

##### 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.
```
