Имя: Пароль:
1C
1C 7.7
v7: Передача переменной из формы документа в форму справочника
0 Rusf1n
 
01.02.17
14:52
Добрый день, Имеется переменная в форме документа, как передать ее значение в поле на форму справочника. Пытался так, в отладчике вроде бы как присваивается значение, но при открытии формы - поле все равно пустое. Что не так?

Форма = ПолучитьФорму("Справочник.КартыЛояльности.Форма.СчитываниеКартыЛояльности");    
Форма.параметр.КодКарты = КодКартыЛояльности;    
Форма = ОткрытьФорму("Справочник.КартыЛояльности.Форма.СчитываниеКартыЛояльности"
,
ПараметрыОткрытия,
ЭтаФорма,
ЭтаФорма.УникальныйИдентификатор);
1 Ёпрст
 
01.02.17
14:58
Форма.Открыть()
2 k1noshkin
 
01.02.17
14:59
Какой контекст у задачи?

Так то есть обработка оповещения и метод оповестить().

Описание:

Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля управляемого приложения (модуля обычного приложения) или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
3 Rusf1n
 
01.02.17
15:01
Значение переменной в форме документа (пример "33") должно подставиться в поле ввода при открытии формы справочника.
________

В данном случае у меня же при открытии значение не подставляется, поле остается пустым
4 TeMochkiN
 
01.02.17
15:31
Вам нужно создать новый элемент справочника с заполненным реквизитом?
Если да, то можно так:

ЗначенияЗаполнения = Новый Структура;
ЗначенияЗаполнения.Вставить("ИмяРеквизитаСправочника", РеквизитДокумента);

Парам = Новый Структура();
Парам.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения);

ОткрытьФорму("Справочник.ИмяСправочника.Форма.ФормаОбъекта", Парам);
5 TeMochkiN
 
01.02.17
15:32
У реквизита справочника должно быть установлено свойство "Заполнять из данных заполнения", чтобы это прокатило, если мне не изменяет память
6 Rusf1n
 
01.02.17
15:56
Нужно просто передать значение (пример "33") в поле (тип:строка) на форму справочника при открытии, чтобы вручную не заполнять поле.
7 uno-group
 
01.02.17
16:00
конт="33";
ОткрытьФорму("Справочник.ТМЦ");

В форме справочника
Процедура ПриОткрытии()
Сообщить(Форма.Параметр);
сообщить "33".
8 uno-group
 
01.02.17
16:01
ОткрытьФОрму("Справочник.ТМЦ",Конт);
конецно
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший