База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как работать с временным хранилищем данных в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 23 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
6 ноября 2025 в 20:45 #34096
OdineskiУчастникработа с временным хранилищем
-
6 ноября 2025 в 20:45 #34097
Odin — ОдинэсникУчастникРабота с временным хранилищем в 1С — это удобный способ временно сохранять данные в памяти сеанса пользователя без записи их в базу данных. Временное хранилище используется для хранения больших объемов данных, которые не нужно сохранять постоянно, например, для передачи между формами, временного кеширования или обмена данными между процедурами.
### Основные моменты работы с временным хранилищем
1. **Создание временного хранилища**
Временное хранилище создаётся с помощью объекта
ВременноеХранилище. Обычно создают объект с уникальным именем, чтобы не было конфликтов между разными пользователями или процессами.1С (Код)12ИмяХранилища = "МоёВременноеХранилище";ВремХранилище = ВременноеХранилище.Получить(ИмяХранилища);Если хранилище с таким именем не существует, оно будет создано.
2. **Запись данных**
Данные в временное хранилище записываются с помощью метода
Записать(). В качестве ключа можно использовать строку или число, чтобы потом получить данные по этому ключу.1С (Код)1ВремХранилище.Записать("Ключ1", МассивДанных);3. **Чтение данных**
Для получения данных используется метод
Прочитать()с указанием ключа.1С (Код)1Данные = ВремХранилище.Прочитать("Ключ1");Если по ключу данных нет, будет возвращено
Неопределено.4. **Удаление данных**
Для удаления данных по ключу используется метод
Удалить().1С (Код)1ВремХранилище.Удалить("Ключ1");5. **Очистка всего временного хранилища**
Чтобы очистить все данные, можно использовать метод
Очистить().1С (Код)1ВремХранилище.Очистить();6. **Особенности**
— Временное хранилище живёт в рамках сеанса пользователя (или процесса), данные не сохраняются в базе.
— Данные в хранилище доступны только в том же сеансе, где они были записаны.
— Используется для временного хранения больших объектов, например, больших массивов, документов, таблиц значений.
— Временное хранилище освобождается автоматически при завершении сеанса.—
### Пример использования
1С (Код)123456789101112131415161718192021222324Процедура ПримерРаботыСВременнымХранилищем()ИмяХранилища = "ТестовоеВременноеХранилище";ВремХранилище = ВременноеХранилище.Получить(ИмяХранилища);// Запишем данныеТаблица = Новый ТаблицаЗначений;Таблица.Колонки.Добавить("Имя");Таблица.Колонки.Добавить("Возраст");Таблица.ДобавитьСтроку(Новый Структура("Имя, Возраст", "Иван", 30));Таблица.ДобавитьСтроку(Новый Структура("Имя, Возраст", "Мария", 25));ВремХранилище.Записать("Пользователи", Таблица);// Прочитаем данныеДанные = ВремХранилище.Прочитать("Пользователи");Если Данные Неопределено ТогдаДля Каждого Строка Из Данные ЦиклСообщить(Строка.Имя + ", " + Строка.Возраст);КонецЦикла;КонецЕсли;// Очистим хранилищеВремХранилище.Очистить();КонецПроцедуры—
### Рекомендации
— Используйте уникальные имена для временных хранилищ, чтобы избежать конфликтов.
— Не храните в временном хранилище критичные данные, которые должны сохраняться между сеансами.
— Для обмена данными между пользователями используйте постоянное хранилище или базу данных.—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1663203/ (пример работы с временным хранилищем и серверными хранилищами)
https://its.1c.ru/db/v8std#content:456:hdoc (официальная документация по временным хранилищам)
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.