1c skladište podataka privremeno skladište. Privremeno skladište. kako se zovu?

Gotovo sve informacije mogu se pohraniti u skladište vrijednosti, npr.

... slike (fotografije):

CurrentImage.Object = SprFabric.Link; CurrentImage.DataType = Enumerations.Types of Additional Information of Objects.Image; Skladište = NewValueStorage(NovaSlika, NewDataCompression()); CurrentImage.Storage = Storage.Get();

// na ovom mjestu prikazuje sve... Form Elements.PictureField1.Picture = Storage.Get(); CurrentImage.Write();

...proračunski dokument:

TabDoc=Novi tablični dokument; TabDoc.Output(FormElements.TabularDocumentField1); Storage=NewValueStorage(TabDoc); Pisati();

Kraj procedure

Procedura RestoreFromStoragePress(Element)

TabDoc=Storage.Get(); Ako TabDoc<>Undefined ThenFormElements.TabularDocumentField1.Output(TabDoc); endIf;

Kraj procedure

... proizvoljni fajlovi (binarni podaci):

XZ = NewValueStorage(NewBinaryData(file));

Osam podržava kompresiju podataka smještenih u pohranu:

XZ = NewValueStorage(NewBinaryData(file),NewDataCompression(9));

... eksterna obrada i izvještavanje:

Procedura LoadProcessingIntoStorage(PropsStorageType)

Stopa kompresije = NewDataCompression(9); //9 maksimalnih PropsStorageType = New StorageValues(New BinaryData("c:\reports\report.epf", Omjer kompresije));

Kraj procedure

Procedura StartProcessingFromStorage(PropsStorageType)

TemporaryFileName = TemporaryFileDirectory()+"report.epf"; BinarniData = PropsStorageType.Get(); BinaryData.Write(TemporaryFileName); ExternalProcessing = ExternalProcessing.Create(TemporaryFileName); ExternalProcessing.GetForm().Open();

Kraj procedure

Rad sa skladištem

Ako su to bili binarni podaci, onda se mogu vratiti iz skladišta vrijednosti pomoću Get metode i zapisati u datoteku pomoću Write() metode.

If TypeValue(Storage)<>Upišite ("BinaryData") Zatim

Binarni podaci = Storage.Get();

Binarni podaci = Skladištenje;

endIf; BinaryData.Write(FileName);

Ako je to bio, na primjer, Word dokument (doc datoteka ili druga registrovana vrsta datoteke), onda se može otvoriti na sljedeći način:

LaunchApplication(FileName);

Da obrišete polje tipa Pohrana vrijednosti, morate mu dodijeliti Nedefinirano:

PropsStorage = Nedefinisano;

Rad sa datotekama i slikama na ugrađenom jeziku 1C:Enterprise 8

Svrha

Upravljana aplikacija implementira novi mehanizam za rad sa datotekama. Omogućava razmjenu datoteka između baze podataka i klijentske aplikacije. Posebnost ovog mehanizma je u tome što je dizajniran za upotrebu u tankom klijentu i Web klijentu i dizajniran je uzimajući u obzir ograničenja rada sa datotekama koja nameću web pretraživači.

Mehanizam je skup metoda koji se mogu koristiti za postavljanje podataka pohranjenih lokalno na korisnikovom računalu u privremenu memoriju baze podataka, prijenos ovih informacija iz privremene memorije u bazu podataka i primanje ih natrag na računalo korisnika. Najčešći aplikativni problemi koji se rješavaju ovim mehanizmom su pohranjivanje pratećih informacija, na primjer, slike robe, dokumenta vezana za ugovore itd.

Obim metode

Privremeno skladište

Privremena pohrana je specijalizirana oblast informacijske baze u koju se mogu smjestiti binarni podaci. Glavna svrha je privremeno skladištenje informacija tokom interakcije klijent-server prije nego što se prenesu u bazu podataka.

Potreba za privremenim skladištenjem nastaje jer operativni model web pretraživača zahtijeva da se datoteka koju odabere korisnik prenese direktno na server bez mogućnosti pohranjivanja na klijentu. Kada se datoteka prenese, ona se stavlja u privremenu memoriju i može se koristiti prilikom pisanja objekta u bazu podataka.

Najtipičniji zadatak aplikacije koji se rješava privremenim skladištenjem je obezbjeđivanje pristupa datotekama ili slikama prije nego što se objekt zabilježi u informacijskoj bazi, na primjer, u obliku elementa.

Datoteka ili binarni podaci smješteni u memoriju identificiraju se jedinstvenom adresom, koja se kasnije može koristiti u operacijama pisanja, čitanja ili brisanja. Ova adresa je data metodama za pisanje datoteke u privremenu memoriju. Zasebna metoda u ugrađenom jeziku omogućava vam da odredite da li je proslijeđena adresa adresa koja upućuje na podatke u privremenoj memoriji.

Baza informacija

Mehanizam vam omogućava pristup binarnim podacima pohranjenim u atributima tipa Value Storage.

Kao iu slučaju privremenog skladištenja, pristup informacijama je moguć preko posebne adrese. Možete ga dobiti putem posebne metode prosljeđivanjem veze do objekta ili ključa za unos informacija u registar i imena atributa. U slučaju tabelarnog dijela, dodatno je potrebno prenijeti indeks reda tabelarnog dijela.

Metode za rad sa datotekama imaju ograničenja u radu sa detaljima baze podataka. Za njih, za razliku od privremenog skladištenja, dostupno je samo čitanje informacija, ali ne i njihovo pisanje ili brisanje.

Opis metoda za rad sa datotekama

Pohranjivanje podataka u privremenu memoriju

Najtipičniji scenario za korištenje ovog mehanizma uključuje početno stavljanje korisničkih podataka u privremenu memoriju. Za to postoje dvije metode: PlaceFile() i PlaceFileInTemporaryStorage().

Prva metoda, PlaceFile(), postavlja datoteku iz lokalnog sistema datoteka u privremenu memoriju. Metoda može prihvatiti ciljnu adresu u memoriji. Ako nije definiran ili je prazan niz, tada će se kreirati nova datoteka i metoda će vratiti svoju adresu kroz odgovarajući parametar.

Ako je parametar koji određuje interaktivni način rada True, tada će metoda prikazati standardni dijaloški okvir za odabir datoteke u kojem možete odabrati datoteku koju želite smjestiti u pohranu. U ovom slučaju, metoda će također vratiti adresu odabrane datoteke.

Kao rezultat, metoda vraća False ako je korisnik interaktivno odbio izvršiti operaciju u dijalogu za odabir datoteke. Metoda je dostupna samo na klijentu.

Druga metoda, PlaceFileInTemporaryStorage(), je slična prethodnoj, samo što je dostupna na serveru, a podaci koji se upisuju u privremenu memoriju nisu predstavljeni kao putanja u sistemu datoteka, već kao varijabla tipa BinarniData. Isto tako, ako nije navedena ciljna adresa, kreira se nova datoteka u memoriji. Njegova adresa se vraća kao rezultat funkcije.

Preuzimanje datoteke iz privremene memorije

Prilikom pisanja objekta u infobazu, možda ćete morati izdvojiti podatke iz privremene memorije i smjestiti ih, na primjer, u atribut. Za ovo postoji odgovarajuća serverska metoda - GetFileFromTemporaryStorage(). Ova metoda preuzima podatke iz privremene memorije i vraća ih kao rezultat. Da biste to učinili, morate navesti adresu u privremenoj memoriji. Ovu adresu vraćaju gore opisane metode PlaceFile() i PlaceFileInTemporaryStorage() ako se uspješno izvrše.

Brisanje fajla iz privremene memorije

Nakon što su podaci sačuvani u detaljima, datoteka u privremenoj memoriji može se izbrisati. U tu svrhu postoji metoda DeleteFileFromTemporaryStorage(), koja briše datoteku iz privremene memorije. Metoda uzima kao parametar adresu datoteke u privremenoj memoriji. Dostupno na serveru.

Provjera adrese za privremeno skladištenje

Adresa datoteke može ukazivati ​​i na privremenu memoriju i detalje u bazi podataka. Za provjeru njegovog tipa postoji metoda This isTemporaryStorageAddress().

Provjerava da li je proslijeđena adresa adresa koja upućuje na trgovinu. Vraća True ako adresa ukazuje na privremenu memoriju. Metoda je dostupna na serveru.

Primanje adrese rekvizita

Nakon što su podaci stavljeni u detalje u bazi podataka, možda ćete morati da im pristupite pomoću metoda datoteka.

Ali prije nego što primite podatke, na primjer od nekretnine, morate dobiti adresu ove nekretnine. U tu svrhu postoji metoda GetFileAddressInInformationBase().

Njegova svrha je da vrati adresu datoteke u infobazu prema originalnim parametrima. Da biste to učinili, trebate proslijediti ključ objekta (ovo može biti ili veza do objekta ili ključ za unos informacija u registar) i naziv atributa. Ako trebate dobiti adresu datoteke pohranjene u atributu tabelarnog dijela, prije naziva atributa u parametru koji specificira naziv atributa, potrebno je dodati naziv tabelarnog dijela i tačku “.”. Metoda je dostupna i na klijentu i na serveru.

Preuzimanje fajla iz infobaze

Metoda GetFile() prima datoteku iz baze podataka i sprema je u korisnički lokalni sistem datoteka. Prvi parametar specificira adresu datoteke u rekvizitima ili privremenoj memoriji datoteka. Drugi parametar specificira odredišnu lokaciju rezultirajuće datoteke. U neinteraktivnom načinu rada, morate navesti putanju. U interaktivnom načinu rada, parametar je opcionalan.

Po defaultu, metoda se izvršava u interaktivnom načinu, odnosno posljednji parametar je True. To znači da se prikazuje dijaloški okvir u kojem možete odrediti radnju s primljenom datotekom: pokrenite je ili spremite na lokaciju koju odredi korisnik. Ako je interaktivni način aktivan i parametar putanje datoteke ciljnog diska nije specificiran, operacija otvaranja datoteke nije dostupna. Vraća logičku vrijednost. Netačno znači da je korisnik izabrao da otkaže operaciju u interaktivnom dijaloškom okviru za spremanje datoteke.

Primjer korištenja metoda datoteka

// Primanje datoteke s diska u interaktivnom načinu // i postavljanje u privremenu memoriju &Na klijentskoj proceduri SelectDiskFileAndWrite()

Varijabla SelectedName; VariableTemporaryStorageAddress; Ako PutFile(TemporaryStorageAddress, SelectedName, True) onda Object.FileName = SelectedName; PlaceObjectFile(TemporaryStorageAddress); endIf;

Kraj procedure

// Kopiranje datoteke iz privremene memorije u // atribut direktorija, snimanje objekta, brisanje datoteke iz privremene // memorije &Na serveru Procedura Postavite objektnu datoteku (adresa privremene pohrane)

Element direktorija = Form AttributesValue("Object"); BinaryData = GetFileFromTemporaryStorage(TemporaryStorageAddress); Element direktorija. Podaci datoteke = NewValueStorage(BinaryData); FilePathOnDisk = Nova datoteka(DirectoryItem.FileName); Ime stavke direktorija = FilePathOnDisk.Name; Element direktorija.Write(); Modificirano = Netačno; DeleteFileFromTemporaryStorage(TemporaryStorageAddress); ValueVFormAttributes(Element direktorija, "Objekat");

Kraj procedure

// Čitanje datoteke iz rekvizita i spremanje // na lokalni disk u interaktivnom načinu &Na klijentskoj proceduri ReadFileAndSaveToDisk()

Adresa = GetFileAddressInInformationBase(Object.Link, "FileData"); GetFile(Adresa, Object.FileName, True);

Kraj procedure

Podrška za adrese u polju slike

Kontrola polja slike podržava prikazivanje slike određene adresom datoteke u privremenoj memoriji ili bazi podataka.

Da biste to učinili, morate postaviti atribut tipa niza u svojstvu Data elementa obrasca. Vrijednost ovog atributa će se tumačiti kao adresa slike.

Primjer // Vezivanje polja slike za adresu slike u privremenoj // memoriji. AddressPictures formiraju detalje tipa string

Datoteka mjesta (Adresa slike, Tačno)

Picture.Data = AddressPictures

Ograničenja u radu sa Web klijentom

Rad opisanog mehanizma pri korištenju Web klijenta ima neka ograničenja. Ova ograničenja se odnose na sigurnosni model pretraživača. Tako, na primjer, klijent ne može samostalno pohraniti datoteku u lokalni sistem datoteka, odnosno dostupna je samo interaktivna verzija klijentskih metoda PlaceFile() i GetFile(). Izuzetak se stvara kada se pokušava koristiti neinteraktivni način rada. Dijaloški okviri koji se pojavljuju interaktivno su specifični za tip vašeg pretraživača.

Funkcije pri radu sa Value Storage na klijentu

problem:

Kada dokument ima atribut tipa Skladište vrijednosti u tabličnom dijelu, to usporava otvaranje obrasca dokumenta ako ovaj atribut sadrži velike podatke.

Pretpostavljeni razlog:

Možda se prilikom otvaranja obrasca klijentu ne šalje veza do podataka koji se nalaze u Value Storeu, već sami podaci.

Rješenje

  • U svojstvima atributa tabele obrasca nalazi se zastavica "Uvek koristi". Ako je postavljeno, sadržaj polja se uvijek prenosi između servera i klijenta - na primjer, prilikom otvaranja obrasca. Ova zastavica mora biti onemogućena, ali to se mora uzeti u obzir u kodu, jer po defaultu neće biti vrijednosti za ovo polje na klijentu. Primjer se može naći u 1C: Arhiva.

Još je bolje koristiti privremeno skladište za prijenos datoteka između klijenta i servera.

Materijal ažuriran tako da odgovara Drupal 8.7.0+

Temp store(privremeno skladište) - omogućava vam da privremeno pohranite bilo koje podatke. Ovo je vrsta pohrane podataka u $_SESSION, pošto je ova pohrana obično povezana s određenim korisnikom. Ali ne koristi $_SESSION i pohranjuje sve unutar sistema (u bazi podataka).

Jezgro ima dvije usluge za privremeno skladištenje, tempstore.private i tempstore.shared. Oni rade identično, ali privatno uvijek pohranjuje podatke za određenog korisnika. To jest, pozivanje jednog ključa iz privatne memorije će vratiti različite podatke za svakog korisnika. Shared je dostupan svakom korisniku.

Opseg primjene ovih usluga i njihovo skladištenje može biti vrlo širok. Na primjer, pohranite neke privremene vrijednosti obrazaca, a ako ih korisnik nije spremio, mogu se vratiti iz ove memorije, na primjer, za neke REST obrasce, pa čak i pogodne za obične. Općenito, za šta imate dovoljno mašte ili zadataka. Na primjer, ovo se može koristiti za neke forme koje se kontroliraju izvan Drupala, na primjer u Reactu ili Vueu.

Vrijednosti u ovim skladištima žive po defaultu 604800 sekundi (1 tjedan), nakon čega se automatski brišu.

Za promjenu ove vrijednosti. Morat ćete povezati, na primjer, sites/default/services.yml i redefinirati ga:

Parametri: # 10 sekundi tempstore.expire: 10

Ali to se, s dobrim razlogom, ne bi trebalo dogoditi.

Pogledajmo mogućnosti svakog uređaja za pohranu podataka; iako su slične, malo se razlikuju.

tempstore.private - privatno skladište

Ova pohrana je privatna za svakog korisnika.

tempstore.shared - zajednička pohrana

Ova pohrana je zajednička i može sadržavati podatke zajedničke svim korisnicima.

Repozitorijum ima sledeće metode:

  • get($key) : Dohvaća vrijednost iz trgovine po ključu. Ako nema podataka, vratit će NULL, ako postoje, vratit će vrijednost.
  • getIfOwner($key) : Dohvaća vrijednost iz trgovine po ključu. Ako nema podataka ili podaci nisu upisani pod trenutnim korisnikom, vratit će NULL, ako postoje i zapisani su pod trenutnim korisnikom, vratit će vrijednost.
  • setIfNotExists($key, $value) : Zapisuje vrijednost $value ispod ključa $key u memoriju samo ako trenutno nema podataka za taj ključ. Vraća TRUE ako je snimljeno, FALSE ako su podaci već snimljeni.
  • setIfOwner($key, $value) : Zapisuje vrijednost $value pod ključ $key u skladište samo ako trenutno nema podataka ili je vlasnik stvarnih podataka trenutni korisnik.
  • set($key, $value) : Zapisuje vrijednost $value ispod ključa $key u pohranu.
  • getMetadata($key) : Vraća metapodatke za određeni $key, bez podataka. Ovo je objekat koji sadrži svojstvo vlasnika, koje pohranjuje vrijednost, tko posjeduje vrijednost i ažurirano svojstvo - Unix vremensku oznaku vremena kada je ova vrijednost zapisana.
  • delete($key) : Briše podatke povezane sa datim $ključem iz memorije.
  • deleteIfOwner($key) : Briše podatke povezane sa datim $ključem iz skladišta, samo ako podaci pripadaju trenutnom korisniku.

kako se zovu?

Mali primjeri kako ih nazvati.

Prvi korak je dobijanje tempstora potrebne memorije, zatim se iz skladišta dobija “kolekcija” u kojoj su podaci već pohranjeni pod potrebnim ključevima. Po pravilu, naziv "kolekcije" je jednak nazivu modula.

Koristite Drupal\Core\TempStore\PrivateTempStoreFactory; koristite Drupal\Core\TempStore\SharedTempStoreFactory; /** @var PrivateTempStoreFactory $private_tempstore */ $private_tempstore = \Drupal::service("tempstore.private"); $my_private_storage = $private_tempstore->get("dummy"); $my_private_storage->set("korisničko ime", "Drupal"); /** @var SharedTempStoreFactory $shared_tempstore */ $shared_tempstore = \Drupal::service("tempstore.shared"); $my_shared_storage = $shared_tempstore->get("dummy"); $my_shared_storage->set("korisničko ime", "Drupal");

Primjer

U primjeru ćemo kreirati obrazac na stranici /temp-store-form sa dva polja, od kojih će jedno pohraniti poruku u privatno skladište, a drugo u javno.

Kreirajte obrazac:

Src/FormWithTempStore.php

privateTempStore = $private_temp_store->get("dummy"); $this->sharedTempStore = $shared_temp_store->get("dummy"); ) /** * (@inheritdoc) */ javna statička funkcija create(ContainerInterface $container) (vrati novi static($container->get("tempstore.private"), $container->get("tempstore.shared") ); ) /** * (@inheritdoc) */ javna funkcija getFormId() ( vrati "form_with_temp_store"; ) /** * (@inheritdoc) */ javna funkcija buildForm(array $form, FormStateInterface $form_state) ( $form ["private_message"] = [ "#type" => "textarea", "#title" => $this->t("Privatna poruka"), "#required" => TRUE, "#description" => $ this->t("Ova vrijednost će biti privatna za svakog korisnika."), "#default_value" => $this->privateTempStore->get("message"), ]; $form["shared_message"] = [ " #type" => "textarea", "#title" => $this->t("Shared message"), "#required" => TRUE, "#description" => $this->t("Ova vrijednost bit će podijeljen za sve korisnike."), "#default_value" => $this->sharedTempStore->get("message"), ]; $form["actions"] = ["#type" => "akcije" $form["actions"]["submit"] = [ "#type" => "submit", "#value" => $this->t("Save"), ]; return $form; ) /** * (@inheritdoc) */ javna funkcija submitForm(array &$form, FormStateInterface $form_state) ( $this->privateTempStore->set("message", $form_state->getValue("private_message")); $this->sharedTempStore->set("message", $form_state->getValue("shared_message")); ) )

Ispis (Ctrl+P)

1C:Enterprise ima mehanizam za rad sa privremenim skladištem koji obezbeđuje skladištenje nekih podataka vezanih za sesiju.
Osim toga, implementiran je mehanizam za rad sa fajlovima koji obezbjeđuje razmjenu datoteka između infobaze i klijentske aplikacije. Posebnost ovog mehanizma je u tome što je dizajniran za upotrebu u tankom klijentu i web klijentu i dizajniran je uzimajući u obzir ograničenja rada s datotekama koja nameću web preglednici.

Privremeno skladište

Ovo je specijalizovano skladište informacija u koje se može staviti vrednost. Glavna svrha je privremeno skladištenje informacija tokom interakcije klijent-server prije nego što se prenesu u bazu podataka. Mehanizam privremenog skladištenja, zajedno sa mehanizmom za rukovanje datotekama, obezbeđuje skup koji se može koristiti za postavljanje podataka koji su lokalno pohranjeni na korisnikovom računaru u privremeno skladište baze podataka, prenos ovih informacija iz privremene memorije u bazu podataka i dobijanje vrati na računar korisnika. Najčešći aplikativni problemi koji rješavaju ovi mehanizmi su skladištenje pratećih informacija, na primjer, slika robe, dokumenata vezanih za ugovore itd. Mehanizmi za privremeno skladištenje i rad sa fajlovima se često koriste zajedno, ali se mogu koristiti i odvojeno.
Potreba za privremenim skladištenjem javlja se, na primjer, jer model web pretraživača zahtijeva da se datoteka koju odabere korisnik prenese direktno na server bez mogućnosti da se pohrani na klijentu. Kada se datoteka prenese, ona se stavlja u privremenu memoriju i može se koristiti prilikom pisanja objekta u bazu podataka.
Možete koristiti privremenu pohranu kao univerzalnu pohranu s kontroliranim životnim vijekom podataka:

1. Ako su prilikom stavljanja podataka u privremenu memoriju podaci bili vezani za određeni oblik, tada životni vijek pohranjenih podataka ovisi o životnom vijeku oblika za koji su podaci vezani. Kada izbrišete objekat obrasca, privremena memorija će biti očišćena od svih informacija povezanih s njim.

2. Ako prilikom stavljanja podataka u privremenu memoriju nije izvršeno vezivanje za obrazac, tada će privremena memorija biti obrisana u sljedećim slučajevima:

  • Sljedeći put kada zatražite obrazac.
  • Na sljedećem pozivu servera iz zajedničkog modula klijenta.
  • Za kontekstualne i nekontekstualne pozive klijenta iz obrasca.
  • Kada se poziva na strani servera iz komandnog modula. Ako se izvrši poziv servera za postavljanje vrijednosti u privremenu memoriju, čišćenje se ne vrši. Čišćenje se dešava nakon što poziv završi svoj posao.

Odnosno, možete staviti jednu ili više vrijednosti u privremenu memoriju i koristiti ovu vrijednost u sljedećem pozivu. Međutim, nakon upotrebe i prije nego što se poziv servera završi, postavljena vrijednost će se automatski ukloniti.

Najtipičniji problem aplikacije koji se rješava privremenim skladištenjem je omogućavanje pristupa datotekama ili slikama prije nego što se objekt zabilježi u informacijskoj bazi, na primjer, u obliku elementa. Prilikom organizovanja takvog pristupa preporučuje se prenos podataka sa klijentskih računara na server tačno kao fajlovi, bez prethodne „konverzije“ u tekstualni dokument, tabelarni dokument i slične formate sistema 1C:Enterprise. Preporučljivo je prenijeti datoteku na serversku stranu i na strani servera učitati podatke datoteke u željenu
formatu sistema 1C:Enterprise.
Podaci smješteni u memoriju identificiraju se jedinstvenom adresom, koja se kasnije može koristiti u operacijama pisanja, čitanja ili brisanja. Ova adresa je data metodama za upisivanje vrijednosti u privremenu memoriju. Zasebna metoda u ugrađenom jeziku omogućava vam da odredite da li je proslijeđena adresa adresa koja upućuje na podatke u privremenoj memoriji.
Privremenoj memoriji kreiranoj u jednoj sesiji nije moguće pristupiti iz druge sesije. Izuzetak je mogućnost prijenosa podataka iz pozadinskog posla u sesiju koja je pokrenula pozadinski posao koristeći privremenu memoriju.

Burty . Najprihvatljiviji način skladištenja krompira, korjenastog povrća i bijelog kupusa je flaširanje. Gomila je duguljasti nasip, obostrano nagnut, a odozgo prekriven izolacijskim materijalom. Napravljen je da čuva žetvu za jednu sezonu. Burts se može samljeti, kada se krompir izlije na ravnu površinu, i polumljeveni, kada se kopaju plitke jame. Popunautny (ukopana) gomila. Za takvu gomilu kopa se jama dubine 25 cm u pravcu od severa ka jugu.Najbolja širina jame za semenski krompir je 170-200 cm.Za kratkotrajno skladištenje zdravog krompira možete napraviti širi nasip (do 4 m). Dužina jame može biti proizvoljna, ali je ipak bolje kada nije veća od 20-25 m. Visina nasipa gomile, sa širinom u podnožju od 2 m, može biti 90- 100 cm Krompir se obično skladišti u nekoliko gomila na jednom mjestu. Lokacija za bušenje se nalazi u blizini mesta za uzgoj krompira na mestu koje nije poplavljeno kišnim i otopljenim vodama, nedaleko od puta. Po središnjoj osi jame prokopan je ventilacijski kanal širine i dubine 20-25 cm, koji se proteže izvan jame i duži je 25 cm od pokrivača na kraju ovratnika. Dio kanala koji se proteže izvan granica jame je čvrsto pokriven daskama odozgo tako da zemlja ne uđe u jamu i kanal. U prizemnim ovratnicima, ventilacijski kanal se postavlja direktno na površinu tla i izrađuje se u obliku rešetkastog šatora sastavljenog od zasebnih dijelova od jednog i pol metra. Da bi se spriječilo da slama i zemlja uđu u ventilacijski kanal, njegovi krajevi se izrađuju bez praznina. Za pokrivanje ventilacionih kanala unapred se pripremaju rešetkasti delovi dužine 1,5 m i širine 0,5 m. Presek se sastoji od letvica širine 2-3 cm i razmaka između njih 2-2,5 cm. Sekcije se polažu na ventilacioni kanal i pričvršćuju na jedan drugog. Rezultirajuća rešetka za kontinuiranu ventilaciju pokriva dio kanala koji se nalazi ispod proizvoda. Prilikom formiranja gomile krumpira ili drugih proizvoda, unutra se postavlja termometar s kragnom ili posebno izrađene tetraedarske cijevi-futrole unutrašnjeg presjeka 3x3 cm u koje se na kraju štapa ubacuju termometri. Ogrlice se ventiliraju kroz greben i ventilacijski kanal. Šipovi su prekriveni slamom i zemljom. Slama pune debljine se polaže u gustom sloju odozdo prema gore tako da se vrh gomile preklapa. Nakon toga, gomila se posipa tankim slojem zemlje sa strane. Greben gomile ostaje pod slamom do prvog mraza. Za kišnog vremena privremeno se prekriva krovnim filcom ili plastičnom folijom. Prilikom hlađenja krompira na +4°C prije početka stabilnih mrazeva, ventilacijski kanali se čvrsto prekrivaju slamom, a gomila je potpuno prekrivena zemljom. Ako temperatura u gomilama padne ispod +1°C, gomile se dodatno prekrivaju toplotnoizolacionim materijalima - tresetom, slamom, slamom ili snijegom. U slučaju obilnih snježnih padavina, koje dovode do prekomjernog pokrivanja gomila, povremeno se čiste od snijega.

Skladištenje u rovovima . Za ovaj način skladištenja potrebno je 2 puta manje slame ili drugih materijala za toplinsku izolaciju nego kod skladištenja u gomilama. Rovovi se koriste kada su podzemne vode duboke. Dubina i širina rova ​​je od 60-80 cm (u južnim regionima) do 1,5-2 m (u Sibiru). Odozgo su rovovi prekriveni slojem slame: u centralnim regijama je 30-40 cm, u Sibiru - do 70 cm. Zatim se sipa sloj zemlje (od 40 do 70 cm u zavisnosti od zone). Obično se koriste različite vrste rovova: plitki, duboki sa ventilacijskim kanalima, sa slojem zemlje i bez sloja i obični. Rovovi i šipovi su opremljeni (prirodnom) jednostavnom ventilacijom. Njegova glavna svrha je hlađenje krompira i povrća u jesen. Princip rada dovodne i izduvne ventilacije zasniva se na razlici vazdušnog pritiska, tj. na propuh kretanja zraka prema gore zbog razlike u temperaturi u hrpi proizvoda i vani. Topli vazduh, pošto je lakši, izlazi kroz izduvnu cev, a hladan ulazi kroz dovodni kanal. Sistem ventilacije se sastoji od dovodnih i izduvnih kanala. Ulazni kanal prolazi na sredini osnove kragne, a na krajnjim krajevima postoje izlazi prema van. U hrpama s krumpirom i korjenastim povrćem izrađuju žljeb s poprečnim presjekom 20x20 cm ili 30x30 cm, prekriven rešetkastim daskama, poprečnim letvicama ili grmljem, tako da pojedinačne kopije proizvoda ne propadaju. Kroz ovaj kanal, hladniji vanjski zrak struji u dimnjak gravitacijom. Zagrijani zrak iz dimnjaka uklanja se kroz izduvne kanale (cijevi). To su tetraedarske kutije napravljene od dasaka poprečnog presjeka 20x20 cm ili 15x15 cm.U donjem dijelu, prolazeći kroz sloj povrća, napravljene su rešetkastim, au gornjem dijelu, prolazeći kroz zaklon, su čvrste. kako zemlja ne bi upala u njih. Na njih se postavlja nadstrešnica za zaštitu proizvoda od kišnice. Ispušne cijevi, ovisno o karakteristikama i kvaliteti povrća koje se čuva za skladištenje, postavljaju se na svakih 2-4 m po dužini gomile. Jedan od nedostataka vertikalnih izduvnih cijevi je to što se topli i vlažni zrak uklanja samo iz susjednih područja dimnjaka, a udaljena područja se jedva hlade. Voda struji u blizini izduvnih cijevi, znoje i smrzava proizvode, jer je ovdje sklonište manje gusto i pouzdano. Zbog toga se koristi grebena izduvna ventilacija. Prilikom skladištenja povrća po suhom, hladnom vremenu, vrh rova ​​je prekriven samo slamom, kroz koju se uklanja topli zrak. Međutim, takvi uslovi su rijetki; vrijeme je često kišovito u jesen. U takvim slučajevima ugrađuje se horizontalni ispušni kanal - daske zbijene pod uglom od 90°, koje se polažu na hrpu povrća s izlazom na krajevima prema van. U tom slučaju, rov duž grebena može se odmah pokriti slamom i zemljom, bez straha da će se slama pokvasiti i proizvod zamrznuti. Samo trebate na vrijeme zatvoriti krajnje rupe. Prednost horizontalnog grebenog ispušnog kanala u odnosu na vertikalne izduvne ventilacione cevi je i to što se u ovom slučaju topao i vlažan vazduh ravnomerno uklanja iz čitavog snopa proizvoda.

Pit. Najjednostavnije skladište je zemljana jama - namijenjena za skladištenje, najčešće, male serije krumpira, a povremeno i korijenskih usjeva. Kopa se na uzvišenju sa niskim nivoom podzemne vode. U zavisnosti od gustine tla, kopa se sa ravnim ili kosim zidovima. Najprihvatljiviji oblik jame je okrugli, međutim, ponekad se prave pravokutni. U gustom glinenom tlu kopa se rupa u obliku vrča. Ne preporučuje se to raditi na pjeskovitom tlu, jer će se srušiti. Kopaju rupu na sljedeći način: nacrtajte krug promjera 1 m i iskopajte vrat vrča, a zatim, kopajući dublje, postupno proširite rupu na širinu od 2-2,5 m u promjeru. Dubina jame-vrča treba da bude 1,5-2 m. Da se otopljena voda ne bi ušla u jamu, oko otvora vrata polaže se valjak od uklonjene gline. Takvo skladište je pokriveno poklopcem postavljenim na nagibu kako bi se kišnica otkotrljala. Dobro napravljen bokal bez popravke traje 30-40 godina. Zimi će održavati konstantniju temperaturu i vlažnost nego u običnom podrumu. Krompir u takvoj jami se ne znoji i ne klija dugo. Krompir se čuva u malim jamama bez ventilacije. U velikim, ventilaciona cijev se postavlja od dasaka ili četiri kolca zabijena u dno jame i omotana slamnatom vrpcom. Krompir se spušta u rupu pomoću kante. Za kantu su vezana dva užeta: jedan za ručku, a drugi za dno. Nakon što kanta dođe do poda, povucite uže pričvršćeno za dno. U isto vrijeme, kanta se prevrne i krompir se izlije. Ovim načinom zatrpavanja gomolji nisu ozlijeđeni. Nakon punjenja jame-vrča s krompirom, vrat se zatvara slamom i poklopcem. Krompir tokom prve dvije sedmice pri disanju ispušta dosta vlage, tako da sloj slame ne smije biti debeo. Kasnije se sloj prilagođava na 50-70 cm, u zavisnosti od lokalnih zimskih uslova.

Ispis (Ctrl+P)

Ovaj odeljak opisuje najčešće upotrebe mehanizma za rad sa privremenim skladištem i datotekama.

Spremanje podataka iz datoteke u privremenu memoriju

Postavljanje jednog fajla

Metoda PlaceFile() postavlja datoteku iz lokalnog sistema datoteka u privremenu memoriju. Metoda može prihvatiti adresu u privremenoj memoriji na kojoj treba sačuvati datoteku. Ako adresa nije definirana ili je prazan niz, tada će se kreirati nova adresa i metoda će je vratiti kroz poseban parametar.
Bilješka. Količina podataka premeštenih između klijenta i servera u jednom pozivu metodi PutFile().
Ako je parametar koji određuje interaktivni način rada True, tada će metoda prikazati standardni dijaloški okvir za odabir datoteke u kojem možete odabrati datoteku koju želite smjestiti u pohranu. U ovom slučaju, metoda će također vratiti adresu odabrane datoteke.
Metoda vraća False kao rezultat ako je korisnik interaktivno odbio izvršiti operaciju u dijalogu za odabir datoteke.

Postavljanje skupa fajlova

Metoda PlaceFiles() stavlja više fajlova u privremenu memoriju u jednom pozivu. Postoji nekoliko različitih načina za korištenje ove metode:
● unapred generišite listu fajlova za dodavanje, na primer, kada ste prethodno izabrali fajlove koje je potrebno staviti u bazu podataka;
● prosledite metodu masku za pretragu datoteka, na primer, kada želite da sve datoteke određenog tipa, na primer, sve slike, postavite u bazu podataka;
● proslijediti prethodno pripremljeni objekt metodi Dijalog za odabir datoteke u načinu otvaranja datoteke.
Nakon što završi svoj rad, metoda može vratiti listu stvarno dodatih datoteka.

// FileList – atribut oblika tipa ValueList,
// koji sadrži listu dodatih datoteka
FileArray = Novi niz;
Za svaki element liste iz ciklusa liste datoteka
FileArray.Add(NewDescriptionofTransferFile(ListElement,));
EndCycle;
PlacedFiles= Novi niz;
Rezultat = PlaceFiles(ArrayFiles, PlacedFiles, False, UniqueIdentifier);

Napomena 1: Za korištenje metode PlaceFiles() Web klijent zahtijeva povezivanje ekstenzije za obradu datoteka.
Napomena 2: Količina podataka premještenih između klijenta i poslužitelja po pozivu metode PlaceFiles(), ne bi trebalo da prelazi 4 Gb (u serijalizovanom obliku).

Stavljanje podataka u privremenu memoriju

Metoda je slična metodi PlaceFile(), osim što se podaci zapisuju u privremenu memoriju
nisu predstavljeni kao putanja u sistemu datoteka, već kao vrijednost. Isto tako, ako nije navedena postojeća adresa u privremenoj memoriji, kreira se nova adresa. Adresa se vraća kao rezultat funkcije. Kao i kod fajlova, objavljeni podaci moraju pripadati nekom obrascu i automatski se brišu nakon brisanja.
Bilješka. Količina podataka premještenih između klijenta i servera po pozivu metode PlaceInTemporaryStorage(), ne bi trebalo da prelazi 4 Gb (u serijalizovanom obliku).
Pažnja! Kada se stavi u privremenu memoriju, vrijednost se zapravo ne serijalizira. Referenca na vrijednost se postavlja i pohranjuje u keš memoriju 20 minuta. Nakon ovog perioda, vrijednost se serijalizuje, upisuje na disk (skladištenje podataka sesije) i uklanja se iz keša.

Preuzimanje podataka iz privremene memorije

Prilikom pisanja objekta u infobazu, možda ćete morati izdvojiti podatke iz privremene memorije i smjestiti ih, na primjer, u atribut objekta infobaze. Za to postoji posebna metoda - GetFromTemporaryStorage(). Ova metoda preuzima podatke iz privremene memorije i vraća ih kao rezultat izvršenja. Da biste primili podatke, morate privremeno navesti adresu
skladištenje. Ovu adresu vraćaju metode za stavljanje podataka u privremenu memoriju ako su uspješne (pogledajte prethodne odeljke).
Pažnja! Prilikom preuzimanja vrijednosti iz privremene memorije na serveru, treba uzeti u obzir da se ona dobiva referencom. U stvarnosti, ova veza upućuje na vrijednost koja je pohranjena u keš memoriji. Unutar 20 minuta, od trenutka kada je stavljena u memoriju ili od trenutka kada joj se posljednji put pristupilo, vrijednost će biti pohranjena u keš memoriju, a zatim zapisana na disk i izbrisana iz keša. Sljedeći put kada se pristupi vrijednosti, ona se učitava s diska i vraća u keš memoriju.
Nakon deserializacije i vraćanja vrijednosti iz privremene memorije, reference se ne vraćaju. Vrijednost keš memorije se vraća s diska. Ali nakon serijalizacije/deserijalizacije, nemoguće je vratiti reference na druge objekte unutar vrijednosti.

Brisanje podataka iz privremene memorije

Nakon što se podaci pohrane u atribut objekta infobaze, podaci u privremenoj memoriji se mogu izbrisati. Za to postoji metoda
RemoveFromTemporaryStorage(), koji vrši uklanjanje. Metoda uzima adresu u privremenoj memoriji kao parametar.

Provjera adrese za privremeno skladištenje

Adresa može ukazivati ​​i na privremeno skladištenje i na detalje u bazi podataka. Postoji metod za provjeru njegovog tipa
Ovo jeTemporaryStorageAddress(). Provjerava da li je proslijeđena adresa adresa koja upućuje na trgovinu. Vraća True ako adresa ukazuje na privremenu memoriju.

Primanje adrese rekvizita

Nakon što se podaci stave u atribut objekta infobaze, možda ćete morati da im pristupite pomoću metoda datoteka.
Ali prije nego što primite podatke, na primjer od nekretnine, morate dobiti adresu ove nekretnine. Za to postoji metoda GetNavigationLink().

Može vratiti adresu vrijednosti u bazi podataka na osnovu originalnih parametara. Da biste to učinili, trebate proslijediti ključ objekta (ovo bi moglo biti
i vezu prema objektu i ključ za unos informacijskog registra) i naziv atributa. Ako trebate dobiti adresu vrijednosti pohranjene u atributu
tabelarnog dijela, zatim nazivu atributa u parametru koji specificira naziv atributa, morate dodati naziv tabelarnog dijela i tačku “.”. Na primjer: Proizvodi.Image

Preuzimanje fajla iz infobaze

Prijem jednog fajla

Metoda GetFile() prima datoteku iz baze podataka i sprema je u korisnički lokalni sistem datoteka. Prvi parametar specificira adresu datoteke u atributu objekta infobaze ili u privremenoj memoriji datoteke. Do pohranjivanja neće doći ako korisnik u čije ime se operacija izvodi nema pravo pogleda na detalje objekta infobaze. Drugi parametar određuje lokaciju na kojoj je pohranjena rezultirajuća datoteka. U neinteraktivnom načinu rada, morate navesti putanju. U interaktivnom načinu rada parametar je
opciono.
Podrazumevano, metoda se izvršava interaktivno. To znači da će se generirati dijaloški okvir u kojem možete odrediti akciju s primljenom datotekom: pokrenite je ili spremite na lokaciju koju odredi korisnik u sistemu datoteka. Ako je odabran interaktivni način, a opcija Ime datoteke nije navedena, operacija otvaranja datoteke nije dostupna. Metoda vraća Booleovu vrijednost. Netačno znači da je korisnik izabrao da otkaže operaciju u interaktivnom dijaloškom okviru za spremanje datoteke.

Prijem skupa fajlova

GetFiles() metoda vam omogućava da primite i spremite nekoliko datoteka pohranjenih u bazi podataka u korisnikovom lokalnom sistemu datoteka. Lista učitanih datoteka se prosljeđuje kao parametar.

// FileList – lista vrijednosti koja sadrži veze do elemenata
// direktorij u kojem se nalaze učitane datoteke
// Lista vrijednosti predstavlja ime datoteke koja se učitava
FileArray = Novi niz;
Za svaki element liste iz ciklusa liste datoteka
Fajl = Novo Datoteka(String(ListElement.Value));
ReceiveFile = Novo Opis prenesene datoteke;
ReceiveFile.Name = ListElement.View;
ReceiveFile.Storage= P getNavigationLink(ListItem.Value, “Podaci”);
FileArray.Add(ReceivingFile);
EndCycle;
Primljeni fajlovi= Novi niz;
Rezultat = ReceiveFiles(FilesArray, ReceivedFiles, UploadedFilesPath, False);
Ako NE Rezultat Onda
Poruka = ​​Novo Poruka korisniku;
Message.Text = “Greška pri primanju fajlova!”;
Message.Message();
EndIf ;

Nakon završetka, metoda može vratiti listu stvarno preuzetih datoteka, navodeći puno ime svake sačuvane datoteke.
BILJEŠKA. Da biste koristili metodu GetFiles() u web klijentu, morate povezati ekstenziju datoteke. Ako je svojstvo Naziv objekta Opis prenesene datoteke sadrži apsolutnu putanju do datoteke, datoteka će biti sačuvana na ovoj putanji, bez obzira na parametar Lokacija datoteke.
Parametar Lokacija datoteke može biti ili staza u lokalnom sistemu datoteka ili objekt dijaloga za odabir datoteke u načinu odabira direktorija ili spremanja datoteka. Ako vrijednost parametra Lokacija datoteke naveden objekt Dijalog za odabir datoteke u modu
spremanje datoteka, zatim:

● dijalog će biti pozvan za svaku prenesenu datoteku, osim za one datoteke za koje svojstvo objekta Opis prenesene datoteke sadrži apsolutnu putanju;
● vrijednost objekta Ime opisa svojstva prenesene datoteke će se koristiti kao početno ime datoteke u dijalogu;
● ako je za bilo koju datoteku odabrano odbijanje čuvanja, tada će Ime objekta Opis svojstva Transferred File sadržavati prazan niz;
● metoda GetFiles() će vratiti vrijednost Tačno ako je barem jedna datoteka uspješno primljena;
● treba uzeti u obzir da su fajlovi zaista primljeni nakon što korisnik odgovori na pitanja o određivanju imena i putanje
svi primljeni fajlovi;
● ako korisnik u čije ime se izvršava metoda GetFile() nema pravo pogleda na barem jedan atribut objekta infobaze iz kojeg se preuzimaju datoteke, cijela operacija neće uspjeti.
primjer:

TransferredFiles = Novi niz;
Opis = Novo Opis prenesene datoteke(“Opis”, Adresa datoteke);
Prenesene datoteke.Dodaj(Opis );
FileSelect = Novo FileSelectionDialog(FileSelectionDialogMode.Save);
FileSelect.Header= “Sačuvaj arhivu”;
File Selection.Extension= “zip”;
FileSelect.Filter= “Arhiva(*.zip)|*.zip|Sve datoteke|*.*”;
FileSelect.FilterIndex = 0;
ReceiveFiles(TransferFiles, SelectFile, False);

Ako je odabran interaktivni način za odabir direktorija za spremanje datoteka, web klijent će dodatno zatražiti dozvolu za spremanje datoteka navedenih sa apsolutnim putanjama. U slučaju neinteraktivnog pohranjivanja (puta do direktorija je navedena u odgovarajućem parametru), zahtjev će se izvršiti za cijelu listu sačuvanih datoteka.

Primjer korištenja metoda datoteka

// Interaktivno preuzimanje datoteke s diska
// i stavljanje u privremenu memoriju.
&OnClient
Procedura OdaberiteDiskFileIWrite()
Varijabla SelectedName;
Perem TemporaryStorageAddress;
NewObject = Object.Link.Empty();
Ako Datoteka mjesta (Adresa privremene pohrane, “”, SelectedName, True) Onda
Object.FileName = SelectedName;
PlaceObjectFile(TemporaryStorageAddress);
endIf;
Kraj procedure
// Kopiranje datoteke iz privremene memorije u props
// direktorij, pisanje objekta, brisanje datoteke iz privremenog
// skladištenje.
&Na serveru
Procedura PlaceObjectFile(TemporaryStorageAddress)
Element direktorija = Form AttributesValue(“Objekat”);
Binarni podaci = GetFromTemporaryStorage(TemporaryStorageAddress);
Podaci o elementu direktorija= Novo StorageValues(BinaryData, NewDataCompression()) ;
Fajl = Novo Fajl (Stavka direktorija.Ime datoteke);
Ime stavke direktorija = Ime datoteke;
Element direktorija.Write();
Modificirano = Netačno;
DeleteFromTemporaryStorage(TemporaryStorageAddress);
ValueVFormAttributes(Element direktorija, “Objekat”);
Kraj procedure
// Pročitajte datoteku iz rekvizita i spremite je
// na lokalnom disku u interaktivnom modu.
&OnClient
Procedura ReadFileAndSaveToDisk()
Adresa = GetNavigationLink(Object.Link,"FileData");
GetFile(Adresa, Object.FileName, True);
Kraj procedure

Dozvola za izvođenje grupe operacija datoteka

Kada izvodite neke operacije u web klijentu, možda ćete morati dobiti dozvolu za višestruke operacije datoteka.
Na primjer, potrebno je da preuzmete dokument iz baze podataka, a zatim otvorite sačuvani dokument koristeći pridruženu aplikaciju.
Da biste izvršili ovu operaciju, morat ćete odgovoriti na pitanje o spremanju dokumenta i na pitanje o potrebi njegovog pokretanja. Ako ima više operacija, korisnik će imati i više pitanja.
Da biste smanjili broj pitanja, možete koristiti metodu. Kada koristite ovu metodu
Korisniku se prikazuje lista svih operacija koje se planiraju izvršiti i od njega se traži da dozvoli izvođenje grupe operacija. Ako je korisnik dozvolio izvršenje, tada će se tražene operacije izvršiti bez dodatnih zahtjeva prema korisniku. Ako se dozvola ne odobri, operacije će se odvijati normalno: jedan zahtjev po operaciji.
BILJEŠKA. Da biste koristili metodu RequestUserPermission() U web klijentu morate omogućiti ekstenziju za upravljanje datotekama.
Pogledajmo primjer korištenja metode:

Ako ConnectExtensionRad sa datotekama() Onda
Link = GetNavigationLink(Object.Link, “FileData”);
// Formiranje opisa prenesenih datoteka (u ovom slučaju postoji samo jedan fajl)
Prenesene datoteke= Novi niz;
Opis = Novi opis prenesene datoteke (Object. FileName, Link);
TransferredFiles.Add(Opis);
// Pripremite objekt za primanje informacija o primljenim datotekama
Prenesene datoteke= Novi niz;

// Definirajte druge parametre metode
DirectorySave= “c:\temp”;
Interaktivno = False ;
Preneseno Ime datoteke = Pohranjivanje direktorija + “\” + Object.FileName;
// Pripremite opis metoda za dobivanje dozvola
Metode = Novi niz;

Methods.Add(“GetFiles”);
Methods.Add(TransferFiles);
Methods.Add(TransferredFiles);
Methods.Add(SaveDirectory);
Metode.Dodaj(Interaktivno);
Metode.Dodaj(Novi niz);
Methods.Add(“RunApplication”);
Methods.Add(TransferredFileName);
Ako ne RequestUserPermission(metode) Onda
Upozorenje("Korisnik je odbio dozvolu.");
Povratak;
endIf;
GetFiles(TransferFiles, TransmittedFiles, SavingDirectory, Interactive);
RunApplication(TransferredFileName);
Inače
Upozorenje("Izvršenje nije podržano. Ekstenzija datoteke nije instalirana.");
endIf;

Treba napomenuti nekoliko karakteristika metode RequestUserPermission().

1. Dozvola se traži samo za sljedeće metode:

GetFiles()/StartGettingFiles(),
● PlaceFiles()/StartPlaceFiles(),
● FindFiles()/StartSearchFiles(),
● CopyFile()/StartCopyFile(),
● MoveFile()/StartMovingFile(),
●DeleteFiles()/StartDeleteFiles(),
● CreateDirectory()/StartCreatingDirectory(),
● LaunchApplication()/StartRunApplication().

2. Dozvola se traži za određeni skup parametara metode. Ako se tokom stvarnog izvršavanja metode manipulacije datotekom vrijednosti parametara razlikuju od onih za koje je odobrenje dobiveno, ova dozvola neće biti važeća i korisnik će dobiti poseban zahtjev za potvrdu operacije.

3. Ako trebate izvršiti dvije (ili više) identične operacije s datotekama (čak i sa istim skupom parametara), trebali biste navesti odgovarajući broj elemenata u nizu parametara metode RequestUserPermission(). Na primjer, ako trebate dva puta dobiti istu datoteku iz baze podataka i postaviti je na fiksnu lokaciju u sistemu datoteka, trebate zatražiti dozvolu
za dve operacije.

4. Ako se traži dozvola za operaciju koja izvodi interaktivnu operaciju (na primjer, funkcija GetFiles(), objekt se prosljeđuje kao parametar Dijalog za odabir datoteke), tada je takva operacija isključena iz zahtjeva.

Odobrene dozvole se zadržavaju ili dok se ovlašteni poziv ne izvrši ili dok se ugrađeni jezik ne završi izvršavanje.
BILJEŠKA. U debelim i tankim klijentima RequestUserPermission() Metoda uvijek vraća True, bez interakcije korisnika.

Rad s privremenom pohranom u pozadinskom poslu

Mehanizam za rad s privremenom memorijom ima mogućnost prijenosa podataka iz pozadinskog posla u sesiju koja je pokrenula pozadinski posao.
Za takav prijenos, trebali biste postaviti praznu vrijednost u privremenu memoriju u roditeljskoj sesiji (pomoću metode PlaceInTemporaryStorage()), specificirajući bilo koji identifikator privremene memorije koja se kreira (parametar adrese). Zatim proslijedite primljenu adresu pozadinskom poslu kroz parametre pozadinskog posla. Nadalje, ako se u pozadinskom poslu ova adresa koristi kao vrijednost parametra Metoda Address PlaceInTemporaryStorage(), onda će rezultat biti kopiran u sesiju iz koje je pokrenut pozadinski posao.
Podaci smješteni u privremenu memoriju u pozadinskom poslu neće biti dostupni iz roditeljske sesije dok se posao u pozadini ne završi.

Podrška za adrese u polju slike

Element obrasca View Field Polje Slika podržava prikazivanje slike određene adresom vrijednosti (koja može biti slika ili binarni podatak) u privremenoj memoriji ili bazi podataka.
Da biste to učinili, morate postaviti atribut tipa niza u svojstvu Data elementa obrasca. Vrijednost ovog atributa će se tumačiti kao adresa slike.

// Primjer 1
// Privremeno vezanje polja slike za adresu slike
// skladištenje. AddressPictures – detalji forme tipa string
PlaceFile(Adresa slike, Početno ime, Izabrano ime, Tačno, Jedinstveni identifikator);
// Primjer 2
// Dobivanje adrese slike iz atributa objekta
// baza podataka
FilePictures = Object.FilePictures;
Ako nije PictureFile.Empty() Onda
ImageAddress = GetNavigationLink(ImageFile, “FileData”);
Inače
Adresa slike = “”;
Endless;

Pristup standardnim imenicima

Prilikom korištenja sistema potreban je određeni prostor u sistemu datoteka gdje se mogu pohraniti različiti podaci o fajlovima, koji su, s jedne strane, privremeni, a s druge strane moraju biti pohranjeni dosta dugo. Takve datoteke uključuju nacrte za sisteme za upravljanje dokumentima, eksterne komponente koje rade na strani računara klijenta, itd.
Za pohranjivanje takvih datoteka namijenjen je poseban direktorij, koji je vezan za određenog korisnika određene baze podataka.
Isti korisnik koji radi sa dvije infobaze imat će pristup dva različita direktorija za pohranjivanje korisničkih podataka. Lokacija ovog direktorija se određuje pomoću metode WorkUserDataDirectory(). Ako direktorij ne postoji, kreira se prvi put kada mu se pristupi. Ako se direktorij ne može kreirati, sistem izbacuje izuzetak.
BILJEŠKA. Metoda UserDataWorkDirectory() nije dostupna na strani servera.
Operativni sistem ima poseban direktorij dodijeljen za trajno skladištenje korisničkih podataka. Moglo bi biti malo
izveštaji, štampani obrasci dokumenata itd. U ovaj direktorijum se smeštaju podaci koji se kasnije mogu slati eksternim
potrošačima. Metoda DocumentDirectory() se koristi za pristup ovom direktoriju. Fizička lokacija direktorija varira ovisno o operativnom sistemu.
sistem u kojem se aplikacija izvršava i naveden je u pomoćniku za sintaksu.