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

Открытие группы элементов справочника по умолчанию

Автор ktu78, 01 дек 2015, 18:25

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

ktu78

Добрый вечер, коллеги.
Есть справочник, в котором есть группы элементов и элементы.
Подскажите пожалуйста, как сделать так, чтоб при открытии формы списка справочника по умолчанию открывалась нужная группа элементов. Может есть интерактивный или программный механизм. Спасибо. Удачи

Psm_2015

можно вот так:
1) на форме списка создаёте реквизит Номенклатура(тип - СправочникСсылка.Номенклатура)
2) в модуле формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000006");
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.Список.ТекущаяСтрока = Номенклатура;
КонецПроцедуры


можете не по коду, а по наименованию искать.

vitasw

Цитата: Psm_2015 от 03 дек 2015, 09:06можно вот так:
1) на форме списка создаёте реквизит Номенклатура(тип - СправочникСсылка.Номенклатура)
2) в модуле формы:
Код: [Выделить]

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000000006");
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Элементы.Список.ТекущаяСтрока = Номенклатура;
КонецПроцедуры


можете не по коду, а по наименованию искать.

Бред бредовый

Psm_2015


vitasw

Все не так. Начиная от поиска по коду и заканчивая безусловной установкой текущей строки в форме списка. Откуда форма списка вдруг взялась...?

Psm_2015

Цитата: vitasw от 03 дек 2015, 13:30
Откуда форма списка вдруг взялась...?
Цитата: ktu78 от 01 дек 2015, 18:25
...как сделать так, чтоб при открытии формы списка справочника...
Если в вопросе есть форма списка, то подразумеваю, что она создана уже, а если автор вопроса не в курсе как создать её или другие вопросы будут - спросит.

Цитата: vitasw от 03 дек 2015, 13:30
Начиная от поиска по коду и заканчивая безусловной установкой текущей строки в форме списка.
Цитата: ktu78 от 01 дек 2015, 18:25
...по умолчанию открывалась нужная группа элементов.
Я из задания понял, что автору при открытии списка нужно, чтобы курсор стоял на определённом элементе или группе по умолчанию. Если не так, то автор скорректирует вопрос. О том как задавать элемент в задании ни слова нет. Как пример я привел, что можно получить его поиском по наименованию или коду, если надо как-то по другому получайте по другому.


vitasw

Ну ОК, а теперь взглянем на проблему ширше.
Подобный код в форме списка абсолютно бессмысленен. Форма списка подразумевает под собой отображение всех элементов. Отображение нужной информации решается правильной организацией иерархии справочника. + любой код ухудшает производительность. Единственный случай, где логически допустима активация текущей строки - это форма выбора. Но даже в этом случае поиск по коду - очень моветон.
Учитывая то, что ТС, зачастую, задает очень краткие вопросы локального характера, как и в данном случае, при этом не объясняя зачем это нужно - подобные ответы на уровне "медвежья услуга"

Psm_2015

Цитата: vitasw от 03 дек 2015, 14:28
Ну ОК, а теперь взглянем на проблему ширше.
Подобный код в форме списка абсолютно бессмысленен. Форма списка подразумевает под собой отображение всех элементов. Отображение нужной информации решается правильной организацией иерархии справочника. + любой код ухудшает производительность. Единственный случай, где логически допустима активация текущей строки - это форма выбора. Но даже в этом случае поиск по коду - очень моветон.
Учитывая то, что ТС, зачастую, задает очень краткие вопросы локального характера, как и в данном случае, при этом не объясняя зачем это нужно - подобные ответы на уровне "медвежья услуга"
В целом согласен, но ответ писался исходя из тех условий, что дал ТС. Про производительность в условиях сказано не было, про осмысленность тоже. Будет ли он потом использовать эту инфу  и как - мне вообще без разницы, а если его будет что-то не устраивать, то спросит дальше или сам копать начнёт.

vitasw


cska-fanat-kz

все равно плохое решение.

надо вот так
https://helpf.pro/faq8/view/858.html

Как для Выбора Покупателя Открыть Справочник контрагенты с открытой группой Покупатели?

Распечатать

Код 1C v 8.х // Это событие для ячейки Контрагент Табличной части
Процедура КонтрагентНачалоВыбора(Элемент, СтандартнаяОбработка)

Если Элемент.Значение.Пустая() Тогда
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора( , Элемент);
ФормаВыбора.ВыборПокупателя = Истина;
ФормаВыбора.Открыть();
КонецЕсли;

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

// Это добавляем в ФОРМУ ВЫБОРА

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

//Указание группы как предопределенного элемента
Если ВыборПокупателя Тогда
ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина;
ЭлементыФормы.СправочникСписок.ТекущийРодитель = Справочники.Контрагенты.Покупатели;
КонецЕсли;

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск