Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 20:46

Не могу понять как работать со временным хранилищем

Автор bsn-chita, 13 мар 2017, 02:12

0 Пользователей и 1 гость просматривают эту тему.

bsn-chita

Изучаю 1С и прочел о временном хранилище. Решил попробовать, но не получается.
Дано Справочник и 2 управляемые формы(Форма Элемента и Форма Списка). Хочу при выборе в Форме Списка хранить во временном хранилище наименование выбранной позиций, а в открывшейся Форме Элемента уже использовать это значение(не важно зачем и для чего пример для тренировки).
В форме списка создаю событие:

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
АдресВХ = ПоместитьВоВременноеХранилище(ВыбраннаяСтрока,Новый УникальныйИдентификатор());
Сообщить(ПолучитьИзВременногоХранилища(АдресВХ));
КонецПроцедуры

В этом случае все работает и в сообщении выходит наименование моего выбранного элемента.
На Форме Элемента создаю событие:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Сообщить(ПолучитьИзВременногоХранилища(АдресВХ));
КонецПроцедуры

И получаю сообщение об ошибке:

{Справочник.КомпьютернаяТехника.Форма.ФормаЭлементаУпр.Форма(14,41)}: Переменная не определена (АдресВХ)
Сообщить(ПолучитьИзВременногоХранилища(<<?>>АдресВХ)); (Проверка: Сервер)

Я думал что с помощью временного хранилища смогу передавать переменные между формами, но на практике пока ни чего не вышло.

bsn-chita

Начнем издалека. Возможно с помощью хранилища передать информацию из одной части кода в другую?

LexaK

Цитата: bsn-chita от 15 мар 2017, 07:04
Начнем издалека. Возможно с помощью хранилища передать информацию из одной части кода в другую?

начнем еще дальше! а зачем такие выкрутасы, данные просто передаются через переменную!
(при этом надо учитывать что на тонком клиенте не все типы данных доступны, так их в этом случае и передавать/возвращать на тонкий клиент не надо)
если помогло нажмите: Спасибо!

bsn-chita

Цитата: LexaK от 15 мар 2017, 09:15а зачем такие выкрутасы, данные просто передаются через переменную
Я только начал изучать и пробую разное. Если есть более правильный подход то расскажите о нем. Не охото выдумывать велосипед там где он не нужен(можно думаю и фаил на диске создать и в него сохранять разное, но как по мне это костыли уже и не нужно этого).


LexaK


для начала изучения, вот самая правильная передача данных

А = 100; //переменной А присвоили значение 100 может быть любое другое

КакаяТоПроцедура( А );
//значение 100 передали в процедуру,
//в процессе обработки процедура через эту переменную передаст другое значение
//вот вам пример передачи данных "из одной части кода в другую"

Сообщить(А); //теперь в переменной А значение 200

где-то описана процедура
Процедура КакаяТоПроцедура( Парам ) //в парам ваше значение 100
Парам  = 200; //внутри процедуры, другого кода присвоили новое значение   

Вроде все просто! Вы с этим разберитесь сначала!

временное хранилище - это уже для продвинутых программистов)
если помогло нажмите: Спасибо!

Серхио

UP. Тот же самый вопрос что у сабжа. Ответы в стиле "Зачем Вам Самара езжайте в Питер" и глубокофилософский "а ты сам подумай"  - не понял.

wise

(0) в Вашей процедуре ПриСозданииНаСервере на самом сервере НИКОМУ не известна переменная "АдресВХ". её МОЖНО передать ТУДА параметром и анализировать входящие параметры...
   Если Параметры.Свойство("АдресВХ") Тогда
Объект.Комментарий = ПолучитьИзВременногоХранилища(Параметры.АдресВХ);
КонецЕсли;

Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск