Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 23:19

Условие на открытие нужной формы справочника при выборе, в нужном документе

Автор dmitrydonskoiy, 29 мар 2018, 09:18

0 Пользователей и 2 гостей просматривают эту тему.

dmitrydonskoiy

Доброго времени суток! Может кто нибудь сталкивался с таким делом?) Есть документ с табличной частью и реквизитом в ней, как открыть нужную мне форму справочника, но условие отбора нужно сделать не в документе, а именно в справочнике, что бы справочник видя документ подсовывал нужную форму выбора.

wise

(0) ПриОткрытии ОСНОВНОЙ формы смотришь КТО владелец открываемой формы, если нужна ДРУГАЯ, то Отказ=Истина; ОткрытьФорму("ДРУГАЯформа")
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

dmitrydonskoiy

Цитата: wise от 29 мар 2018, 09:34
(0) ПриОткрытии ОСНОВНОЙ формы смотришь КТО владелец открываемой формы, если нужна ДРУГАЯ, то Отказ=Истина; ОткрытьФорму("ДРУГАЯформа")
Процедура ПриОткрытии()
   Если ЭтаФорма.ВладелецФормы.Родитель.Имя = "ТипыОборудования" Тогда
      ФормаВыбора=Справочники.ЗначенияСвойствОбъектов.ПолучитьФормуВыбора("ФормаВыбора1",,);
      ФормаВыбора.Открыть();
   КонецЕсли;
КонецПроцедуры
Форма открывается но когда нажимаю выбрать пустая строка..

wise

(2) дык, Вы ЗАБЫЛИ нужную форму открыватьв режиме выбора и установить ей(нужной форме) владельца...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

dmitrydonskoiy

Цитата: wise от 29 мар 2018, 12:30
(2) дык, Вы ЗАБЫЛИ нужную форму открыватьв режиме выбора и установить ей(нужной форме) владельца...
можно пример?

alex0402

В модуле менеджера есть ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)

Описание:

Обработчик события вызывается на сервере при получении стандартной управляемой формы.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.

Я бы сначала этот вариант рассмотрел.
Спасибо за Сказать спасибо

dmitrydonskoiy

Цитата: alex0402 от 29 мар 2018, 16:19
В модуле менеджера есть ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>)

Описание:

Обработчик события вызывается на сервере при получении стандартной управляемой формы.
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре <ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть, и в параметре <СтандартнаяОбработка> установить значение Ложь.

Я бы сначала этот вариант рассмотрел.
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
   //
   //Если   Тогда
        СтандартнаяОбработка = Ложь;
        ВыбраннаяФорма = "ФормаВыбора1";
   //КонецЕсли;
   //
КонецПроцедуры
при добавлении данной процедуры в модуле менеджера справочника реакции 0..

alex0402

Цитата: dmitrydonskoiy от 30 мар 2018, 10:45при добавлении данной процедуры в модуле менеджера справочника реакции 0..

ну не знаю...
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)

ВыбраннаяФорма = "ФормаВыбора1";
СтандартнаяОбработка = Ложь;

КонецПроцедуры


у меня открылась именно "ФормаВыбора1"
Спасибо за Сказать спасибо

dmitrydonskoiy

Цитата: alex0402 от 30 мар 2018, 13:48
Цитата: dmitrydonskoiy от 30 мар 2018, 10:45при добавлении данной процедуры в модуле менеджера справочника реакции 0..

ну не знаю...
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)

ВыбраннаяФорма = "ФормаВыбора1";
СтандартнаяОбработка = Ложь;

КонецПроцедуры


у меня открылась именно "ФормаВыбора1"
Данный вопрос не смог решить так как хотел, видимо из за того что в справочнике используются и обычные формы и управляемые, пошел другим путем В процедуру НачалоВыбора в документ добавил вот это и все пошло как нужно, спасибо за помощь!

&НаКлиенте
Процедура ТипыОборудованияТипОборудованияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
       СтандартнаяОбработка=Ложь;
       ФормаВыбора=Справочники.ЗначенияСвойствОбъектов.ПолучитьФормуВыбора("ФормаВыбора1",Элемент);
       ФормаВыбора.Открыть();
      
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск