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