20.1 Временное хранилище

Печать (Ctrl+P)
В «1С:Предприятии» существует механизм работы с временным хранилищем, обеспечивающий хранение некоторых данных, привязанных к сеансу.
Кроме того, реализован механизм работы с файлами, который обеспечивает обмен файлами между информационной базой и клиентским приложением. Особенностью данного механизма является то, что он ориентирован на использование в тонком клиенте и веб-клиенте и разработан с учетом ограничений на работу с файлами, накладываемых веб-браузерами.

Временное хранилище

Это специализированное хранилище информации, в которое может быть помещено значение. Основное назначение – это временное хранение информации при клиент-серверном взаимодействии до ее переноса в базу данных. Механизм временного хранилища совместно с механизмом работы с файлами предоставляет набор, с помощью которого можно поместить данные, хранящиеся локально у пользователя, во временное хранилище информационной базы, перенести эту информацию из временного хранилища в базу данных и получить ее обратно на компьютер пользователя. Наиболее распространенные прикладные задачи, решаемые этими механизмами, – это хранение сопроводительной информации, например, изображений товаров, связанных с договорами документов и т. п. Механизмы временного хранилища и работы с файлами часто используются совместно, но могут использоваться и по отдельности.
Необходимость во временном хранилище возникает, например, из-за того, что в модели работы веб-браузера требуется передать выбранный пользователем файл непосредственно на сервер без возможности его хранения на клиенте. При передаче файла он помещается во временное хранилище и потом может быть использован при записи объекта в базу данных.
Можно использовать временное хранилище как универсальное хранилище с контролируемым временем жизни данных:

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

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

  • При следующем запросе формы.
  • При следующем серверном вызове из клиентского общего модуля.
  • При контекстном и неконтекстном клиентских вызовах из формы.
  • При серверном вызове из модуля команды. Если вызов сервера осуществляется для помещения значения во временное хранилище, то очистка не производится. Очистка производится после того, как вызов закончил свою работу.

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

Наиболее типичная прикладная задача, решаемая временным хранилищем, – обеспечение доступа к файлам или картинкам до того, как объект будет записан в информационную базу, например, в форме элемента. При организации такого доступа рекомендуется передавать данные с клиентских компьютеров на сервер именно как файлы, без предварительного «преобразования» в текстовый документ, табличный документ и аналогичные форматы системы «1С:Предприятие». Рекомендуется передать файл на сторону сервера и уже на стороне сервера загружать данные файла в нужный
формат системы «1С:Предприятие».
Данные, помещенные в хранилище, идентифицируются уникальным адресом, который в дальнейшем можно использовать в операциях записи, чтения или удаления. Этот адрес выдают методы записи значения во временное хранилище. Отдельный метод во встроенном языке позволяет определить,является ли переданный адрес адресом, указывающим на данные во временном хранилище.
Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса. Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший это фоновое задание, с помощью временного хранилища .

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *