---
title: "Failų iškėlimas į MS Sharepoint - diegimas"
url: "https://gidas.rivile.lt/integraciniai_sprendimai/kitos_integracijos/failu_iskelimas_i_ms_sharepoint/diegimas"
updated: "2025-10-31"
parent: "https://gidas.rivile.lt/integraciniai_sprendimai/kitos_integracijos/failu_iskelimas_i_ms_sharepoint.md"
---

# Failų iškėlimas į MS Sharepoint - diegimas

[Konsultantams ir atstovams](https://manorivile.sharepoint.com/:f:/r/sites/rivilefiles/Shared%20Documents/Downloads/Kitos%20integracijos/Fail%C5%B3%20saugykla%20(Cloud)?csf=1&web=1&e=fNKM0T)

1. Sukuriama „Daemon App“ aplikacija [Azure portale](https://portal.azure.com).
2. Sugeneruojami MS sharepoint API prisijungimai.
3. Suteikiami API leidimai (API Permissions).
4. **FAILU_SAUGYKLA.app** įkeliamas į RIV_GAMA katalogą ir aprašomas sistemos INIT.
5. Aprašomi MS sharepoint prisijungimo parametrai.
6. Aprašomi MS sharepoint katalogai.
7. Užprogramuojamas klavišas failų perkėlimui iš Rivile GAMA duomenų bazės į aprašytus MS sharepoint katalogus.
8. Aprašomas failų perkėlimas iš Rivile GAMA duomenų bazės į aprašytus MS sharepoint katalogus naudojant "**Scheduler**".

> **Dėmesio:** Pirmas 3 užduotis iš anksto atlieka kliento sistemos administratorius, jei reikia, pasitardamas su Rivile konsultantais.

#### Sukuriama „Daemon App“ aplikacija [Azure portale](https://portal.azure.com)

Prisijungiama prie Azure portalo: [Azure Portal](https://portal.azure.com).

Azure portale pasirenkama **Azure Active Directory** > **App registrations**.

Atsidariusiame lange reikia sukurti naują aplikacijos registraciją:

- **New registration**.
- Įvedamas pavadinimas (pvz., „SharePoint Daemon App“).
- **Redirect URI** galima praleisti.
- Paspaudžiama **Register**.

![file_upl_10](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_10.png)

> **Dėmesio:** Po aplikacijos sukūrimo automatiškai sugeneruojami  **Application (client) ID** ir **Directory (tenant) ID**. Šie **ID** bus reikalingi aprašant "**Saugyklos parametrus**" Rivile GAMA programoje.

#### Sugeneruojami MS sharepoint API prisijungimai

Sukurtai aplikacijai reikia sugeneruoti slaptą raktą "**Client secret**":

- Pasirenkama **Certificates & secrets** > **Client secrets** > **New client secret**.
- Įvedamas pavadinimas ir nustatoma galiojimo trukmė.
- Paspaudus **Add**, pasirodys sukurtas slaptas raktas – nukopijuokite jį.

> **Dėmesio:** Raktas matomas tik kartą, būtinai jį nusikopijuokite, kitu atveju reikės kurti naują raktą.

#### Suteikiami API leidimai (API Permissions)

- Pasirenkama **API Permissions** > **Add a permission** > **Microsoft Graph** > **Application permissions**.
- Pridedamos teisės:
  - **Sites.ReadWrite.All** – jei norite skaityti ir rašyti „SharePoint“ failus.
  - **Files.ReadWrite.All** – jei norite valdyti failus.

**Administratoriaus sutikimas**:

- Pasirenkama **Grant admin consent for [Your Tenant Name]**, kad patvirtintumėte leidimus visam tenantui.

#### FAILU_SAUGYKLA.app įkėlimas į RIV_GAMA katalogą ir sistemos INIT aprašymas

Iš [Konsultantams ir atstovams](https://manorivile.sharepoint.com/:f:/r/sites/rivilefiles/Shared%20Documents/Downloads/Kitos%20integracijos/Fail%C5%B3%20saugykla%20(Cloud)?csf=1&web=1&e=fNKM0T) parsisiunčiamas failas "**failu_saugykla.app**"  ir įrašomas RIV_GAMA katalogą.

Po failo įrašymo Rivile GAMA programoje užprogramuojamas **Sistemos INIT**":

```
m.loFile_upload=FAILU_SAUGYKLA()
m.loFile_upload.test=.t. && test perkėlimas (skirta perkelti tik nurodytą failų kiekį)
m.loFile_upload.test_file=10 && perkeliamų failų maksimalus kiekis
FAILU_SAUGYKLA('MENIU') && meniu atvaizdavimas
```

> **Dėmesio:** Aprašius Sistemos INIT, būtina iš naujo paleisti programą !

Įėjus į programą, meniu juostoje atsiranda "**Failų saugykla**".

![file_upl_14](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_14.png)





#### Aprašomi MS sharepoint prisijungimo parametrai

> **Patarimas:** Failų saugykla -> Saugyklų parametrai

Rivile GAMA programoje lange "**Saugyklų parametrai**" aprašomi MS sharepoint saugyklos prisijungimai. 

> **Dėmesio:** Prisijungimai "**Tenant ID**", "**MS client ID**", "**MS client secret**" buvo gauti prieš tai, aprašant „Daemon App“ aplikaciją [Azure portale](https://portal.azure.com)

![file_upl_2](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_2.png)

"**Tenant pav**" ir "**Site pav**'' galima įrašyti ranka arba paspausti pieštuko simbolį:  jei užpildyta "**MS nuoroda**", šie laukai bus užpildyti automatiškai iš nurodytos nuorodos.

#### Aprašomi MS sharepoint katalogai

> **Patarimas:** Failų saugykla -> Katalogų nustatymai

Rivile GAMA programoje lange "**Katalogų nustatymai**" aprašomi MS sharepoint saugyklos katalogai ir failų atrinkimo logika.

![file_upl_17](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_17.png)

Formos laukų aprašymas:
- **Kodas** - įvedamas unikalus kodas.
- **Tipas** - iš sąrašo pasirenkamas saugyklos tipas.
- **Parametrai** -  iš  "**Saugyklų parametrai**" pasirenkamas ir įvedamas saugyklos parametro kodas .
- **Modulis** - iš sąrašo pasirenkamas modulis, jei sąraše nėra reikiamo modulio, tuomet galima pasirinkti "**Kita**".
- **Duomenų bazė** - automatiškai užpildomas duomenų bazės lentelės kodas pagal pasirinktą modulį.
- **Dokumentas/Dokumentai** - nurodoma iš kur bus paimami dokumentai: "**Dokumentas**", "**Dokumentai**", "**PDF ataskaita**".
- **Pavadinimas** - pavadinimas.
- **Aktyvus** - pažymima ar katalogo nustatymas aktyvus, ar ne.
- **MS biblioteka** - paspaudus mygtuką "**Nuskaityti katalogus**" gaunamas bibliotekų sarašas pagal saugyklos aprašytą parametrą "**Parametrai**". Pasirenkama reikalinga biblioteka.
- **MS bibliotekos ID** - automatiškai užsipildo pasirinkus MS biblioteką.
- **MS katalogas** - pasirenkamas konkretus bibliotekos katalogas.
- **MS katalogo ID** - automatiškai užsipildo pasirinkus MS katalogą.
- **SQL sąlyga** - sąlyga, pagal kurią atrenkami failai. 
  - Jei "**Modulis**" yra "**Kita**" ir "**Dokumentas/Dokumentai**" - "**Dokumentas**", tuomet dalyvauja tik **B00_IMP** lentelė.
  - Jei "**Modulis**" ne "**Kita**" ir "**Dokumentas/Dokumentai**" - "**Dokumentas**", tuomet dalyvauja **B00_IMP** ir parinkto modulio lentelės.
  - Jei "**Modulis**" yra "**Kita**" ir "**Dokumentas/Dokumentai**" - "**Dokumentai**", tuomet dalyvauja tik **K00_DOKF** lentelė.
  - Jei "**Modulis**" ne "**Kita**" ir "**Dokumentas/Dokumentai**" - "**Dokumentai**", tuomet dalyvauja **K00_DOKF** ir parinkto modulio lentelės.
  - Jei "**Modulis**" yra "**Kita**" ir "**Dokumentas/Dokumentai**" - "**PDF ataskaita**", tuomet dalyvauja tik **B00_IMP** lentelė.
  - Jei "**Modulis**" ne "**Kita**" ir "**Dokumentas/Dokumentai**" - "**PDF ataskaita**", tuomet dalyvauja **B00_IMP** ir parinkto modulio lentelės.
- **Pavadinimo prg.** - tarpinė failo pavadinimo, kuris keliamas į debesį, generavimo programa. 
- **Prioritetas** - katalogo nustatymo prioritetas vykdant failų perkėlimą į debesį.

> **Dėmesio:** Perkėlimui failai bus atrenkami pagal saugyklos katalogo nustatymus, jame aprašytą SQL sąlygą ir procedūroje FAILU_SAUGYKLA.app nurodytus parametrus.<br/>SQL sąlyga neaprašoma, jeigu failų atrinkimui pakanka procedūroje FAILU_SAUGYKLA.app nurodytų parametrų.

> **Dėmesio:** Pagal nutylėjimą failo pavadinimas sudarytas iš **modulis+operacijos numeris+eilutės numeris jei yra+failų saugoma DB K00 arba B00+unikalus kodas iš K00 arba B00**. <br/>Pvz,.: "**6A_010000003613_K00_010000000454** " , "**PO_010000004041_B00_010000000571**".



#### Failų perkėlimas iš Rivile GAMA duomenų bazės į aprašytus MS sharepoint katalogus naudojant užprogramuotą klavišą

Pirkimo operacijose prisegtų failų perkėlimui į debesį užprogramuojamas klavišas:

```
clear program
lcKodas_fl01="PIRKIMAI"
lcDateFrom=.f.
lcDateTo=.f.
lcModul="*"
lcOpNo="*"
lShowError=.t.
FAILU_SAUGYKLA("UPLOAD",lShowError,lcKodas_fl01, lcDateFrom, lcDateTo, lcModul, lcOpNo)
```



![file_upl_15](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_15.png)

Analogiškai aprašomi failų perkėlimai ir į kitus iš anksto aprašytus MS sharepoint katalogus.

Klavišai gali būti užprogramuojami bet kuriuose programos languose.

Paspaudus užprogramuotą klavišą, visi failai pagal aprašytą katalogo nustatymų logiką "**PIRKIMAI**", bus perkelti į MS sharepoint debesį.

![file_upl_5](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_5.png)



![file_upl_6](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_6.png)

Po failų perkėlimo į MS sharepoint debesį, Rivile GAMA programoje prie "**Dokumentas**" arba "**Dokumentai**" pasikeičia failo tipas į "**Nuoroda į failą**", o vietoje failo atsiranda internetinė nuoroda į tą failą debesyje.

![file_upl_7](https://gidas.rivile.lt/user/pages/142.integraciniai_sprendimai/11.Kitos_integracijos/85.Failu_iskelimas_i_ms_sharepoint/02.diegimas/file_upl_7.png)

#### Failų perkėlimas iš Rivile GAMA duomenų bazės į aprašytus MS sharepoint katalogus naudojant "**Scheduler**"

Sukuriamas  "**.bat**" failas:

```
C:\RIV_GAMA\RIV_GAMA.EXE .f. .f. 2 AUTO auto XXF "FAILU_SAUGYKLA('UPLOAD',.f.,'PIRKIMAI',,,'*','*')"
```

Windows užduočių tvarkyklėje ("**Task Scheduler**") aprašoma užduotis .bat failo paleidimui, kurioje nurodomas failų perkėlimo į debesį periodiškumas ir laikas.
