1c datalagring midlertidig lagring. Midlertidig lagring. Hvordan heter de?

Nesten all informasjon kan lagres i et verdilager, f.eks.

... bilder (bilder):

CurrentImage.Object = SprFabric.Link; CurrentImage.DataType = Enumerations.Types of Other Information of Objects.Image; Storage = NewValueStorage(NewPicture, NewDataCompression()); CurrentImage.Storage = Storage.Get();

// på dette stedet viser det alt... Form Elements.PictureField1.Picture = Storage.Get(); CurrentImage.Write();

...regnearkdokument:

TabDoc=Nytt tabelldokument; TabDoc.Output(FormElements.TabularDocumentField1); Storage=NewValueStorage(TabDoc); Skrive();

Sluttprosedyre

Prosedyre RestoreFromStoragePress(Element)

TabDoc=Storage.Get(); Hvis TabDoc<>Undefined ThenFormElements.TabularDocumentField1.Output(TabDoc); slutt om;

Sluttprosedyre

...vilkårlige filer (binære data):

XZ = NewValueStorage(NewBinaryData(fil));

Åtte støtter komprimering av data plassert i lagring:

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

... ekstern behandling og rapportering:

Prosedyre LoadProcessingIntoStorage(PropsStorageType)

CompressionRate = NewDataCompression(9); //9 maximum PropsStorageType = New StorageValues(New BinaryData("c:\reports\report.epf", Compression Ratio));

Sluttprosedyre

Prosedyre StartProcessingFromStorage(PropsStorageType)

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

Sluttprosedyre

Jobber med oppbevaring

Hvis det var binære data, kan de gjenopprettes fra verdilageret ved å bruke Get-metoden og skrives til en fil ved hjelp av Write()-metoden.

Hvis TypeValue(Storage)<>Type("BinaryData") Deretter

BinaryData = Storage.Get();

BinaryData = Lagring;

slutt om; BinaryData.Write(Filnavn);

Hvis det for eksempel var et Word-dokument (doc-fil eller annen registrert filtype), kan det åpnes slik:

LaunchApplication(Filnavn);

For å tømme et felt av typen Verdilagring, må du tilordne det Udefinert:

PropsStorage = Udefinert;

Arbeide med filer og bilder i det innebygde språket 1C:Enterprise 8

Hensikt

Den administrerte applikasjonen implementerer en ny mekanisme for arbeid med filer. Det gir filutveksling mellom infobasen og klientapplikasjonen. Det særegne ved denne mekanismen er at den er designet for bruk i en tynnklient og en nettklient og er utformet under hensyntagen til begrensningene for arbeid med filer pålagt av nettlesere.

Mekanismen er et sett med metoder som kan brukes til å plassere data lagret lokalt på brukerens datamaskin i en midlertidig lagring av informasjonsbasen, overføre denne informasjonen fra den midlertidige lagringen til databasen, og motta den tilbake til brukerens datamaskin. De vanligste applikasjonsproblemene som løses av denne mekanismen er lagring av tilhørende informasjon, for eksempel bilder av varer, dokumenter knyttet til kontrakter, etc.

Metode Omfang

Midlertidig lagring

Midlertidig lagring er et spesialisert område av informasjonsbasen der binære data kan plasseres. Hovedformålet er midlertidig lagring av informasjon under klient-server-interaksjon før den overføres til databasen.

Behovet for midlertidig lagring oppstår fordi nettleserens driftsmodell krever at den brukervalgte filen overføres direkte til serveren uten mulighet for å lagre den på klienten. Når en fil overføres, legges den i midlertidig lagring og kan deretter brukes når du skriver et objekt til databasen.

Den mest typiske applikasjonsoppgaven som løses ved midlertidig lagring er å gi tilgang til filer eller bilder før objektet registreres i informasjonsbasen, for eksempel i form av et element.

En fil eller binære data som er lagret, identifiseres av en unik adresse, som senere kan brukes i skrive-, lese- eller sletteoperasjoner. Denne adressen er gitt av metoder for å skrive en fil til midlertidig lagring. En egen metode i det innebygde språket lar deg finne ut om den beståtte adressen er en adresse som peker til data i midlertidig lagring.

Informasjonsbase

Mekanismen lar deg få tilgang til binære data som er lagret i attributter av typen Value Storage.

Som ved midlertidig lagring er tilgang til informasjon mulig gjennom en spesiell adresse. Du kan få det gjennom en spesiell metode ved å sende en lenke til et objekt eller en registreringsnøkkel for informasjonsregister, og navnet på attributtet. Når det gjelder en tabelldel, er det i tillegg påkrevd å overføre radindeksen til tabelldelen.

Metoder for å jobbe med filer har begrensninger når man jobber med infobasedetaljer. For dem, i motsetning til midlertidig lagring, er det bare å lese informasjon som er tilgjengelig, men ikke å skrive eller slette den.

Beskrivelse av metoder for arbeid med filer

Lagre data til midlertidig lagring

Det mest typiske scenariet for å bruke denne mekanismen involverer først å plassere brukerdata i midlertidig lagring. Det er to metoder for dette: PlaceFile() og PlaceFileInTemporaryStorage().

Den første metoden, PlaceFile(), plasserer en fil fra det lokale filsystemet til midlertidig lagring. Metoden kan godta en måladresse i lagring. Hvis den ikke er definert eller er en tom streng, vil en ny fil opprettes og metoden vil returnere adressen sin gjennom den tilsvarende parameteren.

Hvis parameteren som bestemmer den interaktive driftsmodusen er True, vil metoden vise en standard filvalgsdialogboks der du kan velge en fil som skal lagres. I dette tilfellet vil metoden også returnere adressen til den valgte filen.

Som et resultat returnerer metoden False hvis brukeren interaktivt nektet å utføre en operasjon i filvalgsdialogen. Metoden er kun tilgjengelig på klienten.

Den andre metoden, PlaceFileInTemporaryStorage(), er lik den forrige, bortsett fra at den er tilgjengelig på serveren, og dataene som skal skrives til midlertidig lagring er ikke representert som en bane i filsystemet, men som en variabel av typen Binære data. På samme måte, hvis ingen måladresse er spesifisert, opprettes en ny fil i lagringen. Adressen returneres som et resultat av funksjonen.

Henter en fil fra midlertidig lagring

Når du skriver et objekt til infobasen, må du kanskje trekke ut data fra midlertidig lagring og plassere dem for eksempel i et attributt. Det er en tilsvarende servermetode for dette - GetFileFromTemporaryStorage(). Denne metoden henter data fra midlertidig lagring og returnerer dem som et resultat. For å gjøre dette må du spesifisere adressen i midlertidig lagring. Denne adressen returneres av metodene som er beskrevet ovenfor PlaceFile() og PlaceFileInTemporaryStorage() hvis de utføres vellykket.

Sletter en fil fra midlertidig lagring

Etter at dataene er lagret i detaljene, kan filen i midlertidig lagring slettes. For dette formålet er det en metode DeleteFileFromTemporaryStorage(), som sletter en fil fra midlertidig lagring. Metoden tar som parameter adressen til en fil i midlertidig lagring. Tilgjengelig på serveren.

Sjekker adressen for midlertidig lagring

Filadressen kan indikere både midlertidig lagring og detaljer i infobasen. For å sjekke typen, er det en metode This isTemporaryStorageAddress().

Den sjekker at den angitte adressen er en adresse som peker til butikken. Returnerer True hvis adressen peker på midlertidig lagring. Metoden er tilgjengelig på serveren.

Mottar rekvisittadressen

Etter at dataene er plassert i detaljene i infobasen, må du kanskje få tilgang til dem ved hjelp av filmetoder.

Men før du mottar data, for eksempel fra en eiendom, må du få adressen til denne eiendommen. For dette formålet er det en metode GetFileAddressInformationBase().

Hensikten er å returnere filadressen i infobasen i henhold til de opprinnelige parameterne. For å gjøre dette må du sende inn objektnøkkelen (dette kan enten være en lenke til objektet eller en registreringsnøkkel for informasjonsregister) og navnet på attributtet. Hvis du trenger å få adressen til en fil som er lagret i et tabelldelattributt, før attributtnavnet i parameteren som spesifiserer attributtnavnet, må du legge til navnet på tabelldelen og en prikk ".". Metoden er tilgjengelig både på klienten og serveren.

Henter en fil fra infobasen

GetFile()-metoden mottar en fil fra infobasen og lagrer den i brukerens lokale filsystem. Den første parameteren spesifiserer adressen til filen i rekvisittene eller midlertidig fillagring. Den andre parameteren spesifiserer målplasseringen til den resulterende filen. I ikke-interaktiv modus må du spesifisere banen. I interaktiv modus er parameteren valgfri.

Som standard utføres metoden i interaktiv modus, det vil si at den siste parameteren er True. Dette betyr at en dialogboks vises der du kan spesifisere en handling med den mottatte filen: kjør den eller lagre den på en brukerspesifisert plassering. Hvis interaktiv modus er aktiv og parameteren Target disk file path ikke er spesifisert, er ikke filåpningsoperasjonen tilgjengelig. Returnerer en boolsk verdi. False betyr at brukeren valgte å avbryte operasjonen i den interaktive dialogboksen for lagring av fil.

Eksempel på bruk av filmetoder

// Motta en fil fra disk i interaktiv modus // og plassere den i midlertidig lagring &På klienten Prosedyre SelectDiskFileAndWrite()

Variabel SelectedName; VariableTemporaryStorageAddress; Hvis PutFile(TemporaryStorageAddress, SelectedName, True) Then Object.FileName = SelectedName; PlaceObjectFile(TemporaryStorageAddress); slutt om;

Sluttprosedyre

// Kopiere en fil fra midlertidig lagring til en katalog // attributt, registrere et objekt, slette en fil fra midlertidig // lagring &På serveren Prosedyre Plasser objektfil (midlertidig lagringsadresse)

Directory Element = Form AttributesValue("Objekt"); BinaryData = GetFileFromTemporaryStorage(TemporaryStorageAddress); Directory Element.File Data = NewValueStorage(BinaryData); FilePathOnDisk = Ny fil(DirectoryItem.FileName); Directory Item.FileName = FilePathOnDisk.Name; Directory element.Write(); Modifisert = False; DeleteFileFromTemporaryStorage(TemporaryStorageAddress); ValueВFormAttributes(Katalogelement, "Objekt");

Sluttprosedyre

// Lese en fil fra rekvisittene og lagre den // på den lokale disken i interaktiv modus &På klienten Prosedyre ReadFileAndSaveToDisk()

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

Sluttprosedyre

Støtte for adresser i bildefeltet

Bildefelt-kontrollen støtter visning av et bilde spesifisert av adressen til en fil i midlertidig lagring eller i en database.

For å gjøre dette må du angi et strengtypeattributt i Data-egenskapen til skjemaelementet. Verdien av dette attributtet vil bli tolket som adressen til bildet.

Eksempel // Binding av bildefeltet til bildeadressen i midlertidig // lagring. AddressPictures danner detaljer om strengtype

PlaceFile(PictureAddress,True)

Picture.Data = AddressPictures

Begrensninger ved arbeid med webklienten

Driften av den beskrevne mekanismen når du bruker webklienten har noen begrensninger. Disse begrensningene er relatert til nettleserens sikkerhetsmodell. Så for eksempel kan ikke klienten lagre en fil uavhengig til det lokale filsystemet, det vil si at bare den interaktive versjonen av klientmetodene PlaceFile() og GetFile() er tilgjengelig. Et unntak blir gitt når du prøver å bruke ikke-interaktiv modus. Dialogboksene som vises interaktivt er spesifikke for nettlesertypen din.

Funksjoner når du arbeider med Value Storage på klienten

Problem:

Når et dokument har et attributt av typen Verdilagring i tabelldelen, bremser det åpningen av dokumentskjemaet hvis dette attributtet inneholder store data.

Antatt grunn:

Kanskje, når du åpner et skjema, er det ikke lenken til dataene i Value Store som sendes til klienten, men selve dataene.

Løsning

  • I egenskapene til skjemaets tabellattributt er det et flagg "Bruk alltid". Hvis det er satt, overføres alltid innholdet i feltet mellom serveren og klienten - for eksempel ved åpning av et skjema. Dette flagget må være deaktivert, men dette må tas med i koden, siden det som standard ikke vil være noen verdi for dette feltet på klienten. Et eksempel finner du i 1C:Archive.

Det er enda bedre å bruke midlertidig lagring for å overføre filer mellom klient og server.

Materiale oppdatert for å matche Drupal 8.7.0+

Temp butikk(midlertidig lagring) - lar deg lagre alle data midlertidig. Dette er en slags datalagring i $_SESSION, siden denne lagringen vanligvis er knyttet til en bestemt bruker. Men den bruker ikke $_SESSION og lagrer alt inne i systemet (i databasen).

Kjernen har to tjenester for midlertidig lagring, tempstore.private og tempstore.shared. De fungerer identisk, men private lagrer alltid data for en bestemt bruker. Det vil si at å ringe én nøkkel fra en privat lagring vil returnere forskjellige data for hver bruker. Delt er tilgjengelig fra hver bruker.

Anvendelsesområdet for disse tjenestene og deres lagring kan være svært stort. Lagre for eksempel noen midlertidige verdier av skjemaer, og hvis brukeren ikke har lagret dem, kan de gjenopprettes fra denne lagringen, for eksempel for noen REST-skjemaer, og til og med egnet for vanlige. Generelt, hva du har nok fantasi eller oppgaver til. For eksempel kan dette brukes for noen former kontrollert utenfor Drupal, for eksempel i React eller Vue.

Verdier i disse lagringene lever som standard i 604800 sekunder (1 uke), deretter slettes de automatisk.

For å endre denne verdien. Du må koble til for eksempel sites/default/services.yml og omdefinere det:

Parametere: # 10 sekunder tempstore.expire: 10

Men dette burde med god grunn ikke skje.

La oss se på egenskapene til hver lagringsenhet; selv om de er like, er de litt forskjellige.

tempstore.private - privat lagring

Denne lagringen er privat for hver bruker.

tempstore.shared - delt lagring

Denne lagringen er delt og kan inneholde data som er felles for alle brukere.

Depotet har følgende metoder:

  • get($key) : Henter en verdi fra butikken ved hjelp av nøkkelen. Hvis det ikke er data, vil det returnere NULL, hvis det er, vil det returnere en verdi.
  • getIfOwner($key) : Henter en verdi fra butikken ved hjelp av nøkkelen. Hvis det ikke er data eller dataene ikke ble skrevet under gjeldende bruker, vil det returnere NULL, hvis det er og ble skrevet under gjeldende bruker, vil det returnere verdien.
  • setIfNotExists($key, $value) : Skriver verdien $value under nøkkelen $key til lagring bare hvis det for øyeblikket ikke er noen data for den nøkkelen. Returnerer TRUE hvis registrert, FALSE hvis data allerede er registrert.
  • setIfOwner($nøkkel, $verdi) : Skriver verdien $verdi under nøkkel $nøkkel til lagring bare hvis det for øyeblikket ikke er noen data eller eieren av de faktiske dataene er den nåværende brukeren.
  • set($nøkkel, $verdi) : Skriver verdien $verdi under nøkkelen $nøkkel til lagring.
  • getMetadata($key) : Returnerer metadata for en spesifikk $key , uten data. Dette er et objekt som inneholder eieregenskapen, som lagrer verdien, hvem som eier verdien, og den oppdaterte egenskapen - Unix-tidsstempelet for tiden denne verdien ble skrevet.
  • delete($key): Sletter data knyttet til den gitte $nøkkelen fra lagringen.
  • deleteIfOwner($key) : Sletter data knyttet til den gitte $nøkkelen fra lagring, bare hvis dataene tilhører gjeldende bruker.

Hvordan heter de?

Små eksempler på hvordan man kan kalle dem.

Det første trinnet er å skaffe tempstore for den nødvendige lagringen, deretter hentes en "samling" fra lagringen, hvor dataene allerede er lagret under de nødvendige nøklene. Som regel er navnet på "samlingen" lik navnet på modulen.

Bruk Drupal\Core\TempStore\PrivateTempStoreFactory; bruk 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("brukernavn", "Drupal"); /** @var SharedTempStoreFactory $shared_tempstore */ $shared_tempstore = \Drupal::service("tempstore.shared"); $my_shared_storage = $shared_tempstore->get("dummy"); $my_shared_storage->set("brukernavn", "Drupal");

Eksempel

I eksemplet vil vi lage et skjema på /temp-store-form-siden med to felt, hvorav det ene vil lagre meldingen i privat lagring, og det andre offentlig.

Lag et skjema:

Src/FormWithTempStore.php

privateTempStore = $private_temp_store->get("dummy"); $this->sharedTempStore = $shared_temp_store->get("dummy"); ) /** * (@inheritdoc) */ offentlig statisk funksjon create(ContainerInterface $container) ( return new static($container->get("tempstore.private"), $container->get("tempstore.shared") ); ) /** * (@inheritdoc) */ offentlig funksjon getFormId() ( returner "form_with_temp_store"; ) /** * (@inheritdoc) */ offentlig funksjon buildForm(array $form, FormStateInterface $form_state) ( $form ["private_message"] = [ "#type" => "textarea", "#title" => $this->t("Privat melding"), "#required" => SANN, "#description" => $ this->t("Denne verdien vil være privat for hver bruker."), "#default_value" => $this->privateTempStore->get("melding"), ]; $form["shared_message"] = [ " #type" => "textarea", "#title" => $this->t("Delt melding"), "#required" => TRUE, "#description" => $this->t("Denne verdien vil bli delt for alle brukere."), "#default_value" => $this->sharedTempStore->get("melding"), ]; $form["actions"] = ["#type" => "handlinger" ]; $form["actions"]["submit"] = [ "#type" => "send inn", "#value" => $this->t("Lagre"), ]; returnere $form; ) /** * (@inheritdoc) */ offentlig funksjon submitForm(array &$form, FormStateInterface $form_state) ( $this->privateTempStore->set("message", $form_state->getValue("private_message")); $this->sharedTempStore->set("melding", $form_state->getValue("shared_message")); ) )

Skriv ut (Ctrl+P)

1C:Enterprise har en mekanisme for å jobbe med midlertidig lagring som gir lagring av noen sesjonsrelaterte data.
I tillegg er det implementert en mekanisme for arbeid med filer, som sikrer utveksling av filer mellom infobasen og klientapplikasjonen. Det særegne ved denne mekanismen er at den er designet for bruk i en tynnklient og en nettklient og er utformet under hensyntagen til begrensningene for arbeid med filer pålagt av nettlesere.

Midlertidig lagring

Dette er et spesialisert lager av informasjon som en verdi kan plasseres i. Hovedformålet er midlertidig lagring av informasjon under klient-server-interaksjon før den overføres til databasen. Den midlertidige lagringsmekanismen, sammen med filhåndteringsmekanismen, gir et sett som kan brukes til å plassere data lagret lokalt på brukerens datamaskin i midlertidig lagring av informasjonsbasen, overføre denne informasjonen fra den midlertidige lagringen til databasen, og få den tilbake til brukerens datamaskin. De vanligste applikasjonsproblemene som løses av disse mekanismene er lagring av tilhørende informasjon, for eksempel bilder av varer, dokumenter knyttet til kontrakter osv. Mekanismer for midlertidig lagring og arbeid med filer brukes ofte sammen, men kan også brukes hver for seg.
Behovet for midlertidig lagring oppstår for eksempel fordi nettlesermodellen krever at en brukervalgt fil overføres direkte til serveren uten mulighet til å lagre den på klienten. Når en fil overføres, legges den i midlertidig lagring og kan deretter brukes når du skriver et objekt til databasen.
Du kan bruke midlertidig lagring som en universell lagring med kontrollert datalevetid:

1. Hvis dataene var bundet til en bestemt form ved plassering av data i midlertidig lagring, avhenger levetiden til de lagrede dataene av forventet levetid for skjemaet dataene er bundet til. Når du sletter et skjemaobjekt, vil den midlertidige lagringen bli tømt for all informasjon knyttet til det.

2. Hvis bindingen til skjemaet ikke ble fullført ved plassering av data i midlertidig lagring, vil den midlertidige lagringen bli slettet i følgende tilfeller:

  • Neste gang du ber om skjemaet.
  • På neste serveranrop fra klientens fellesmodul.
  • For kontekstuelle og ikke-kontekstuelle klientanrop fra skjemaet.
  • Når det kalles server-side fra en kommandomodul. Hvis det foretas et serverkall for å plassere en verdi i midlertidig lagring, utføres ingen opprydding. Opprydding skjer etter at samtalen har fullført arbeidet.

Det vil si at du kan legge en eller flere verdier i midlertidig lagring, og bruke denne verdien i neste samtale. Etter bruk og før serveranropet er fullført, vil imidlertid den plasserte verdien automatisk bli fjernet.

Det mest typiske applikasjonsproblemet som løses ved midlertidig lagring er å gi tilgang til filer eller bilder før objektet registreres i informasjonsbasen, for eksempel i form av et element. Når du organiserer slik tilgang, anbefales det å overføre data fra klientdatamaskiner til serveren nøyaktig som filer, uten forutgående "konvertering" til et tekstdokument, regnearkdokument og lignende formater i 1C:Enterprise-systemet. Det anbefales å overføre filen til serversiden og, på serversiden, laste inn fildataene til ønsket
formatet til 1C:Enterprise-systemet.
Data som er lagret, identifiseres av en unik adresse, som senere kan brukes i skrive-, lese- eller sletteoperasjoner. Denne adressen er gitt av metoder for å skrive en verdi til midlertidig lagring. En egen metode i det innebygde språket lar deg finne ut om den beståtte adressen er en adresse som peker til data i midlertidig lagring.
Midlertidig lagring opprettet i én økt er ikke tilgjengelig fra en annen økt. Et unntak er muligheten til å overføre data fra en bakgrunnsjobb til økten som startet bakgrunnsjobben ved bruk av midlertidig lagring.

Burty . Den mest akseptable måten å lagre poteter, rotgrønnsaker og hvitkål på er tapping. En haug er en avlang voll, skråstilt på begge sider, og dekket med isolasjonsmateriale på toppen. Den er laget for å lagre innhøstingen i én sesong. Burts kan males når poteter helles på en flat overflate, og halvmales når grunne groper graves. Popunautny (begravd) haug. For en slik haug graves en grop med en dybde på 25 cm i retning fra nord til sør. Den beste bredden på gropen for settepotet er 170-200 cm For korttidslagring av sunne poteter kan du lage en bredere voll (opptil 4 m). Lengden på gropen kan være vilkårlig, men likevel er den bedre når den ikke er mer enn 20-25 m. Høyden på fyllingen av haugen, med bredden ved bunnen av 2 m, kan være 90- 100 cm. Vanligvis lagres poteter i flere hauger på ett sted. Boreplassen er plassert i nærheten av potetdyrkingsområder på et sted som ikke er oversvømmet av regn og smeltevann, ikke langt fra veien. En ventilasjonskanal 20-25 cm bred og dyp er gravd langs gropens midtakse, den strekker seg utover gropen og er 25 cm lengre enn dekket i enden av kragen. Den delen av kanalen som strekker seg utenfor gropens grenser er tett dekket med plater på toppen slik at det ikke kommer jord inn i gropen og kanalen. I bakkekrager er ventilasjonskanalen plassert direkte på overflaten av bakken og er laget i form av et gittertelt som består av separate halvannen meter seksjoner. For å forhindre at halm og jord kommer inn i ventilasjonskanalen, er endene laget uten hull. For å dekke ventilasjonskanalene utarbeides det på forhånd gitterseksjoner 1,5 m lange og 0,5 m brede Seksjonen består av lameller 2-3 cm brede og 2-2,5 cm mellomrom Seksjonene legges på ventilasjonskanalen og festes til hverandre. Det resulterende kontinuerlige ventilasjonsgitteret dekker delen av kanalen som ligger under produktet. Under dannelsen av en haug med poteter eller andre produkter, plasseres et kragetermometer eller spesiallagde tetraedriske rørhylser med et innvendig tverrsnitt på 3x3 cm, hvor termometre settes inn i enden av stangen. Kragene ventileres gjennom en møne og en ventilasjonskanal. Pålene er dekket med halm og jord. Halm i full tykkelse legges i et tett lag fra bunn til topp slik at toppen av røysen overlapper hverandre. Etter dette drysses haugen med et tynt lag jord på sidene. Rammen på haugen forblir under halmdekke til den første frosten. I regnvær dekkes den midlertidig med takpapp eller plastfilm. Når du avkjøler potetene til +4 °C før stabil frost begynner, er ventilasjonskanalene tett dekket med halm, og haugen er helt dekket med jord. Hvis temperaturen i haugene faller under +1°C, dekkes haugene i tillegg med varmeisolerende materialer - torv, halm, halmgjødsel eller snø. Ved kraftige snøfall, som fører til for mye dekning av haugene, blir de med jevne mellomrom ryddet for snø.

Oppbevaring av grøft . Denne lagringsmetoden krever 2 ganger mindre halm eller andre varmeisolerende materialer enn ved lagring i hauger. Grøfter brukes når grunnvannet er dypt. Dybden og bredden på grøften er fra 60-80 cm (i de sørlige regionene) til 1,5-2 m (i Sibir). Grøftene er dekket med et lag med halm på toppen: i de sentrale regionene er det 30-40 cm, i Sibir - opptil 70 cm. Deretter helles et lag med jord (fra 40 til 70 cm avhengig av sonen). Vanligvis brukes forskjellige typer grøfter: grunne, dype med ventilasjonskanaler, med et lag med jord og uten et lag, og vanlige. Grøfter og peler er utstyrt med (naturlig) enkel ventilasjon. Hovedformålet er å kjøle poteter og grønnsaker om høsten. Prinsippet for drift av til- og avtrekksventilasjon er basert på forskjellen i lufttrykk, d.v.s. på trekk av luftbevegelse oppover på grunn av forskjellen i temperatur i stabelen av produkter og utenfor. Varm luft, som er lettere, går ut gjennom eksosrøret, og kald luft kommer inn gjennom tilførselskanalen. Ventilasjonsanlegget består av tilførsels- og avtrekkskanaler. Innløpskanalen går i midten av bunnen av kragen, det er utganger til utsiden i endeende. I hauger med poteter og rotgrønnsaker lager de et spor med et tverrsnitt på 20x20 cm eller 30x30 cm, dekket med gitterbrett, tverrgående lameller eller børsteved, slik at individuelle kopier av produktet ikke faller gjennom. Gjennom denne kanalen strømmer kaldere uteluft inn i stabelen ved hjelp av tyngdekraften. Den oppvarmede luften fra stabelen fjernes gjennom avtrekkskanaler (rør). De er tetraedriske bokser laget av brett med et tverrsnitt på 20x20 cm eller 15x15 cm. I den nedre delen, som passerer gjennom laget av grønnsaker, er de laget gitter, og i den øvre delen, som passerer gjennom ly, er de solide slik at det ikke faller jord ned i dem. En baldakin er installert på toppen av dem for å beskytte produktene mot regnvann. Eksosrør, avhengig av egenskapene og kvaliteten til grønnsakene som lagres for lagring, installeres hver 2-4 m langs haugens lengde. En av ulempene med vertikale eksosrør er at varm og fuktig luft fjernes bare fra de tilstøtende områdene av stabelen, og avsidesliggende områder blir knapt avkjølt. Vann strømmer inn i nærheten av eksosrørene, svetter og fryser produktene, siden ly her er mindre tett og pålitelig. Derfor benyttes møneavtrekksventilasjon. Når du lagrer grønnsaker i tørt, kjølig vær, er toppen av grøften bare dekket med halm, gjennom hvilken varm luft fjernes. Imidlertid er slike forhold sjeldne; været er ofte regnfullt om høsten. I slike tilfeller er det installert en horisontal avtrekkskanal - brett slått sammen i en vinkel på 90°, som legges på en stabel med grønnsaker med en utgang i endene til utsiden. I dette tilfellet kan grøften langs ryggen umiddelbart dekkes med halm og jord, uten frykt for at halmen blir våt og produktet fryser. Du trenger bare å lukke endehullene i tide. Fordelen med en horisontal møneavtrekkskanal fremfor vertikale avtrekksventilasjonsrør er også at i dette tilfellet fjernes varm og fuktig luft jevnt fra hele stabelen med produkter.

Gruve. Den enkleste lagringen er en jordgrop - beregnet for oppbevaring av, oftest, et lite parti poteter, og av og til rotvekster. Det graves på et forhøyet område med lav grunnvannstand. Avhengig av jordens tetthet, graves den med rette eller skrånende vegger. Den mest akseptable gropformen er rund, men noen ganger er de laget rektangulære. Et hull er gravd i tett leirjord, formet som en kanne. Det anbefales ikke å gjøre dette i sandjord, da det vil kollapse. Grav et hull som følger: tegn en sirkel med en diameter på 1 m og grav ut halsen på kannen, og grav deretter dypere, utvide hullet gradvis til en bredde på 2-2,5 m i diameter. Dybden på gropmuggen skal være 1,5-2 m. For å hindre at smeltevann kommer inn i gropen, legges en rulle av fjernet leire rundt åpningen av halsen. Et slikt lager er dekket med et lokk plassert i en skråning for å la regnvann rulle av. En vellaget gropmugge varer 30-40 år uten reparasjon. Om vinteren vil den holde en mer konstant temperatur og fuktighet enn i en vanlig kjeller. Poteter i en slik grop svetter ikke og spirer ikke i lang tid. Poteter oppbevares i små groper uten ventilasjon. I store er et ventilasjonsrør installert fra brett eller fire staker drevet inn i bunnen av gropen og pakket inn med en halmsnor. Poteter senkes ned i hullet ved hjelp av en bøtte. To tau er knyttet til bøtta: ett til håndtaket og det andre til bunnen. Etter at bøtta når gulvet, dra i tauet festet til bunnen. Samtidig velter bøtta og potetene renner ut. Knoller blir ikke skadet med denne tilbakefyllingsmetoden. Etter å ha fylt pit-kannen med poteter, lukkes halsen med halm og lokk. I løpet av de to første ukene slipper poteter mye fuktighet når de puster, så strålaget skal ikke være tykt. Senere justeres laget til 50-70 cm, avhengig av lokale vinterforhold.

Skriv ut (Ctrl+P)

Denne delen beskriver de vanligste brukene av mekanismen for å arbeide med midlertidig lagring og filer.

Lagre data fra en fil til midlertidig lagring

Plassering av én fil

PlaceFile()-metoden plasserer en fil fra det lokale filsystemet til midlertidig lagring. Metoden kan godta en adresse i midlertidig lagring hvor filen skal lagres. Hvis adressen ikke er definert eller er en tom streng, vil en ny adresse bli opprettet og metoden vil returnere den gjennom en spesiell parameter.
Merk. Mengden data som flyttes mellom klienten og serveren i ett kall til PutFile()-metoden
Hvis parameteren som bestemmer den interaktive driftsmodusen er True, vil metoden vise en standard filvalgsdialogboks der du kan velge en fil som skal lagres. I dette tilfellet vil metoden også returnere adressen til den valgte filen.
Metoden returnerer False som et resultat hvis brukeren interaktivt nektet å utføre en operasjon i filvalgsdialogen.

Plassere et sett med filer

Metode PlaceFiles() plasserer flere filer i midlertidig lagring i en samtale. Det er flere forskjellige måter å bruke denne metoden på:
● forhåndsgenerere en liste over filer som skal legges til, for eksempel når du tidligere har valgt filene som må plasseres i informasjonsbasen;
● sende en filsøkemaske til metoden, for eksempel når du vil plassere alle filer av en bestemt type, for eksempel alle bilder, i informasjonsdatabasen;
● sende et tidligere forberedt objekt til metoden Dialog for filvalg i filåpningsmodus.
Etter å ha fullført arbeidet, kan metoden returnere en liste over faktisk lagt til filer.

// FileList – attributt for formen til ValueList-typen,
// som inneholder en liste over filer som er lagt til
FileArray = New Array;
For hvert element i listen fra listen over filer
FileArray.Add(NewDescriptionofTransferFile(ListElement,));
EndCycle;
Plasserte filer= Ny matrise;
Result = PlaceFiles(ArrayFiles, PlacedFiles, False, UniqueIdentifier);

Merknad 1: For å bruke metoden PlaceFiles() Nettklienten krever tilkobling av en filbehandlingsutvidelse.
Merknad 2: Mengden data som flyttes mellom klient og server per metodekall PlaceFiles(), bør ikke overstige 4 Gb (i serialisert form).

Plassering av data i midlertidig lagring

Metoden ligner på PlaceFile()-metoden, bortsett fra at dataene som skal skrives til midlertidig lagring
er ikke representert som en bane i filsystemet, men som en verdi. På samme måte, hvis ingen eksisterende adresse er spesifisert i midlertidig lagring, opprettes en ny adresse. Adressen returneres som resultat av funksjonen. Som med filer, må de postede dataene tilhøre en form og slettes automatisk etter at de er slettet.
Merk. Mengde data som flyttes mellom klient og server per metodekall PlaceInTemporaryStorage(), bør ikke overstige 4 Gb (i serialisert form).
Merk følgende! Når den plasseres i midlertidig lagring, blir verdien faktisk ikke serialisert. En referanse til verdien plasseres og lagres i cachen i 20 minutter. Etter denne perioden blir verdien serialisert, skrevet til disk (lagring av øktdata) og fjernet fra hurtigbufferen.

Henter data fra midlertidig lagring

Når du skriver et objekt til en infobase, må du kanskje trekke ut data fra midlertidig lagring og plassere dem for eksempel i et infobase-objektattributt. Det er en spesiell metode for dette - GetFromTemporaryStorage(). Denne metoden henter data fra midlertidig lagring og returnerer dem som utførelsesresultat. For å motta data må du angi adressen i midlertidig
Oppbevaring. Denne adressen returneres av metoder for å plassere data i midlertidig lagring hvis de lykkes (se tidligere avsnitt).
Merk følgende! Når du henter en verdi fra midlertidig lagring på serveren, bør du ta hensyn til at den er hentet ved referanse. I virkeligheten peker denne lenken til en verdi som er lagret i cachen. Innen 20 minutter, fra det øyeblikket den ble lagret eller fra det øyeblikket den sist ble åpnet, vil verdien bli lagret i hurtigbufferen, og deretter skrevet til disk og slettet fra hurtigbufferen. Neste gang verdien åpnes, lastes den inn fra disken og plasseres tilbake i hurtigbufferen.
Etter deserialisering og gjenoppretting av verdier fra midlertidig lagring, gjenopprettes ikke referanser. Bufferverdien gjenopprettes fra disk. Men etter serialisering/deserialisering er det umulig å gjenopprette referanser til andre objekter inne i verdien.

Sletting av data fra midlertidig lagring

Etter at dataene er lagret i infobase-objektattributtet, kan dataene i den midlertidige lagringen slettes. Det finnes en metode for dette
RemoveFromTemporaryStorage(), som utfører fjerningen. Metoden tar en adresse i midlertidig lagring som en parameter.

Sjekker adressen for midlertidig lagring

Adressen kan angi både midlertidig lagring og detaljer i informasjonsbasen. Det er en metode for å sjekke typen
Dette erTemporaryStorageAddress(). Den sjekker at den angitte adressen er en adresse som peker til butikken. Returnerer True hvis adressen peker på midlertidig lagring.

Mottar rekvisittadressen

Etter at dataene er plassert i infobase-objektattributtet, må du kanskje få tilgang til dem ved hjelp av filmetoder.
Men før du mottar data, for eksempel fra en eiendom, må du få adressen til denne eiendommen. Det finnes en metode for dette GetNavigationLink().

Den kan returnere adressen til verdien i infobasen basert på de opprinnelige parameterne. For å gjøre dette må du sende inn objektnøkkelen (dette kan være
både en lenke til objektet og inngangsnøkkelen til informasjonsregisteret) og navnet på attributtet. Hvis du trenger å få adressen til verdien som er lagret i attributtet
tabelldelen, og deretter til attributtnavnet i parameteren som spesifiserer attributtnavnet, må du legge til navnet på tabelldelen og en prikk ".". For eksempel: Produkter.Bilde

Henter en fil fra infobasen

Mottar én fil

GetFile()-metoden mottar en fil fra infobasen og lagrer den i brukerens lokale filsystem. Den første parameteren spesifiserer filadressen i infobase-objektattributtet eller i den midlertidige fillagringen. Lagring vil ikke skje hvis brukeren som operasjonen utføres på vegne av, ikke har View-rettigheten til detaljene til infobaseobjektet. Den andre parameteren bestemmer plasseringen der den resulterende filen lagres. I ikke-interaktiv modus må du spesifisere banen. I interaktiv modus er parameteren
valgfri.
Som standard utføres metoden interaktivt. Dette betyr at en dialogboks vil bli generert der du kan spesifisere en handling med den mottatte filen: kjør den eller lagre den til en brukerspesifisert plassering i filsystemet. Hvis interaktiv modus er valgt og alternativet Filnavn ikke er spesifisert, er ikke filåpningsoperasjonen tilgjengelig. Metoden returnerer en boolsk verdi. False betyr at brukeren valgte å avbryte operasjonen i den interaktive dialogboksen for lagring av fil.

Motta et sett med filer

GetFiles()-metoden lar deg motta og lagre flere filer som er lagret i infobasen i brukerens lokale filsystem. Listen over opplastede filer sendes som en parameter.

// FileList – en liste over verdier som inneholder lenker til elementer
//-katalogen der de opplastede filene er plassert
// Listen over verdirepresentasjon er navnet på filen som lastes opp
FileArray = New Array;
For hvert element i listen fra listen over filer
Fil = Ny File(String(ListElement.Value));
ReceiveFile = Ny Beskrivelse av den overførte filen;
ReceiveFile.Name = ListElement.View;
ReceiveFile.Storage= P getNavigationLink(ListItem.Value, "Data");
FileArray.Add(ReceivingFile);
EndCycle;
Mottatte filer= Ny matrise;
Resultat = ReceiveFiles(FilesArray, ReceivedFiles, UploadedFilesPath, False);
Hvis IKKE resultat da
Melding = Ny Melding til bruker;
Message.Text = "Feil ved mottak av filer!";
Message.Message();
Slutt om ;

Etter å ha fullført, kan metoden returnere en liste over faktisk nedlastede filer, som indikerer det fulle navnet på hver lagrede fil.
MERK. For å bruke GetFiles()-metoden i webklienten, må du koble til filtypen. Hvis egenskapen Objektnavn Beskrivelse av den overførte filen inneholder den absolutte banen til filen, vil filen bli lagret til denne banen, uavhengig av parameteren Filplassering.
Filplasseringsparameteren kan enten være en bane i det lokale filsystemet eller et filvalgsdialogobjekt i modusen for å velge en katalog eller lagre filer. Hvis parameterverdien Filplassering objekt spesifisert Dialog for filvalg i modus
lagre filer, så:

● dialogen kalles opp for hver overført fil, bortsett fra de filene der egenskapen Overført filbeskrivelse objektnavn inneholder en absolutt bane;
● verdien til objektet. Navnet på beskrivelsen av den overførte filen-egenskapen vil bli brukt som det første filnavnet i dialogboksen;
● hvis avslag på lagring er valgt for en fil, vil navnet på objektet Beskrivelse av egenskapen overført fil inneholde en tom streng;
● metoden GetFiles() vil returnere verdien True hvis minst én fil ble mottatt;
● det bør tas i betraktning at filene faktisk mottas etter at brukeren har svart på spørsmål om å spesifisere navn og bane
alle mottatte filer;
● hvis brukeren på vegne av GetFile()-metoden utføres ikke har View-rettigheten til minst ett attributt til infobaseobjektet som filene hentes fra, vil hele operasjonen mislykkes.
Eksempel:

TransferredFiles = New Array;
Beskrivelse = Ny Beskrivelse av den overførte filen("Beskrivelse", Filadresse);
Overførte filer.Legg til(Beskrivelse );
FileSelect = Ny FileSelectionDialog(FileSelectionDialogMode.Save);
FileSelect.Header= "Lagre arkiv";
File Selection.Extension= "zip";
FileSelect.Filter= “Arkiv(*.zip)|*.zip|Alle filer|*.*”;
FileSelect.FilterIndex = 0;
ReceiveFiles(TransferFiles, SelectFile, False);

Hvis den interaktive modusen for å velge katalogen for lagring av filer er valgt, vil webklienten i tillegg be om tillatelse til å lagre filer spesifisert med absolutte baner. Ved ikke-interaktiv lagring (banen til katalogen er spesifisert i den tilsvarende parameteren), vil forespørselen bli utført for hele listen over lagrede filer.

Eksempel på bruk av filmetoder

// Henter en fil fra disk interaktivt
// og plassere den i midlertidig lagring.
&På klient
Fremgangsmåte SelectDiskFileIWrite()
Variabel SelectedName;
Perem TemporaryStorageAddress;
NewObject = Object.Link.Empty();
Hvis PlaceFile(TemporaryStorageAddress, "", SelectedName, True) Deretter
Object.FileName = SelectedName;
PlaceObjectFile(TemporaryStorageAddress);
slutt om;
Sluttprosedyre
// Kopiering av en fil fra midlertidig lagring til rekvisitter
// katalog, skrive et objekt, slette en fil fra midlertidig
// Oppbevaring.
&På server
Fremgangsmåte PlaceObjectFile(TemporaryStorageAddress)
Katalogelement = Form AttributesValue(“Objekt”);
BinaryData = GetFromTemporaryStorage(TemporaryStorageAddress);
Katalogelement. Fildata= Ny StorageValues(BinaryData, NewDataCompression());
Fil = Ny Fil (katalogelement. filnavn);
Directory Item.FileName = File.Name;
Directory element.Write();
Modifisert = False;
DeleteFromTemporaryStorage(TemporaryStorageAddress);
ValueВFormAttributes(Katalogelement, "Objekt");
Sluttprosedyre
// Les filen fra rekvisittene og lagre den
// på den lokale disken i interaktiv modus.
&På klient
Fremgangsmåte ReadFileAndSaveToDisk()
Adresse = GetNavigationLink(Object.Link,"FilData");
GetFile(Address, Object.FileName, True);
Sluttprosedyre

Tillatelse til å utføre en gruppe filoperasjoner

Når du utfører enkelte operasjoner i webklienten, må du kanskje få tillatelse til flere filoperasjoner.
For eksempel må du hente et dokument fra en infobase og deretter åpne det lagrede dokumentet ved hjelp av den tilknyttede applikasjonen.
For å utføre denne operasjonen må du svare på spørsmålet om lagring av dokumentet og spørsmålet om behovet for å kjøre det. Hvis det er flere operasjoner, vil brukeren også ha flere spørsmål.
For å redusere antall spørsmål kan du bruke metoden. Når du bruker denne metoden
Brukeren får vist en liste over alle operasjonene som er planlagt utført og blir bedt om å tillate at gruppen av operasjoner utføres. Hvis brukeren har tillatt utførelse, vil de forespurte operasjonene bli utført uten ytterligere forespørsler til brukeren. Hvis tillatelse ikke gis, vil operasjonen fortsette som normalt: én forespørsel per operasjon.
MERK. Å bruke metoden RequestUserPermission() I webklienten må du aktivere filbehandlingsutvidelsen.
La oss se på et eksempel på bruk av metoden:

Hvis ConnectExtensionWorking With Files() Deretter
Link = GetNavigationLink(Object.Link, "FileData");
// Dannelse av en beskrivelse av de overførte filene (i dette tilfellet er det bare én fil)
Overførte filer= Ny matrise;
Beskrivelse = Ny beskrivelse av den overførte filen (objekt. filnavn, lenke);
TransferredFiles.Add(Description);
// Forbered et objekt for å motta informasjon om mottatte filer
Overførte filer= Ny matrise;

// Definer andre metodeparametere
Katalog Lagre= "c:\temp";
Interaktiv = Falsk ;
Overført filnavn = Lagrer katalog + "\" + Objekt.Filnavn;
// Utarbeid en beskrivelse av metoder for å få tillatelser
Metoder = New Array;

Methods.Add(“GetFiles”);
Methods.Add(TransferFiles);
Methods.Add(TransferredFiles);
Methods.Add(SaveDirectory);
Methods.Add(Interactive);
Methods.Add(New Array);
Methods.Add(“RunApplication”);
Methods.Add(TransferredFileName);
Hvis ikke RequestUserPermission(metoder) Deretter
Advarsel("Brukeren har nektet tillatelse.");
Komme tilbake;
slutt om;
GetFiles(TransferFiles, TransmittedFiles, SavingDirectory, Interactive);
RunApplication(TransferredFileName);
Ellers
Advarsel("Kjøring støttes ikke. Filtypen er ikke installert.");
slutt om;

Flere funksjoner ved metoden bør bemerkes RequestUserPermission().

1. Tillatelse er bare forespurt for følgende metoder:

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

2. Tillatelse er forespurt for et spesifikt sett med metodeparametere. Hvis parameterverdiene under selve utførelsen av en filmanipulasjonsmetode er forskjellige fra de som tillatelsen ble oppnådd for, vil denne tillatelsen ikke være gyldig, og brukeren vil motta en separat forespørsel om å bekrefte operasjonen.

3. Hvis du trenger å utføre to (eller flere) identiske operasjoner med filer (selv med samme sett med parametere), bør du spesifisere riktig antall elementer i metodeparametermatrisen RequestUserPermission(). Hvis du for eksempel trenger å hente den samme filen fra infobasen to ganger og plassere den på et fast sted i filsystemet, bør du be om tillatelse
for to operasjoner.

4. Hvis tillatelse blir bedt om en operasjon som utfører en interaktiv operasjon (for eksempel GetFiles()-funksjonen, sendes et objekt som en parameter Dialog for filvalg), så er en slik operasjon ekskludert fra forespørselen.

Tildelte tillatelser beholdes enten til det autoriserte anropet utføres eller til det innebygde språket er ferdig utført.
MERK. I tykke og tynne klienter RequestUserPermission() Metoden returnerer alltid True, uten brukerinteraksjon.

Arbeider med midlertidig lagring i bakgrunnsjobb

Mekanismen for å jobbe med midlertidig lagring har muligheten til å overføre data fra en bakgrunnsjobb til økten som startet bakgrunnsjobben.
For en slik overføring bør du plassere en tom verdi i midlertidig lagring i den overordnede økten (ved å bruke metoden PlaceInTemporaryStorage()), som spesifiserer en identifikator for den midlertidige lagringen som opprettes (adresseparameter). Send deretter den mottatte adressen til bakgrunnsjobben gjennom bakgrunnsjobbparameterne. Videre, hvis du er i en bakgrunnsjobb, brukes denne adressen som verdien til parameteren Method Address PlaceInTemporaryStorage(), så vil resultatet bli kopiert til økten som bakgrunnsjobben ble startet fra.
Data plassert i midlertidig lagring i en bakgrunnsjobb vil ikke være tilgjengelig fra den overordnede økten før bakgrunnsjobben er fullført.

Støtte for adresser i bildefeltet

Skjemaelementet Vis felt Bildefeltet støtter visning av et bilde spesifisert av adressen til en verdi (som kan være et bilde eller binære data) i midlertidig lagring eller en database.
For å gjøre dette må du angi et strengtypeattributt i Data-egenskapen til skjemaelementet. Verdien av dette attributtet vil bli tolket som adressen til bildet.

// Eksempel 1
// Binding av bildefeltet til bildeadressen i midlertidig
// Oppbevaring. AddressPictures – skjemadetaljer for strengtype
PlaceFile(ImageAddress, InitialName, SelectedName, True, UniqueIdentifier);
// Eksempel 2
// Hente adressen til bildet fra objektattributtet
// informasjonsbase
FilePictures = Object.FilePictures;
Hvis ikke PictureFile.Empty() Da
ImageAddress = GetNavigationLink(ImageFile, "FileData");
Ellers
ImageAddress = "";
Endeløs;

Tilgang til standard kataloger

Ved bruk av systemet kreves det en del plass i filsystemet hvor ulike fildata kan lagres, som på den ene siden er midlertidige, og på den andre siden må lagres ganske lenge. Slike filer inkluderer utkast til dokumenthåndteringssystemer, eksterne komponenter som kjører på klientdatamaskinsiden, etc.
En spesiell katalog er ment for lagring av slike filer, som er knyttet til en spesifikk bruker av en spesifikk informasjonsbase.
Den samme brukeren som arbeider med to infobaser vil ha tilgang til to forskjellige kataloger for lagring av brukerdata. Plasseringen av denne katalogen bestemmes ved hjelp av metoden WorkUserDataDirectory(). Hvis katalogen ikke eksisterer, opprettes den første gang den åpnes. Hvis katalogen ikke kan opprettes, gir systemet et unntak.
MERK. UserDataWorkDirectory()-metoden er ikke tilgjengelig på serversiden.
Operativsystemet har en spesiell katalog tildelt for permanent lagring av brukerdata. Det kan være noen
rapporter, trykte dokumenter osv. Data legges i denne katalogen, som senere kan sendes til eksterne
til forbrukerne. DocumentDirectory()-metoden brukes for å få tilgang til denne katalogen. Den fysiske plasseringen av katalogen varierer avhengig av operativsystemet.
system der applikasjonen kjøres og er oppført i syntaksassistenten.