1с временное хранилище

Давно я как-то не работал с временным хранилищем в 1с. И вот сегодня решил освежить свои знания по этому вопросы, а это значит что будет новая заметка о том, как работать с временным хранилищем в 1с! Итак, приступим.

Временное хранилище – это некий контейнер, хранилище со значением, время жизни которого мы можем контролировать! При выполнении каких-либо действий в клиент-серверном варианте, мы можем временно поместить наше значение во временное хранилище, а чуть позже достать его, когда это будет необходимо.

Давайте сразу рассмотрим пример, из которого мы сможем вынести основные моменты теории. Поместим в хранилище значений массив с данными на сервере, а затем на клиенте получим их. За пример возьмем обработку (кнопка на скачку в конце статьи), с двумя командами и реквизитом формы ‘Адрес‘ / ‘Строка‘:

Работа с временным хранилищем.

Все просто с помощью глобального контекста ‘ПоместитьВоВременноеХранилище’ мы помещаем данные в хранилище и получаем адрес, по которому мы в дальнейшем можем к нему обращаться. С помощью глобального контекста ‘ПолучитьИзВременногоХранилища’ мы по ранее полученному адресу считываем наше значение.

Второй параметр помещения во временное хранилище ‘АдресПомещения’ очень важен, так как от него будет зависеть время жизни нашего временного контейнера. Значение доступно только в рамках сеанса. Исключением могу быть фоновые задания, вызванные из текущего сеанса. Рассмотрим все варианты, которые мне пришли в голову:

Хорошая теория про время жизни есть на сайте итс. Как мы видим из кода, есть несколько вариантов работы с хранилищем и нужно выбирать наиболее оптимальный для каждой задачи. Так стоит обратить, что я здесь использую глобальный контекст ‘ЭтоАдресВременногоХранилища’, который проверяет корректность адреса. Это не обязательно, но все же если ест такая возможность, то почему бы не использовать её.

Давайте рассмотрим еще пару каких-нибудь интересных практических задач, с которыми легко справится временное хранилище. Допустим мы на клиенте работает с файлом и хотим его передать на сервер, что бы там обработать. Это легко можно сделать, используя временное хранилище. Вот один из примеров:

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

Так же в типовых конфигурациях огромное количество алгоритмов, связанных с длительными операциями (фоновые задания), работает с временным хранилищем, к примеру обработка ‘КлиентБанк’:

Я думаю сделать отдельно статью на эту тему и написать простой пример по работы с временным хранилищем в фоновом задании – пишите в комментариях если интересно!

Еще как вариант в моей статье ‘Обработка СКД‘ я так же использовал временное хранилище для хранения адреса системы компоновки данных (с начала получаем его, а потом в любой момент при нужном действии используем):

В общем вариантом интересных много, ищите оптимальные и используйте.

А здесь вроде все – данной заметки хватит для выполнения простых действий с временным хранилищем!

Скачать файлыcraft1c_VremennoeHranilishhe.epf

7+

Оставить комментарий

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