Имя: Пароль:
1C
1С v8
Управляемый формы открытие формы записи регистра сведений
0 Oz11
 
31.10.12
16:08
приветствую. задача состоит в програмном открытии и заполнении формы записи независимого непериодического регистра сведений. не получается сделать это в управляемых формах.
   ФормаМенеджераЗаписи = ПолучитьФорму("РегистрСведений.СчетаУчетаРасчетовСКонтрагентами.Форма.ФормаЗаписиУправляемая");
   ДанныеФормыМенеджераЗаписи = ФормаМенеджераЗаписи.Запись;
   НаСервереНастроитьСчетаУчетаДляДанногоДоговора(ДанныеФормыМенеджераЗаписи);
   
   ФормаМенеджераЗаписи.Открыть();

Процедура НаСервереНастроитьСчетаУчетаДляДанногоДоговора(ДанныеФормы)
   
   МенеджерЗаписи = РегистрыСведений.СчетаУчетаРасчетовСКонтрагентами.СоздатьМенеджерЗаписи();

   МенеджерЗаписи.Организация   = Объект.Организация;
   МенеджерЗаписи.Договор         = Объект.Ссылка;
   МенеджерЗаписи.Контрагент    = Объект.Владелец;
   МенеджерЗаписи.ВидРасчетовПоДоговору = БухгалтерскийУчетРасчетовСКонтрагентами.ОпределениеВидаРасчетовПоПараметрамДоговора(Объект.Ссылка, мВалютаРегламентированногоУчета);
   ЗначениеВДанныеФормы(МенеджерЗаписи, ДанныеФормы);
   
КонецПроцедуры
1 Юрий Лазаренко
 
31.10.12
16:13
(0) При открытии формы подпихнуть ей в параметрах ключ записи?
2 Oz11
 
31.10.12
16:26
что-то типа такого?
   КлючЗаписи = СофрмироватьКлючЗаписи();
   СтруктураПараметров = Новый Структура("Ключ", КлючЗаписи);
   ОткрытьФорму("РегистрСведений.СчетаУчетаРасчетовСКонтрагентами.Форма.ФормаЗаписиУправляемая", СтруктураПараметров);

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

этот код ругается при открытии формы: "Объект не найден"
3 Oz11
 
02.11.12
17:30
кому интересно - все решается очень просто:
1. формируем новый ключ записи за основании структуры, заполненной интересующими нас значениями измерений
2. засовываем этот ключ в структуру, состоящую из одного элемента: ключ = "Ключ", значение = полученный в 1 ключ записи
3. с помощью метода ОткрытьФорму открываем интересующую нас форму записи регистра, не забывая при этом передать вторым параметром метода структуру, полученную в 2.