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

Помогите с обменом данными между управляемыми формами

Автор roman01, 21 окт 2021, 18:34

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

roman01

Доброго дня, уважаемые!

Бьюсь с данной проблемой второй день и не могу найти решения - сказывается отсутствие опыта и недостаток знаний.
Решил попросить помощи у сообщества.

Проблема следующая:
есть документ - Заявки
у него 2 формы - форма документа и форма списка

Формы использую управляемые, без модальности.

Мне нужно как-то обмениваться данными между этими формами.

То есть, работаю в форме списка, нажал на кнопку - сохранил некоторое значение (Значение).

Далее открываю форму документа - и мне нужно получить это значение.

Как это сделать?

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

Вижу 2 варианта:
1. глобальная переменная - но как передать ее значение между формами? Ответа не нашел. Может кто подскажет...
2. Использовать временное хранилище, но тут загвоздка следующего плана: в хранилище данные-то я запищу и адрес получу, но как передать адрес другой форме? Опять замкнутый круг.

Уже думаю, не сохранить ли данные во временный файл - но как-то это не правильно...

Посоветуйте, как решить данный вопрос

Спасибо!

roman01

Слушайте, стоит попросить помощи, как решение открывается само по себе...

Использовал механизм "Параметры сеанса".

Проблема, вроде бы, решена

roman01

Описываю решение, вдруг такие же как я новички, споткнутся на этом:
1. Общие - Параметры сеанса - добавить (например, ТекущийПользователь)
2. Установить тип
3. Где-нибудь в коде запишем значение:
ПараметрыСеанса.ТекущийПользователь = "111";

4. В другом месте, можно прочитать:
&НаСервере
Функция Вывести()
Возврат ПараметрыСеанса.ТекущийПользователь;
КонецФункции

Запись и чтение возможна только в процедурах или функция, объявленных &НаСервере

Вот, вроде бы и все...

nvj84

Например вот так и смотрим ПриСозданииНаСервере параметр.
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("Ключ", ВыбраннаяСтрока);
СтруктураПараметры.Вставить("ОченьВажныйПараметр", Истина);
ОткрытьФорму("Документ.Заявки.Форма.ФормаДокумента",СтруктураПараметры);
КонецПроцедуры
Или же создаем на форме списка реквизит и далее в форме документа ПриОткрытии смотрим ВладелецФормы.ИмяРеквизитаСДанными
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("Ключ", ВыбраннаяСтрока);
ОткрытьФорму("Документ.Заявки.Форма.ФормаДокумента",СтруктураПараметры,ЭтотОбъект);
КонецПроцедуры


Теги:

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

Рейтинг@Mail.ru

Поиск