gifts2017

V8: Как открыть форму списка подчиненного справочника с отбором по владельцу? (кликнув по "ПО КНОПКЕ" на форме)

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Программирование - Работа с интерфейсом

V8: Как открыть форму списка подчиненного справочника с отбором по владельцу?
(кликнув по "ПО КНОПКЕ" на форме)
(Наиболее правильно с Вашей точки зрения и опыта)

Это не статья, это вопрос к обсуждению.

Вчера приходил парень на собеседевание (программист 1С8.1)

ему попалась данная задачка:

Условие 

Есть два справочника

ТипРазмерныхЛинеек

и подчиненный ему справочник Размеры

см.рис. Конфигуратор

на форме списка справочника ТипРазмерныхЛинеек

расположили Табличное поле

                       тип: СправочникСписок.Размеры

связь по владельцу: СправочникСписок.ПриАктивизацииСтроки

на панели автоматически появится подменю "Перейти"

(в подчиненный справочник "Размеры")

Все работает и так (см.рис. Справочник Владелец и справочник Подчиненный)

 Теперь сама задачка

Разместить на форме (форма списка справочника ТипРазмерныхЛинеек)

кнопку  - при нажатии на которую откроется форма списка подчиненного справочника Размеры (аналог действия меню "Перейти")

 

Интернет был у парня под рукой - вчера увидел много различных вариантов и самое интерсное что рабочих...

вариант

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

(пример: найден в сети)

вариант


Форма=Справочники.Размеры.ПолучитьФормуСписка();
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.Владелец.Установить(ТекЭлемент);
Форма.Открыть();
(пример: найден в сети)


вариант

...
 А какой бы Вы вариант предложили, с Вашей точки зрения наиболее правильный и простой для понимания

мой (44 символа) а у Вас ?

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Serj (Serj1C) 27.07.10 10:50
Символами можно было бы меряться, если была конфигурация.
А вообще задача не интересная
2. Юрий Тимофеев (Tatitutu) 27.07.10 10:54
(2) Ну да..." из серии простой вопрос поставил в тупик "
3. Дмитрий Якунов (Dima2711) 27.07.10 11:26
Стандартными средствами
В свойствах кнопки вибираете:
Источник действий=СправочникСписок;
Нажатие=Подчиненный справочник...;
Нажатие (Справочник)=Размеры;
4. Юрий Тимофеев (Tatitutu) 27.07.10 11:38
(3)
Нажатие=Подчиненный справочник...;
Нажатие (Справочник)=Размеры;


поподробнее можно ?
5. Андрей Акулов (DrAku1a) 27.04.12 03:31
Если одно и то-же нужно делать для нескольких справочников, тогда процедуру с параметрами вынести в общий модуль и тогда можно обойтись одной строкой кода в каждом справочнике. Да и символов в итоге поменьше будет =)
6. Max Черепахин (tamaks) 26.08.13 16:16
Процедура НажатиеКнопки(Кнопка)

ТекСтр = ЭлементыФормы.ТабличнаяЧасть.ТекущаяСтрока;
Если ТекСтр <> неопределено Тогда
Ф = Справочники.Размеры.ПолучитьФормуСписка();
Ф.СправочникСписок.Отбор.Владелец.Использование = Истина;
Ф.СправочникСписок.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно;
Ф.СправочникСписок.Отбор.Владелец.Значение = ТекСтр.ТипРазмерныхЛинеек;
Ф.ОткрытьМодально();
КонецЕсли;


КонецПроцедуры
7. Олег Шалимов (CaSH_2004) 25.09.13 16:06
Было бы гораздо интереснее узнать как программно установить/поменять "Связь по владельцу" не заходя в Конфигуратор. Например привязать к другому списку на форме?
Кто-то сталкивался?