Создание элемента справочника в форме выбора справочника с отбором

1. Arkadag 12.08.21 15:59 Сейчас в теме
Приветствую, Форумчане!
1С:Предприятие 8.2 (8.2.19.83)
"Управление торговлей", редакция 10.3 (10.3.8.9)

Из Табличной части вызываю событие "НачалоВыбора" открытие формы выбора с отбором:

СтандартнаяОбработка = Ложь;
ТД = ЭлементыФормы.Материалы.ТекущиеДанные;

нФормаВыбора = Справочники.са_СправочникАтрибутов.ПолучитьФормуВыбора(, Элемент);
нФормаВыбора.Отбор.ВидыНоменклатуры.ВидСравнения = ВидСравнения.Равно;
нФормаВыбора.Отбор.ВидыНоменклатуры.Значение = ТД.ВидыНоменклатуры;
нФормаВыбора.Отбор.ВидыНоменклатуры.Использование = Истина;
нФормаВыбора.Открыть();


Форма открывается с правильным отбором и срабатывает правильно. Но...

Как теперь сделать так, чтобы в этой открытой форме при нажатии кнопки "Создать" открывалась форма создания элемента с отбором?
Т.е. автоматически заполнялся реквизит "ВидыНоменклатуры" из отбора (ТД.ВидыНоменклатуры)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DJ_Codebase 12.08.21 16:06 Сейчас в теме
а если так?
  нФормаВыбора.Отбор.ВидыНоменклатуры.Установить(ТД.ВидыНоменклатуры) 
3. Arkadag 12.08.21 16:15 Сейчас в теме
(2)
нФормаВыбора.Отбор.ВидыНоменклатуры.Установить(ТД.ВидыНоменклатуры)


Фильтрует открытие формы, но суть вопроса в том, чтобы теперь в этой отфильтрованной форме при нажатии кнопки "Создать" открывалась форма создания элемента с установленным реквизитом "ТД.ВидыНоменклатуры", который мы установили при отборе формы выбора...

Т.е. передать на форму создания реквизит, равный реквизиту отбору...
4. DJ_Codebase 12.08.21 16:18 Сейчас в теме
(3)
СтандартнаяОбработка = Ложь;
НовЭлем = Справочники.ВидыНоменклатуры.СоздатьЭлемент();
НовЭлем.ВидыНоменклатуры = ТД.ВидыНоменклатуры;
НовЭлем.ПолучитьФорму().Открыть();

как-то так
5. Arkadag 12.08.21 16:31 Сейчас в теме
Вроде можно попробовать так:

Процедура СправочникСписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа)
	// Вставить содержимое обработчика.
	Отказ = Истина;
	
	
КонецПроцедуры


Забыл всё напрочь...
Как в этом коде проверить существование отбора и если он есть по конкретному реквизиту, установить его при открытии?
6. DJ_Codebase 12.08.21 16:35 Сейчас в теме
(5) это же элементарно
Если ЗначениеЗаполнено(нФормаВыбора.Отбор.ВидыНоменклатуры.Значение) И нФормаВыбора.Отбор.ВидыНоменклатуры.Использование Тогда
НовЭлем.ВидыНоменклатуры = ТД.ВидыНоменклатуры;
КонецЕсли;
7. Arkadag 12.08.21 16:57 Сейчас в теме
Если ЗначениеЗаполнено(Элемент.Значение.Отбор.ВидыНоменклатуры.Значение) И Элемент.Значение.Отбор.ВидыНоменклатуры.Использование Тогда
Отказ = Истина;

НовЭлем = Справочники.са_СправочникАтрибутов.СоздатьЭлемент();
НовЭлем.ВидыНоменклатуры = Элемент.Значение.Отбор.ВидыНоменклатуры.Значение;
НовЭлем.ПолучитьФорму("ФормаЭлемента").Открыть();


КонецЕсли;

Странно. Открываю мою форму элемента, где у меня есть определенные коды, которые в частности при открытии производят операции в зависимости от вида номенклатуры.

В приведенном коде открывается какая-то другая форма, явно отличаема от моей "ФормыЭлемента"
Как открыть родную форму?
8. DJ_Codebase 12.08.21 17:07 Сейчас в теме
(7)
В приведенном коде открывается какая-то другая форма,

Должна открыватся та форма, которая указана в параметре ИмяФормы, может ошибку допустили. скопируйте ее и вставьте, чтоб было наверняка
9. Arkadag 12.08.21 19:26 Сейчас в теме
Я форму элемента создал управляемой формой по привычке, а само приложение обычное.
Вот я и преполагаю, что в обычном приложении управляемую форму элемента справочника вызвать её нельзя...
10. DJ_Codebase 12.08.21 22:48 Сейчас в теме
(9) С чего бы нельзя?.. Нужно просто в свойствах конфы установить параметр "Использовать управляемые формы в толстом клиенте в обычном режиме" в значение Истина и будут запускаться.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот