Хранилище значений 1С
ХранилищеЗначения (хранилище значений 1С) – это объект в языке 1С, который позволяет хранить в базе данных прочие значения, например картинки и файлы, структуры и таблицы значений.
передать структуру настроек отчета и поместить в реквизит Документа = тип("ХранилищеЗначений")
Настройки = Новый Структура();
Настройки.Вставить("ПоУмолчанию", Истина);
Настройки.Вставить("Наименование", "Наименование1");
Хранилище = Новый ХранилищеЗначения(Настройки, Новый СжатиеДанных(9));
ЗначениеВФайл("C:\", Хранилище);
Цитата(sava1 @ 13.02.20, 14:40)
!! ссылка существует только пока существует форма или до следующего серверного вызова
просто при помощи временного хранилища передаются из одной формы в другую, вариант использования (можно и другими):
пример из рабочего документа: в основной форме кнопка для заполнения данных (коды ТНВЭД), в доп. форму передаются необходимые данные, назад возвращается адрес временного хранилища с результатом заполнения.
1. Основная форма. Открытие вспомогательной формы
&НаКлиенте
Процедура КомандаЗаполнениеКодовТНВЭД(Команда)
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("АдресТаблицыКодовТНВЭД", ПолучитьАдресТаблицыДляЗаполненияКодовТНВЭД());
ОбработкаОповещения = Новый ОписаниеОповещения("ПрименитьЗаполненныеКодыТНВЭДИВес", ЭтаФорма);
ОткрытьФорму("Документ.ЗагрузкаДанныхОтПоставщика.Форма.ФормаЗаполненияКодаТНВЭДИВеса", СтруктураПараметров, ЭтаФорма,,,, ОбработкаОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры
2.Вспомогательная форма. Заполнение и возврат адреса на результат заполнения
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КодыТНВЭД.Загрузить(ПолучитьИзВременногоХранилища(Параметры.АдресТаблицыКодовТНВЭД));
...
КонецПроцедуры
...
&НаКлиенте
Процедура ПеренестиИзменения(Команда)
Закрыть(ПолучитьАдресТаблицыКодовТНВЭД());
КонецПроцедуры
&НаСервере
Функция ПолучитьАдресТаблицыКодовТНВЭД()
тзКоды = КодыТНВЭД.Выгрузить();
Возврат ПоместитьВоВременноеХранилище(тзКоды);
КонецФункции
3. Основная форма. Обработка полученного результата из вспомогательной формы
&НаСервере
Процедура ПрименитьЗаполненныеКодыТНВЭДИВес(АдресРезультата, ДополнительныеПараметры=Неопределено)
Если НЕ ЭтоАдресВременногоХранилища(АдресРезультата) Тогда
Возврат;
КонецЕсли;
тзДанные = ПолучитьИзВременногоХранилища(АдресРезультата);
...
КонецПроцедуры
Сообщение отредактировал fly - 13.02.20, 15:18