1с збереження даних тимчасове сховище. Тимчасові сховища. Як вони викликаються

У сховищі значення можна зберегти майже будь-яку інформацію, наприклад,

... картинки (фотки):

ТекЗображення.Об'єкт = СпрТканини.Посилання; ТекЗображення.Відданих = Перерахування.ВидиДодатковоїІнформаціїОб'єктів.Зображення; Сховище = Новий СховищеЗначення(НоваКартинка, Новий СтисненняДаних()); ТекЗображення.Сховище = Сховище.Отримати();

// тут він все виводить... ЕлементиФорми.ПолеКартинки1.Картинка = Сховище.Отримати(); ТекЗображення.Записати();

...табличний документ:

ТабДок = Новий ТабличнийДокумент; ТабДок.Вивести(ЕлементиФорми.ПолеТабличногоДокумента1); Сховище=Нове СховищеЗначення(ТабДок); Записати();

КінецьПроцедури

Процедура ВідновитиСховищеНатискання(Елемент)

ТабДок = Сховище. Отримати (); Якщо ТабДок<>Невизначено Тоді ЕлементиФорми.ПолеТабличногоДокумента1.Вивести(ТабДок); КінецьЯкщо;

КінецьПроцедури

... довільні файли (двійкові дані):

ХЗ = Новий СховищеЗначення(Новий ДвійковіДані(файл));

Вісімка підтримує стиснення даних, що розміщуються в сховищі:

ХЗ = Новий СховищеЗначення(Новий ДвійковіДані(файл),Новий СтисненняДаних(9));

... зовнішні обробки та звіти:

Процедура ЗавантажитиОбробкуВСховище(РеквізитТипСховище)

СтупіньСтискання = Новий СтисненняДаних(9); //9 максимум РеквізитТипСховище = Новий СховищеЗначення(Новий ДвійковіДані("c:\звіти\звіт.epf", СтупіньСтискання));

КінецьПроцедури

Процедура ЗапуститиОбробкуІзСховища(РеквізитТипСховище)

Ім'яТимчасовогоФайлу = КаталогТимчасовихФайлів()+"звіт.epf"; ДвійковіДані = РеквізитТипСховище.Отримати(); ДвійковіДані.Записати(Ім'яТимчасовогоФайлу); ЗовнішняОбробка = ЗовнішніОбробки.Створити(Ім'яТимчасовогоФайлу); ЗовнішняОбробка.ОтриматиФорму().Відкрити();

КінецьПроцедури

Робота зі сховищем

Якщо це були Двійкові Дані, їх можна відновити зі сховища значення методом Отримати і записати у файл методом Записати().

Якщо ТипЗнч(Сховище)<>Тип("ДвійковіДані") Тоді

ДвійковіДані = Сховище.Отримати();

ДвійковіДані = Сховище;

КінецьЯкщо; ДвійковіДані.Записати(Ім'яФайлу);

Якщо це був, наприклад, Word-документ (doc-файл або інший файл зареєстрованого типу), то його можна відкрити так:

ЗапуститиДодаток(Ім'яФайлу);

Щоб очистити поле типу Сховище значення, потрібно привласнити йому Невизначено:

РеквізитСховище = Невизначено;

Робота з файлами та картинками у вбудованій мові 1С:Підприємства 8

Призначення

У керованому додатку реалізовано новий механізм роботи з файлами. Він забезпечує обмін файлами між інформаційною базою та клієнтським додатком. Особливістю даного механізму є те, що він орієнтований на використання у тонкому клієнті та Веб-клієнті та розроблений з урахуванням обмежень на роботу з файлами, що накладаються веб-браузерами.

Механізм є набором методів, за допомогою яких можна помістити дані, що зберігаються локально у користувача, в тимчасове сховище інформаційної бази, перенести цю інформацію з тимчасового сховища в базу даних і отримати її назад на комп'ютер користувача. Найбільш поширені прикладні завдання, які вирішуються цим механізмом, - це зберігання супровідної інформації, наприклад, зображень товарів, пов'язаних із договорами документів тощо.

Область дії методів

Тимчасове сховище

Тимчасове сховище - це спеціалізована сфера інформаційної бази, в яку можуть бути поміщені двійкові дані. Основне призначення - це тимчасове зберігання інформації при клієнт-серверній взаємодії до її перенесення до бази даних.

Необхідність у тимчасовому сховищі виникає тому, що в моделі роботи веб-браузера потрібно передати обраний користувачем файл безпосередньо на сервер без можливості його зберігання на клієнті. При передачі файлу він поміщається в тимчасове сховище і потім може бути використаний під час запису об'єкта до бази даних.

Найбільш типове розв'язуване тимчасовим сховищем прикладне завдання – забезпечення доступу до файлів або картинок до того, як об'єкт буде записаний в інформаційну базу, наприклад, у формі елемента.

Файл або двійкові дані, поміщені в сховище, ідентифікуються унікальною адресою, яку можна використовувати в операціях запису, читання або видалення. Ця адреса видає методи запису файлу в тимчасове сховище. Окремий метод у вбудованій мові дозволяє визначити, чи є адреса, що передається адресою, що вказує на дані в тимчасовому сховищі.

Інформаційна база

Механізм дозволяє отримати доступ до двійкових даних, що зберігаються в реквізитах типу СховищеЗначень.

Як і у випадку тимчасового сховища, доступ до інформації можливий через спеціальну адресу. Отримати його можна через спеціальний метод, передавши посилання на об'єкт або ключ запису регістра відомостей та ім'я реквізиту. У разі табличної частини додатково потрібно передати індекс рядка табличної частини.

Методи роботи з файлами мають обмеження під час роботи з реквізитами інформаційної бази. Для них, на відміну від тимчасового сховища, є лише читання інформації, але не її запис або видалення.

Опис методів роботи з файлами

Збереження даних у тимчасове сховище

Найбільш типовий сценарій використання даного механізму передбачає початкове розміщення даних користувача у тимчасовому сховищі. Для цього призначено два методи: ПоміститиФайл() і ПоміститиФайлВременноеСховище().

Перший метод, помістити файл(), поміщає файл з локальної файлової системи в тимчасове сховище. Метод може приймати цільову адресу сховища. Якщо ж він не визначений або є порожнім рядком, то буде створено новий файл та метод поверне його адресу через відповідний параметр.

Якщо параметр, що визначає інтерактивний режим роботи, дорівнює Істина, метод відобразить стандартне діалогове вікно вибору файлу, в якому можна вибрати файл для приміщення в сховищі. У цьому випадку метод також поверне адресу вибраного файлу.

Як результат, метод повертає Брехню, якщо користувач в інтерактивному режимі відмовився від здійснення операції в діалозі вибору файлу. Метод доступний лише клієнта.

Другий метод, ПоміститиФайлВременноеСховище(), схожий з попереднім, крім того, що він доступний на сервері, а дані для запису в тимчасове сховище представляються не як шляху у файловій системі, а вигляді змінної типу ДвійковіДані. Так само, якщо не вказана цільова адреса, створюється новий файл у сховищі. Його адреса повертається як наслідок функції.

Отримання файлу з тимчасового сховища

При записі об'єкта в інформаційну базу може знадобитися витягти дані з тимчасового сховища та помістити їх, наприклад, у реквізит. Для цього є відповідний серверний метод - Отримати Файл З Тимчасового Сховища (). Цей метод витягує дані з тимчасового сховища та повертає їх як результат. Для цього необхідно вказати адресу у тимчасовому сховищі. Ця адреса повертає вищеописані методи ПоміститиФайл() і ПоміститиФайлВременноеСховище() у разі успішного виконання.

Видалення файлу з тимчасового сховища

Після збереження даних у реквізиті файл можна видалити у тимчасовому сховищі. Для цього є метод ВидалитиФайлЗ Тимчасового Сховища(), який видаляє файл із тимчасового сховища. Метод приймає у параметрі адресу файлу у тимчасовому сховищі. Доступний на сервері.

Перевірка адреси на належність тимчасовому сховищу

Адреса файлу може вказувати як у тимчасове сховище, і на реквізит інформаційної базі. Для перевірки його типу існує метод ЦеАдрес ТимчасовогоСховища().

Він перевіряє, що передана адреса є адресою, що вказує на сховище. Повертає Істина, якщо адреса вказує на тимчасове сховище. Метод доступний на сервері.

Отримання адреси реквізиту

Після того, як дані поміщені в реквізит в інформаційній базі, може знадобитися отримати доступ до них за допомогою файлових методів.

Але перш ніж отримати дані, наприклад, з реквізиту, необхідно отримати адресу цього реквізиту. Для цього існує метод ОтриматиАдресФайлаВінформаційноїБазі().

Його призначення – повернути адресу файлу в інформаційну базу за вихідними параметрами. Для цього необхідно передати ключ об'єкта (це може бути посилання на об'єкт, так і ключ запису регістра відомостей) та ім'я реквізиту. Якщо потрібно отримати адресу файлу, що зберігається в реквізиті табличної частини, до імені реквізиту в параметрі, що визначає ім'я реквізиту, необхідно додати ім'я табличної частини і точку «.». Метод доступний як у клієнті, і на сервері.

Отримання файлу з інформаційної бази

Метод ОтриматиФайл() отримує файл з інформаційної бази та зберігає його у локальну файлову систему користувача. Перший параметр визначає адресу файлу в реквізиті або тимчасовому сховищі файлів. Другий параметр визначає цільове розташування файлу. У не інтерактивному режимі необхідно вказати шлях. В інтерактивному режимі параметр опціональний.

За промовчанням метод виконується в інтерактивному режимі, тобто останній параметр дорівнює Істина. Це означає, що видається діалогове вікно, в якому можна вказати дію з отриманим файлом: запустити його або зберегти за вказаним користувачем розташування. Якщо активовано інтерактивний режим, а параметр Цільовий шлях до файлу на диску не вказано, операція відкриття файлу недоступна. Повертає булівське значення. Брехня означає, що користувач вибрав скасування операції у діалоговому вікні збереження файлів в інтерактивному режимі.

Приклад використання файлових методів

// Отримання в інтерактивному режимі файлу з диска // та поміщення його в тимчасове сховище &На Клієнті Процедура ВибратиФайлСДискаІЗаписати()

Перем ВибранеІм'я; Перем Адреса ТимчасовогоСховища; Якщо ПоміститиФайл(Адрес ТимчасовогоСховища, Вибране Ім'я, Істина) Тоді Об'єкт.Ім'яФайла = ВибранеІм'я; ПоміститиФайлОбъекта(Адрес ТимчасовогоСховища); КінецьЯкщо;

КінецьПроцедури

// Копіювання файлу з тимчасового сховища в реквізит // довідника, запис об'єкта, видалення файлу з тимчасового // сховища &На Сервері Процедура ПоміститиФайлОб'єкта(Адрес ТимчасовогоСховища)

ЕлементДовідника = РеквізитФормиЗначення("Об'єкт"); ДвійковіДані = ОтриматиФайлЗ ТимчасовогоСховища(Адрес ТимчасовогоСховища); ЕлементДовідника.ДаніФайла = Новий СховищеЗначення(ДвійковіДані); ФайлШляхНаДіске = Новий Файл(ЕлементДовідника.Ім'яФайла); ЕлементДовідника.Ім'яФайла = ФайлШляхНаДіске.Ім'я; ЕлементДовідника.Записати(); Модифікованість = Брехня; ВидалитиФайлЗ Тимчасового Сховища (Адрес Тимчасового Сховища); ЗначенняВРеквізитФорми(ЕлементДовідника, "Об'єкт");

КінецьПроцедури

// Зчитування файлу з реквізиту та збереження його // на локальному диску в інтерактивному режимі &На Клієнті Процедура ПрочитатиФайлІЗберегтиНаДиск()

Адреса = ОтриматиАдресФайлаВінформаційноїБазі(Об'єкт.Посилання, "ДаніФайлу"); Отримати Файл (Адреса, Об'єкт. Ім'я Файлу, Істина);

КінецьПроцедури

Підтримка адрес у полі картинки

Елемент керування Поле зображення підтримує відображення зображення, заданої адресою файлу в тимчасовому сховищі або базі даних.

Для цього у властивості Дані елемента форми необхідно встановити реквізит рядкового типу. Значення цього реквізиту інтерпретуватиметься як адресу картинки.

приклад // Прив'язка поля картинки до адреси картинки у тимчасовому // сховище. АдресаКартинки реквізит форми рядкового типу

ПоміститиФайл(АдресКартинки,Істина)

Картинка.Дані = АдресаКартинки

Обмеження під час роботи з Веб-клієнтом

p align="justify"> Робота описуваного механізму при використанні Веб-клієнта має деякі обмеження. Ці обмеження пов'язані з особливостями моделі безпеки браузера. Приміром, клієнт самостійно неспроможна зберегти файл у локальну файлову систему, тобто доступний лише інтерактивний варіант клієнтських методів ПоміститиФайл() і ОтриматиФайл(). При спробі використовувати не інтерактивний режим генерується виняток. Діалогові вікна, що відображаються в інтерактивному режимі, є специфічними для конкретного типу браузера.

Особливості при роботі з СховищемЗначень на Клієнті

Проблема:

Коли документ у табличній частині має реквізит типу СховищеЗначень, то гальмує відкриття форми документа, якщо в цьому реквізиті записані дані великого розміру.

Ймовірна причина:

Можливо, при відкритті форми, на клієнт передається не посилання на дані, що знаходяться в сховищі значень, а самі дані.

Рішення

  • У властивостях табличного реквізиту форми є прапор "Використовувати завжди". Якщо він встановлений, вміст поля завжди передається між сервером і клієнтом - наприклад, при відкритті форми. Цей прапор треба вимкнути, але при цьому потрібно врахувати це в коді, тому що значення цього поля за замовчуванням на клієнті не буде. Приклад можна подивитися в 1С: Архів.

Ще краще використовувати тимчасове сховищедля передачі файлів між клієнтом та сервером.

Матеріал оновлено для відповідності Drupal 8.7.0+

Temp store(тимчасове сховище) – дозволяє вам тимчасово зберігати будь-які дані. Це свого роду зберігання даних у $_SESSION , оскільки це сховище прив'язується, зазвичай, до якогось користувачеві. Ось тільки $_SESSION воно не використовує і зберігає все всередині системи (БД).

У ядрі є два сервіси для тимчасового сховища tempstore.private та tempstore.shared. Вони працюють ідентично, але private завжди зберігає дані для конкретного користувача. Тобто виклик по одному ключу у приватного сховища віддаватиме різні дані для кожного користувача. Shared ж, доступний з-під кожного користувача.

Область застосування цих сервісів та його сховищ може бути дуже великою. Наприклад, зберігати якісь часові значення форм, і якщо користувач їх не зберіг, їх можна буде відновити з цього сховища, наприклад, для будь-яких форм форм REST, та й для звичайних підійде. Загалом те, на що вистачить фантазії чи завдань. Наприклад, це можна використовувати для будь-яких форм контрольованих поза Drupal, наприклад на React або Vue.

Значення в даних сховищах живуть за замовчуванням 604 800 секунд (1 тиждень), після чого автоматично видаляються.

Для того, щоб змінити це значення. Потрібно буде підключати наприклад sites/default/services.yml і в ньому перевизначити:

Parameters: # 10 секунд tempstore.expire: 10

Але такого, на добро, бути не повинно.

Давайте розглянемо можливості кожного зі сховищ, хоч вони й схожі, вони дещо відрізняються.

tempstore.private - приватне сховище

Це сховище є приватним для кожного користувача.

tempstore.shared - загальне сховище

Це сховище є спільним, і може містити загальні для всіх користувачів дані.

Сховище має такі методи:

  • get($key) : Отримує значення зі сховища за його ключем. Якщо даних немає, поверне NULL, якщо є, поверне значення.
  • getIfOwner($key) : Отримує значення зі сховища за його ключем. Якщо даних немає або дані записані не під поточного користувача, поверне NULL , якщо є і були записані з під поточного користувача, поверне значення.
  • setIfNotExists($key, $value) : Записує у сховище значення $value під ключом $key , тільки якщо на даний момент немає даних щодо цього ключа. Повертає TRUE якщо записано, FALSE якщо дані вже були.
  • setIfOwner($key, $value) : Записує у сховище значення $value під ключом $key , тільки якщо даних на даний момент немає, або власник актуальних даних є поточним користувачем.
  • set($key, $value) : Записує сховище значення $value під ключем $key .
  • getMetadata($key) : Повертає метадані для конкретного $key без даних. Це об'єкт, що містить властивість власника, в якому зберігається значення, кому належить значення, і властивість updated - unix-таймштампом часу запису цього значення.
  • delete($key) : Видаляє зі сховища дані, пов'язані з цим ключем $key .
  • deleteIfOwner($key) : Видаляє зі сховища дані, пов'язані з цим ключем $key , тільки за умови, що дані належать поточному користувачеві.

Як вони викликаються

Дрібні приклади, як їх викликати.

Насамперед виходить tempstore потрібного сховища, потім зі сховища виходить "колекція", де вже й зберігаються дані під потрібними ключами. Як правило, назва "колекції" дорівнює назві модуля.

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

приклад

У прикладі ми створимо форму на сторінці /temp-store-form із двома полями, одне з яких зберігатиме повідомлення у приватному сховищі, а інше загалом.

Створюємо форму:

Src/FormWithTempStore.php

privateTempStore = $private_temp_store->get("dummy"); $this->sharedTempStore = $shared_temp_store->get("dummy"); ) /** * (@inheritdoc) */ public static function create(ContainerInterface $container) ( return new static($container->get("tempstore.private"), $container->get("tempstore.shared") ); ) /** * (@inheritdoc) */ public function getFormId() ( return "form_with_temp_store"; ) /** * (@inheritdoc) */ public function buildForm(array $form, FormStateInterface $form_state) ( $form ["private_message"] = [ "#type" => "textarea", "#title" => $this->t("Private message"), "#required" => TRUE, "#description" => $ this->t("This value will be private for each user."), "#default_value" => $this->privateTempStore->get("message"), ]; $form["shared_message"] = [ " #type" => "textarea", "#title" => $this->t("Shared message"), "#required" => TRUE, "#description" => $this->t("This value will be shared for all users."), "#default_value" => $this->sharedTempStore->get("message"), ]; $form["actions"] = ["#type" => "actions" $form["actions"]["submit"] = [ "#type" => "submit", "#value" => $this->t("Save"), ]; return $form; ) /** * (@inheritdoc) */ public function submitForm(array &$form, FormStateInterface $form_state) ( $this->privateTempStore->set("message", $form_state->getValue("private_message")); $this->sharedTempStore->set("message", $form_state->getValue("shared_message")); ) )

Друк (Ctrl+P)

У «1С:Підприємстві» існує механізм роботи з тимчасовим сховищем, що забезпечує зберігання деяких даних, прив'язаних до сеансу.
Крім того, реалізований механізм роботи з файлами, який забезпечує обмін файлами між інформаційною базою та клієнтським додатком. Особливістю даного механізму є те, що він орієнтований на використання у тонкому клієнті та веб-клієнті та розроблений з урахуванням обмежень на роботу з файлами, що накладаються веб-браузерами.

Тимчасове сховище

Це спеціалізоване сховище інформації, до якого може бути поміщено значення. Основне призначення - це тимчасове зберігання інформації при клієнт-серверній взаємодії до її перенесення до бази даних. Механізм тимчасового сховища спільно з механізмом роботи з файлами надає набір, за допомогою якого можна помістити дані, що зберігаються локально у користувача, у тимчасове сховище інформаційної бази, перенести цю інформацію з тимчасового сховища в базу даних та отримати її назад на комп'ютер користувача. Найбільш поширені прикладні завдання, що вирішуються цими механізмами, - це зберігання супровідної інформації, наприклад, зображень товарів, пов'язаних з договорами документів і т. п. Механізми тимчасового сховища та роботи з файлами часто використовуються спільно, але можуть використовуватися окремо.
Необхідність у тимчасовому сховищі виникає, наприклад, через те, що в моделі роботи веб-браузера потрібно передати вибраний користувачем файл безпосередньо на сервер без можливості його зберігання клієнта. При передачі файлу він поміщається в тимчасове сховище і може бути використаний під час запису об'єкта у базу даних.
Можна використовувати тимчасове сховище як універсальне сховище з контрольованим часом життя даних:

1. Якщо при приміщенні даних у тимчасове сховище було виконано прив'язування даних до певної форми, час життя збережених даних залежить від тривалості життя форми, до якої прив'язані дані. При видаленні об'єкта форми тимчасове сховище буде очищено від пов'язаної з нею інформації.

2. Якщо при поміщенні даних у тимчасове сховище прив'язка до форми не була виконана, то очищення тимчасового сховища буде виконано у таких випадках:

  • За наступного запиту форми.
  • При наступному серверному виклику з загального клієнтського модуля.
  • При контекстному та неконтекстному клієнтських викликах із форми.
  • При серверному дзвінку з модуля команди. Якщо виклик сервера здійснюється для розміщення значення у тимчасове сховище, то очищення не здійснюється. Очищення здійснюється після того, як виклик закінчив свою роботу.

Тобто можна помістити одне або кілька значень у тимчасове сховище, а в наступному виклику використовувати це значення. При цьому після використання і перед тим, як серверний дзвінок буде закінчено, розміщене значення буде автоматично видалено.

Найбільш типова прикладна задача, що розв'язується тимчасовим сховищем, – забезпечення доступу до файлів або картинок до того, як об'єкт буде записаний в інформаційну базу, наприклад, у формі елемента. При організації такого доступу рекомендується передавати дані з клієнтських комп'ютерів на сервер саме як файли, без попереднього перетворення в текстовий документ, табличний документ та аналогічні формати системи 1С:Підприємство. Рекомендується передати файл на бік сервера та вже на стороні сервера завантажувати дані файлу у потрібний
формат системи "1С:Підприємство".
Дані, поміщені в сховище, ідентифікуються унікальною адресою, яку можна використовувати в операціях запису, читання або видалення. Ця адреса видає методи запису значення у тимчасове сховище. Окремий метод у вбудованій мові дозволяє визначити, чи є адресу, що передається адресою, що вказує на дані в тимчасовому сховищі.
Тимчасове сховище, сформоване в одному сеансі, недоступне з іншого сеансу. Винятком є ​​можливість передачі даних із фонового завдання у сеанс, який ініціював це фонове завдання, за допомогою тимчасового сховища.

Бурти . Найбільш прийнятний спосіб зберігання картоплі, коренеплодів та білокачанної капусти – буртування. Бурт - це довгастий насип, нахилений з двох сторін, і накритий зверху ізоляційним матеріалом. Його роблять для зберігання одержаного врожаю протягом одного сезону. Бурти бувають наземні, коли картоплю насипають на рівну поверхню, і напівназемні – коли викопують неглибокі котловани. Попуназемний (заглиблений) бурт. Для такого бурта у напрямку з півночі на південь копають котлован глибиною 25 см. Найкраща ширина котловану для насіннєвої картоплі 170-200 см. При короткочасному зберіганні здорової картоплі можна робити і більший насип (до 4 м). Довжина котловану може бути довільною, проте краще коли вона не більше 20-25 м. Висота насипу бурта при його ширині біля основи 2м може бути 90-100 см. Зазвичай картопля закладають на зберігання в декількох буртах на одному майданчику. Буртовий майданчик розміщують поблизу місць вирощування картоплі на місці, що не затоплюється дощовими і талими водами, недалеко від дороги. По центральній осі котловану риють вентиляційний канал шириною та глибиною 20-25 см. Він виходить за межі котловану і по довжині на 25 см перевищує величину покриття у торцевій частині бурта. Частину каналу, що виходить за межі котловану, щільно закривають зверху дошками, щоб у котлован та канал не потрапила земля. У наземних буртах вентиляційний канал розташовують прямо на поверхні землі і роблять його у вигляді гратчастого намету, складеного з окремих півтораметрових секцій. Щоб солома та земля не потрапляли у вентиляційний канал, кінці його роблять без щілин. Для покриття вентиляційних каналів заздалегідь готують ґратчасті секції довжиною 1,5 і шириною 0,5 м. Секція складається з планок шириною 2-3 см і просвітів між ними 2-2,5 см. Секції укладають на вентиляційний канал і скріплюють один з одним. Суцільна вентиляційна решітка, що утворюється, покриває частину каналу, розташовану під продукцією. Під час формування насипу картоплі або інших продуктів всередину поміщають буртовий термометр або спеціально виготовлені чотиригранні трубки-футляри з внутрішнім перетином 3x3 см, які вставляють термометри на кінці стрижня. Бурти вентилюють через гребінь та вентиляційний канал. Бурти вкривають соломою та землею. Солому на повну товщину укладають щільним шаром знизу нагору так, щоб перекривався гребінь бурта. Після цього бурт присипають тонким шаром землі із боків. Гребінь бурту до перших заморозків залишається під солом'яним прикриттям. У дощову погоду його тимчасово накривають руберойдом або поліетиленовою плівкою. При охолодженні картоплі до +4 ° С перед настанням стійких морозів вентиляційні канали щільно закривають соломою, а бурт повністю вкривають землею. Якщо температура у буртах знижується нижче +1°С, бурти додатково вкривають теплоізолюючими матеріалами - торфом, соломою, соломистим гноєм або снігом. При рясних снігопадах, що призводять до зайвого укриття буртів, їх періодично очищають від снігу.

Зберігання у траншеях . Для цього способу зберігання потрібно вдвічі менше соломи або інших теплоізоляційних матеріалів, ніж при зберіганні в буртах. Траншеї використовуються при глибокому заляганні ґрунтових вод. Глибина та ширина траншеї від 60-80 см (у Південних районах) до 1,5-2 м (у Сибіру). Зверху траншеї накриваються шаром соломи: у центральних районах він становить 30-40 см, у Сибіру – до 70 см. Потім насипається шар землі (від 40 до 70 см залежно від зони). Зазвичай використовують різні типи траншей: дрібні, глибокі з вентиляційними каналами, з прошарком із землею і без прошарку та звичайні. Траншеї та бурти обладнують (природною) найпростішою вентиляцією. Основне її призначення – охолодження картоплі та овочів в осінній період. Принцип дії припливно-витяжної вентиляції полягає в різниці тиску повітря, тобто. на тязі руху повітря вгору через різницю температури в штабелі продукції та зовні. Тепле повітря, як легше, йде через витяжну трубу, а холодне надходить через припливний канал. Вентиляційна система складається з припливного та витяжного каналів. Припливний канал проходить посередині основи бурта, у торцевих кінцях є виходи назовні. У буртах з картоплею та коренеплодами роблять у вигляді канавки перетином 20x20 см або 30x30 см покритою решітчастими щитами, поперечними планками або хмизом, так щоб окремі екземпляри продукції не провалювалися. Цим каналом в штабель самопливом надходить холодніше зовнішнє повітря. Нагріте повітря зі штабеля видаляється по витяжних каналах (трубах). Вони є чотиригранними коробами з дощок перетином 20x20 см або 15x15 см. У нижній частині, що проходить у шарі овочів, їх роблять гратчастими, а у верхній, що проходить через укриття, суцільними, щоб у них не потрапляла земля. Зверху на них встановлюють козирок, що оберігає продукцію від дощової води. Витяжні труби в залежності від особливостей і якості овочів, що закладаються на зберігання, встановлюють через кожні 2-4 м по довжині бурта. Одним із недоліків вертикальних витяжних труб є те, що тепле та вологе повітря відводиться тільки з прилеглих до них зон штабеля, а віддалені зони майже не охолоджуються. Біля витяжних труб затікає вода, відпотіває і підморожується продукція, тому що тут укриття виходить менш щільним та надійним. Тому використовують гребневу витяжну вентиляцію. При закладці на зберігання овочів у суху прохолодну погоду гребінь траншеї вкривають лише соломою, через яку тепле повітря видаляється. Однак такі умови бувають рідкі, часто восени стоїть дощова погода. У таких випадках встановлюють горизонтальний витяжний канал - збиті під кутом 90 ° дошки, які укладають на штабель овочів з виходом по торцях назовні. В цьому випадку траншею по гребеню можна відразу вкрити соломою та землею, не побоюючись намокання соломи та підморожування продукції. Слід лише вчасно закрити отвори торця. Перевага горизонтального витяжного гребневого каналу перед вертикальними витяжними вентиляційними трубами полягає також і в тому, що в цьому випадку тепле і вологе повітря видаляється з усього штабеля продукції рівномірно.

Яма. Найбільш просте сховище-земляна яма - призначена для зберігання, найчастіше, невеликої партії картоплі, зрідка коренеплодів. Її копають на високій ділянці з низьким рівнем ґрунтових вод. Залежно від щільності ґрунту її копають із прямими або похилими стінами. Найбільш прийнятна форма ями-кругла, однак, іноді їх роблять і прямокутними. У щільному глинистому грунті викопують яму, що формою нагадує глечик. У піщаному ґрунті цього робити не рекомендується, оскільки вона обвалюватиметься. Викопують яму таким чином: окреслюють коло діаметром 1 м і викопують горловину глека, потім, копаючи вглиб, поступово розширюють яму до ширини 2-2,5 м у діаметрі. Глибина ями-глечика повинна бути 1,5-2 м. Для запобігання потраплянню талих вод в яму навколо отвору горловини викладають валик з вийнятої глини. Таке сховище закривають кришкою, що поставлена ​​з ухилом для скочування дощової води. Добре зроблена яма-глечик служить без ремонту 30-40 років. Взимку в ній збережуться постійніші температура і вологість повітря, ніж у звичайному підвалі. Картопля в такій глечику не потіває і довго не проростає. У невеликих ямах картопля зберігають без вентиляції. У великих – встановлюють вентиляційну трубу з дощок або чотирьох колів, убитих у дно ями та обвитих солом'яним джгутом. Картоплю опускають у яму за допомогою відра. До відра прив'язують дві мотузки: одну – до дужки, а іншу – до днища. Після того як цебро досягне підлоги, натягують мотузку, прикріплену до дна. При цьому цебро перекидається і картопля висипається. Бульби за такого способу засипки не травмуються. Після заповнення ями-глечик картоплею горловину закривають соломою та кришкою. Перші два тижні картопля виділяє багато вологи при диханні, тому шар соломи не повинен бути товстим. Пізніше шар доводять до 50-70 см залежно та умовами місцевих зим.

Друк (Ctrl+P)

У цьому розділі описані найчастіші варіанти використання механізму роботи з тимчасовим сховищем та файлами.

Збереження даних із файлу в тимчасове сховище

Приміщення одного файлу

Метод ПоміститиФайл() поміщає файл із локальної файлової системи у тимчасове сховище. Метод може приймати адресу у тимчасовому сховищі, за яким потрібно зберегти файл. Якщо ж адреса не визначена або є порожнім рядком, то буде створена нова адреса та метод поверне її через спеціальний параметр.
Примітка. Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу ПоміститиФайл()
Якщо параметр, що визначає інтерактивний режим роботи, дорівнює Істина, метод відобразить стандартне діалогове вікно вибору файлу, в якому можна вибрати файл для приміщення в сховищі. У цьому випадку метод також поверне адресу вибраного файлу.
Як результат метод повертає Брехня, якщо користувач в інтерактивному режимі відмовився від здійснення операції в діалозі вибору файлу.

Розміщення набору файлів

Метод ПоміститиФайли()поміщає у тимчасове сховище кілька файлів за один дзвінок. Існує кілька різних способів використання цього методу:
● попередньо сформувати список файлів, що додаються, наприклад, коли попередньо вибрав файли, які необхідно помістити в інформаційну базу;
● передати в метод маску пошуку файлів, наприклад, коли потрібно помістити в інформаційну базу всі файли певного виду, наприклад, всі картинки;
● передати в метод попередньо підготовлений об'єкт ДіалогВиборуФайлуу режимі відкриття файлів.
Після закінчення роботи метод може повернути список реально доданих файлів.

// СписокФайлів – реквізит форми типу СписокЗначень,
// містить список файлів, що додаються
МасивФайлів = Новий Масив;
Для кожного ЕлементСписку З СписокФайлів Цикл
МасивФайлів.Додати(Новий ОписПередаєтьсяФайлу(ЕлементСписку,));
КінецьЦикл;
Поміщені файли= Новий Масив;
Результат = ПоміститиФайли (МасивФайлів, ПоміщеніФайли, Брехня, УнікальнийІдентифікатор);

Примітка 1. Для використання методу ПоміститиФайли()веб-клієнт потребує підключення розширення роботи з файлами.
Примітка 2. Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу ПоміститиФайли(), не повинен перевищувати 4 Гб (у серіалізованому вигляді).

Приміщення даних у тимчасове сховище

Метод схожий з методом ПоміститиФайл() , за винятком того, що дані для запису в тимчасове сховище
представляються над вигляді шляху у файлової системі, а вигляді значення. Так само, якщо не вказана існуюча адреса в тимчасовому сховищі, створюється нова адреса. Адреса повертається як наслідок функції. Так само як і для файлів, розміщені дані обов'язково належать до будь-якої форми і автоматично видаляються після її видалення.
Примітка.Обсяг даних, що переміщуються між клієнтом та сервером, за один виклик методу ПоміститиВчаснеСховище(), не повинен перевищувати 4 Гб (у серіалізованому вигляді).
Увага!При приміщенні в тимчасове сховище фактичної серіалізації значення не виконується. Поміщається посилання на значення, яке зберігається в кеші протягом 20 хвилин. Після закінчення цього періоду значення серіалізується, записується на диск (сховище сеансових даних) і видаляється з кеша.

Отримання даних із тимчасового сховища

При записі об'єкта в інформаційну базу може знадобитися витягти дані з тимчасового сховища та помістити їх, наприклад, у реквізит об'єкта інформаційної бази. Для цього існує спеціальний метод – отримати з Тимчасового Сховища (). Цей метод витягує дані з тимчасового сховища і повертає їх як результат виконання. Для отримання даних необхідно вказати адресу в тимчасовій
сховище. Ця адреса повертає методи розміщення даних у тимчасове сховище у разі їх успішного виконання (див. попередні розділи).
Увага!При отриманні на сервері значення тимчасового сховища слід враховувати те, що воно виходить за посиланням. Насправді, це посилання вказує на значення, яке зберігається в кеші. Протягом 20 хвилин, з моменту приміщення в сховищі або з моменту останнього звернення, значення збережеться в кеші, а потім записується на диск і видаляється з кешу. У разі наступного звернення значення завантажується з диска і знову поміщається в кеш.
Після десеріалізації та відновлення значення із тимчасового сховища посилання не відновлюються. Значення у кеші відновлюється з диска. Але після серіалізації/десеріалізації відновити посилання на інші об'єкти всередині значення неможливо.

Видалення даних із тимчасового сховища

Після того, як дані збережені у реквізиті об'єкта інформаційної бази, дані у тимчасовому сховищі можна видалити. Для цього є метод
ВидалитиЗ ТимчасовогоСховища(),який здійснює видалення. Метод приймає у параметрі адресу у тимчасовому сховищі.

Перевірка адреси на належність тимчасовому сховищу

Адреса може вказувати як у тимчасове сховище, і на реквізит інформаційної базі. Для перевірки його типу існує метод
ЦеАдрес ТимчасовогоСховища().Він перевіряє, що передана адреса є адресою, що вказує на сховище. Повертає Істина, якщо адреса вказує на тимчасове сховище.

Отримання адреси реквізиту

Після того, як дані поміщені в реквізит об'єкта інформаційної бази, може знадобитися отримати доступ до них за допомогою файлових методів.
Але перш ніж отримати дані, наприклад, з реквізиту, необхідно отримати адресу цього реквізиту. Для цього існує метод ОтриматиНавігаційнеПосилання().

Він може повернути адресу значення в базі даних за вихідними параметрами. Для цього необхідно передати ключ об'єкта (це може бути
як посилання на об'єкт, так і ключ запису регістра відомостей) та ім'я реквізиту. Якщо потрібно отримати адресу значення, що зберігається у реквізиті
табличній частині, то до імені реквізиту в параметрі, що задає ім'я реквізиту, необхідно додати ім'я табличної частини та точку ".". Наприклад: Товари.Зображення

Отримання файлу з інформаційної бази

Отримання одного файлу

Метод ОтриматиФайл() отримує файл з інформаційної бази та зберігає його у локальну файлову систему користувача. Перший параметр визначає адресу файлу у реквізиті об'єкта інформаційної бази або у тимчасовому сховищі файлів. Збереження не станеться, якщо користувач, від імені якого виконується операція, не має права Перегляд на реквізит об'єкта інформаційної бази. Другий параметр визначає місце збереження одержуваного файлу. У неінтерактивному режимі потрібно вказати шлях. В інтерактивному режимі параметр
опціональним.
За промовчанням метод виконується в інтерактивному режимі. Це означає, що буде сформовано діалогове вікно, в якому можна вказати дію з отриманим файлом: запустити його або зберегти місце файлової системи в зазначене користувачем. Якщо вибрано інтерактивний режим, а параметр Ім'я файлу не вказано, операція відкриття файлу недоступна. Метод повертає значення типу Бульова. Брехня означає, що користувач вибрав скасування операції у діалоговому вікні збереження файлів в інтерактивному режимі.

Отримання набору файлів

Метод ОтриматиФайли() дозволяє отримати та зберегти у локальній файловій системі користувача кілька файлів, що зберігаються в інформаційній базі. Як параметр передається список файлів, що вивантажуються.

// Список файлів – список значень, що містить посилання на елементи
// довідника, в якому розташовані файли, що вивантажуються
// Поданням списку значень є ім'я файлу, що вивантажується
МасивФайлів = Новий Масив;
Для кожного ЕлементСписку З СписокФайлів Цикл
Файл = Новий Файл(Рядок(ЕлементСписку.Значення));
Файл = Новий ОписФайла, що передається;
ОтримуванийФайл.Ім'я = Елемент Списку. Подання;
Отриманий Файл.= П одержатиНавігаційнеПосилання(ЕлементСписку.Значення, “Дані”);
МасивФайлів.Додати(ОтримуванийФайл);
КінецьЦикл;
ОтриманіФайли= Новий Масив;
Результат = ОтриматиФайли(МасивФайлів, ОтриманіФайли, ШляхВивантажуванихФайлів, Брехня);
Якщо НЕ Результат
Повідомлення = Новий ПовідомленняКористувачу;
Повідомлення.Текст = "Помилка отримання файлів!";
Повідомлення.Повідомити();
КінецьЯкщо ;

Після закінчення роботи метод може повернути список реально вивантажених файлів із зазначенням повного імені кожного збереженого файлу.
ПРИМІТКА. Для використання методу Отримати Файли() у веб-клієнті потрібне підключення розширення роботи з файлами. Якщо властивість Ім'я об'єкта ОписПередаєтьсяФайлумістить абсолютний шлях до файлу, файл буде збережений цим шляхом, без урахування параметра РозташуванняФайлів.
Як параметр Розташування Файлів може бути шлях у локальній файловій системі, або об'єкт Діалог Вибору Файлів у режимі вибору каталогу або збереження файлів. Якщо значення параметра РозташуванняФайліввказаний об'єкт ДіалогВиборуФайлівв режимі
збереження файлів, то:

● діалог буде викликатися для кожного файлу, що передається, крім тих файлів, для яких властивість Ім'я об'єкта ОписПередаєтьсяФайлу містить абсолютний шлях;
● як початкове ім'я файлу в діалозі буде використовуватися значення властивості Ім'я об'єкта ОписПередаваемогоФайла;
● якщо для будь-якого файлу буде обрано відмову від збереження, то властивість Ім'я об'єкта ОписПереданогоФайлу міститиме порожній рядок;
● метод ОтриматиФайли() поверне значення Істина, якщо хоча б один файл отримано успішно;
● слід враховувати, що власне отримання файлів виконується після того, як користувач відповість на запитання щодо вказівки імені та шляху
всіх одержуваних файлів;
● якщо у користувача, від імені якого виконується метод Отримати Файли(), немає права Перегляд хоча б на один реквізит об'єкта інформаційної бази, звідки виконується отримання файлів – невдачею завершиться вся операція.
Приклад:

Файли, що передаються = Новий Масив;
Опис = Новий ОписПередаєтьсяФайлу("Опис", АдресаФайлу);
Файли, що передаються.Додати(Опис);
ВибірФайлу = Новий ДіалогВиборуФайлу(РежимДіалогуВиборуФайлу.Збереження);
Вибір Файлу.Заголовок= "Збереження архіву";
Вибір файлу. Розширення= "zip";
ВибірФайлу.Фільтр= "Архів(*.zip)|*.zip|Всі файли|*.*";
Вибір Файлу. Індекс Фільтра = 0;
ОтриматиФайли(Передаються Файли, ВибірФайлу, Брехня);

Якщо вибрано інтерактивний режим вибору каталогу збереження файлів, веб-клієнт додатково запитуватиме дозвіл на збереження файлів, вказаних з абсолютними шляхами. У разі неінтерактивного збереження (шлях до каталогу вказаний у відповідному параметрі) запит буде виконано для всього списку файлів, що зберігаються.

Приклад використання файлових методів

// Отримання в інтерактивному режимі файлу з диска
// і його у тимчасове сховище.
&На Клієнті
Процедура ВибратиФайлСДискаІЗаписати()
Перем ВибранеІм'я;
Перем Адреса ТимчасовогоСховища;
Новий Об'єкт = Об'єкт. Посилання. Порожня ();
Якщо ПоміститиФайл(Адрес ТимчасовогоСховища, “”, Вибране Ім'я, Істина)Тоді
Об'єкт.Ім'яФайла = ВибранеІм'я;
ПоміститиФайлОбъекта(Адрес ТимчасовогоСховища);
КінецьЯкщо;
КінецьПроцедури
// Копіювання файлу з тимчасового сховища до реквізиту
// Довідник, запис об'єкта, видалення файлу з тимчасового
// Сховища.
&На сервері
Процедура ПоміститиФайлОб'єкта(АдресиТимчасовогоСховища)
ЕлементДовідника = РеквізитФормиЗначення("Об'єкт");
ДвійковіДані = Отримати З Тимчасового Сховища (Адрес Тимчасового Сховища);
ЕлементДовідника.ДаніФайла= Новий СховищеЗначення(ДвійковіДані, Новий СтисненняДаних()) ;
Файл = Новий Файл (Елемент Довідника. Ім'я Файлу);
ЕлементДовідника.Ім'яФайла = Файл.Ім'я;
ЕлементДовідника.Записати();
Модифікованість = Брехня;
Видалити З Тимчасового Сховища (Адрес Тимчасового Сховища);
Значення ВРеквізит Форми (Елемент Довідника, "Об'єкт");
КінецьПроцедури
// Зчитування файлу з реквізиту та збереження його
// На локальному диску в інтерактивному режимі.
&На Клієнті
Процедура ПрочитатиФайлІЗберегтиНаДиск()
Адреса = ОтриматиНавігаційнеПосилання(Об'єкт.Посилання,"ДаніФайлу");
Отримати Файл (Адреса, Об'єкт. Ім'я Файлу, Істина);
КінецьПроцедури

Дозвіл на виконання групи операцій із файлами

Під час виконання деяких операцій у веб-клієнті може знадобитися дозвіл на кілька операцій роботи з файлами.
Наприклад, необхідно виконати отримання документа з інформаційної бази, а потім відкрити збережений документ за допомогою асоційованого додатка.
Для виконання цієї операції потрібно буде відповідати на питання про збереження документа та на питання про необхідність запуску. Якщо операцій буде більше, запитань користувачеві також побільшає.
Для зменшення кількості питань можна скористатися методом. При використанні цього методу
користувачеві відображається список усіх операцій, які планується виконати, і пропонується дозволити виконання групи операцій. Якщо користувач дозволив виконання, запитані операції будуть виконуватися без додаткових запитів користувачеві. Якщо дозвіл не надано, операції будуть виконуватися у звичайному режимі: один запит на одну операцію.
ПРИМІТКА. Для використання методу ЗапитатиДозвол Користувача()у веб-клієнті потрібно підключити розширення роботи з файлами.
Розглянемо приклад використання методу:

Якщо ПідключитиРозширенняРоботиСФайлами()Тоді
Посилання = ОтриматиНавігаційнеПосилання(Об'єкт.Посилання, “ДаніФайлу”);
// Формування опису переданих файлів (у разі файл один)
Файли, що передаються= Новий Масив;
Опис = Новий ОписПередаєтьсяФайла(Об'єкт.Ім'яФайлу, Посилання);
ПереданіФайли.Додати(Опис);
// Готуємо об'єкт для отримання інформації про отримані файли
НадісланіФайли= Новий Масив;

// Визначаємо інші параметри методів
КаталогЗбереження= "c: \ temp";
Інтерактивно = Брехня;
Ім'яНаданогоФайлу = КаталогЗбереження + "\" + Об'єкт.Ім'яФайлу;
// Готуємо опис методів отримання дозволів
Методи = Новий Масив;

Методи.Додати(“ОтриматиФайли”);
Методи.Додати(Передаються Файли);
Методи.Додати(ПереданіФайли);
Методи.Додати(КаталогЗбереження);
Методи.Додати(Інтерактивно);
Методи.Додати(Новий Масив);
Методы.Добавить(“Запустити Додаток”);
Методи.Додати(Ім'яПереданогоФайлу);
Якщо не ЗапроситиДозвол Користувача(Методи)Тоді
Попередження (“Користувач відмовив у дозволі”);
Повернення;
КінецьЯкщо;
ОтриматиФайли(Передаються Файли, ПереданіФайли, КаталогЗбереження, Інтерактивно);
ЗапуститиДодаток(Ім'яПереданогоФайлу);
Інакше
Попередження(“Виконання не підтримується. Не встановлено розширення роботи з файлами.”);
КінецьЯкщо;

Слід зазначити кілька особливостей застосування методу ЗапитатиДозвол Користувача().

1. Дозвіл запитується тільки для наступних методів:

ОтриматиФайли()/ПочатиОтриманняФайлів(),
● ПоміститиФайли()/ПочатиПриміщенняФайлів(),
● ЗнайтиФайли()/ПочатиПошукФайлів(),
● КопіюватиФайл()/ПочатиКопіюванняФайлу(),
● ПереміститиФайл()/ПочатиПереміщенняФайлу(),
● ВидалитиФайли()/ПочатиВидаленняФайлів(),
● СтворитиКаталог()/ПочатиСтворенняКаталогу(),
● ЗапуститиПрограму()/ПочатиЗапускПрограми().

2. Роздільна здатність запитується для конкретного набору параметрів методу. Якщо при реальному виконанні методу роботи з файлами значення параметрів відрізнятимуться від тих, для яких отримано дозвіл, цей дозвіл не діятиме і користувач отримає окремий запит на підтвердження виконання операції.

3. Якщо необхідно виконати дві (або більше) однакові операції з файлами (навіть з однаковим набором параметрів), слід зазначити відповідну кількість елементів у масиві параметрів методу ЗапитатиДозвол Користувача(). Наприклад, якщо необхідно двічі отримати з інформаційної бази той самий файл і помістити його у фіксоване місце файлової системи, слід запитати дозвіл
дві операції.

4. Якщо запит на дозвіл на операцію, при виконанні якої виконується інтерактивна операція (наприклад, функції ОтриматиФайли() як параметр передається об'єкт ДіалогВиборуФайлу), то така операція виключається із запиту.

Отримані дозволи зберігаються або до виконання дозволеного дзвінка, або до завершення вбудованої мови.
ПРИМІТКА. У товстому та тонкому клієнтах ЗапитатиДозвол Користувача()метод завжди повертає значення Істина без взаємодії з користувачем.

Робота з тимчасовим сховищем у фоновому завданні

У механізмі роботи з тимчасовим сховищем можна передати дані з фонового завдання в сеанс, який ініціював фонове завдання.
Для такої передачі слід у батьківському сеансі помістити в тимчасове сховище порожнє значення (за допомогою методу ПоміститиВчаснеСховище()), вказавши будь-який ідентифікатор створюваного тимчасового сховища (параметр Адреса). Потім отриману адресу передати до фонового завдання через параметри фонового завдання. Далі, якщо у фоновому заданні цю адресу використовувати як значення параметра Адреса методу ПоміститиВРім'янеСховище()результат буде скопійовано в сеанс, з якого було запущено фонове завдання.
Дані, поміщені у тимчасове сховище у фоновому заданні, не будуть доступні з батьківського сеансу до завершення фонового завдання.

Підтримка адрес у полі картинки

Елемент форми Поле виду Поле зображення підтримує відображення картинки, заданої адресою значення (яке може бути картинкою або двійковими даними) у тимчасовому сховищі або базі даних.
Для цього у властивості Дані елемента форми необхідно встановити реквізит рядкового типу. Значення цього реквізиту інтерпретуватиметься як адресу картинки.

// Приклад 1
// Прив'язка поля картинки до адреси картинки у часовому
// Сховище. АдресаКартинки – реквізит форми рядкового типу
ПоміститиФайл(АдресаМалюнки, Вихідне Ім'я, Вибране Ім'я, Істина, Унікальний Ідентифікатор);
// Приклад 2
// Отримання адреси картинки з реквізиту об'єкта
// інформаційної бази
ФайлКартинки = Об'єкт.ФайлКартинки;
Якщо Не ФайлКартинки.Порожня() Тоді
АдресаКартинки = ОтриматиНавігаційнеПосилання(ФайлКартинки, “ДаніФайлу”);
Інакше
АдресаКартинки = "";
Концеслі;

Доступ до стандартних каталогів

При використанні системи потрібно деяке місце у файловій системі, де можна зберігати різні файлові дані, які, з одного боку, є тимчасовими, а з іншого – повинні зберігатися досить тривалий час. До таких файлів можна віднести чернетки для систем керування документообігом, зовнішні компоненти, що працюють на стороні клієнтського комп'ютера і т.д.
Для зберігання таких файлів призначений спеціальний каталог, прив'язаний до конкретного користувача конкретної інформаційної бази.
Один і той самий користувач, який працює з двома інформаційними базами, матиме доступ до двох різних каталогів зберігання даних користувача. Розташування даного каталогу визначається за допомогою методу РобочийКаталогДанихКористувача(). Якщо каталог відсутній, він створюється при першому зверненні до нього. Якщо створення каталогу неможливе – система викликає виняток.
ПРИМІТКА. Метод РобочийКаталогДанихКористувача()не доступний на стороні сервера.
Операційна система має спеціальний каталог, виділений для постійного зберігання даних користувача. Це можуть бути якісь
звіти, друковані форми документів і т. д. У цей каталог поміщаються дані, які надалі можуть бути надіслані зовнішнім
споживачам. Для доступу до цього каталогу призначено метод Каталог документів (). Фізичне розташування каталогу залежить від операційної
системи, де виконується додаток та наведено у синтакс-помічнику.