|
Подскажите как открыть не главную форму элемента справочника формы списка | ☑ | ||
---|---|---|---|---|
0
RusProgKarps
17.11.16
✎
19:48
|
Доброго времени суток. Возникла необходимость открыть собственноручно спроектированную форму элемента справочника через двойной клик по записи в форме списка этого же справочника. форма, которую надо вызвать не есть основная, так еще надо как-то запретить ее открываться при двойном клике. А то так как я сейчас сделал открывается и моя и та, которая указана основно.
Вот как я открываю форму элемента из формы списка по двойному клику &НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Если Элементы.Список.ТекущаяСтрока.ЭтоГруппа=Ложь Тогда ПараметрыСсылка= Новый Структура("Ключ",Элементы.Список.ТекущаяСтрока.Ссылка); ОткрытиеФорми(ПараметрыСсылка); КонецЕсли; КонецПроцедуры &НаСервере Процедура ОткрытиеФорми(ПараметрыФорм) Форма=Справочники.Номенклатура.ПолучитьФорму("ФормаДляЗаданиеАсортимента",ПараметрыФорм); Форма.Открыть(); КонецПроцедуры Таким способом открывается, но пустая, поля соответствующие незаполненные. Версия 1С 8.2 редакция 1.2. Пожалуйста помогите, а то уже второй день парюсь. |
|||
1
marvak
17.11.16
✎
20:07
|
(0)
копай в сторону обработчика в менеджере справочника ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) |
|||
2
mistеr
17.11.16
✎
20:33
|
(0) Чтобы не открывалась основная
СтандартнаяОбработка = Ложь; |
|||
3
chigsrOck
17.11.16
✎
22:01
|
основной реквизит соответствующего типа в самодельной форме прописан?
|
|||
4
RusProgKarps
18.11.16
✎
12:11
|
(3)
Под основным реквизитов, который реквизит имеется в виду? При создании собственноручной формы я выбирал тип формы форма элемента и перетащил туда код и наименование записи в справочнике, при том сделал эти два поля доступны для редактирования, я еще и три поля вытащил, которые и имеет редактировать пользователь с помощью этой формы. Изюминка заключается в том, что когда проверить передан параметр Ключ, то он почему-то пустой (выводил в Сообщить, а также в процедуре ПриСозданииНаСервере пробовал передать в Объект формы объект записи Объект = Параметры.Ключ.ПолучитьОбъект (); но оно выбрасывает ошибку, что значение не задано). Еще попробовал таким вариантом открыть: &НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Если Элементы.Список.ТекущаяСтрока.ЭтоГруппа=Ложь Тогда //ПараметрыСсылка= Новый Структура("Ключ",Элементы.Список.ТекущаяСтрока.Ссылка); ОткрытиеФорми(Элементы.Список.ТекущаяСтрока); //Форма=Справочники.Номенклатура.ПолучитьФорму("ФормаДляЗаданиеАсортимента",ПараметрыСсылка); //Форма.ОткрытьМодально(); //ОткрытьФорму(Справочники.Номенклатура.ПолучитьФорму("ФормаЭлементаДляЗаданиеАсортимента",ПараметрыСсылка)); КонецЕсли; КонецПроцедуры &НаСервере Процедура ОткрытиеФорми(СсылкаЕл) Форма=СсылкаЕл.ПолучитьФорму("ФормаДляЗаданиеАсортимента"); Форма.Открыть(); //Форма=Справочники.Номенклатура.ПолучитьФорму("ФормаДляЗаданиеАсортимента",ПараметрыФорм); //Форма.Открыть(); КонецПроцедуры Пошло, хотя ранше открывало совсем другую форму. |
|||
5
RusProgKarps
18.11.16
✎
13:27
|
(2) Я прочитал о ОбработкаПолученияФормы (ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) и насколько я понял, то она заменит мне вызов основной формы для некоторого типа форм, а мне нужно чтобы только в форме ФормаСпискаДляПереглядуАсортименту, которая является типа формы списка и не является основной (там другая записана) при двойном клике мышки по записи в списке открывалась не основное форма элемента, а моя и только для данной формы списка.
Форма элемента, которую надо вызвать ФормаДляЗаданиеАсортимента. Я бы был очень благодарен за пример, потому что сейчас сам не могу понять как это закодиты. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |