• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Помогите передать контекст формы

  • Автор темы shane13
  • Дата начала
S

shane13

Дело обстоит так: Есть справочник Объекты, в котором при нажатии на кнопку "Новый контакт", открывается форма списка справочника "Контакты". При этом из спр.Объекты передается контекст в Контакты так:

ПараметрПодбора = СоздатьОбъект("СписокЗначений");
ПараметрПодбора.ДобавитьЗначение(ТекущийЭлемент(), "Объект");
ПараметрПодбора.ДобавитьЗначение(Область, "Область");

В справочнике контакты я принимаю контекст так:

Процедура ПриОткрытии()
Параметры = Форма.Параметр;
Если ТипЗначенияСтр(Параметры) = "СписокЗначений" Тогда
Объект = Параметры.Получить("Объект");
Область = Параметры.Получить("Область");
КонецЕсли;
КонецПроцедуры

Всё нормально принимается. И я записываю принятые значения куда мне надо. Вопрос в следующем:
Если я хочу создать новый элемент в справочнике Контакты (редактируется только в диалоге), то как мне получить этот же контекст в форме элемента???

Фишка в том, что новый элемент создается так:
Процедура ВводНового(Ск)
глПриВводеНового(Контекст, Ск);
КонецПроцедуры,
т.е. фактического открытия формы нет... Как же мне передать туда параметры??? ПОМОГИТЕ!!!!
 
P

puh14

переменную в начале модуля формы и она у тебя будет видна во всех процедурах формы. Типа

перем параметр;

Процедура ПриОТкрытии()
параметр = Форма.Параметр;
КонецПроцедуры

процедура ВВодНового()
Если ПустоеЗначение(параметр) = 0 Тогда
КонецЕсли;
КонецПроцедуры
 
S

shane13

переменную в начале модуля формы и она у тебя будет видна во всех процедурах формы. Типа

перем параметр;

Процедура ПриОТкрытии()
параметр = Форма.Параметр;
КонецПроцедуры

процедура ВВодНового()
Если ПустоеЗначение(параметр) = 0 Тогда
КонецЕсли;
КонецПроцедуры

Это понятно, так и сделано. Только формы то разные. Мне нужно в Форме Элемента получить параметры, переданные в Форму Списка...
 
P

puh14

Тогда через переменную в глобальном модуле с очищением при закрытии форм.
 
S

shane13

Не получается тоже... Я делаю так:
В ФормеСписка ПриОткрытии()
Параметры = Форма.Параметр;
МойКонтекст = Параметры; (МойКонтекст - глобальная переменная)

Далее в ФормеЭлемента при открытии присваиваю значение МойКонтекст нужной мне переменной...
Что-то не так??
 
P

puh14

ну не знаю - у меня всё работает . вот тебе пример - по красной кнопке в справочнике товары

"Далее в ФормеЭлемента при открытии присваиваю значение МойКонтекст нужной мне переменной..." - а если в процедуре вводНового попробовать? через глобальную всё нормально епередается.
 

Вложения

  • 1.rar
    20,8 КБ · Просмотры: 110
S

shane13

Спасибо! Действительно получилось. Просто я написала много лишнего и забыла убрать... оно-то всё и портило!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!