Подбор элементов из справочника по группам

1. Ольга7 01.02.12 14:03 Сейчас в теме
Добрый день, подскажите как сделать подбор из справочника, но что открывался не весь справочник целиком, а только определенная группа?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. valval 01.02.12 14:11 Сейчас в теме
В форме спрвочника
ПриОткрытии
ИспользоватьРодителя
3. Denis_Shiln 01.02.12 14:33 Сейчас в теме
Процедура ПриОткрытии() 
	ИспользоватьРодителя("Нужная группа");
КонецПроцедуры
4. ra9000 11 01.02.12 14:52 Сейчас в теме
Привет. можно также при открытии использовать список объектов.
В книге про это написано.

ИспользоватьСписокЭлементов(<?>);
Синтаксис:
ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.
5. Ольга7 01.02.12 15:01 Сейчас в теме
спасибо за информацию, буду пробывать
6. Sergius79 01.02.12 15:11 Сейчас в теме
Создать отдельную форму подбора, и по вызову ее делать запрос по группам набивать СписокЗначений а далее
ИспользоватьСписокЭлементов(СписокЗначений)
7. 11k65m 6 02.02.12 09:47 Сейчас в теме
Если подбор в самой 1с то можно еще глянуть отжаты ли у вас отключение вывода режима по группам (монетки или тапочки в форме при подборе), если пишите то тогда соглашусь с VALval.
8. Ольга7 02.02.12 11:19 Сейчас в теме
Попробывала через ИспользоватьСписокЭлементов(СписокЗначений) как в книжке
Процедура ПриОткрытии( ВыбПризнак)
ВыбПризнак="Закупка"; //Название группы в справочнике
Список=СоздатьОбъект("СписокЗначений");
Спр=СоздатьОбъект("Справочник.Каталог");
Спр.ИспользоватьРодителя(Использоватьродителя());
Спр.ВключатьПодчиненные(0);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если (Спр.Признак=ВыбПризнак) Тогда
Список.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
ИспользоватьСписокЭлементов(Список);
КонецПроцедуры;
этот код в формеСписка справочника расположен, а в документе сделала
Процедура Подбор()
открытьПодбор("Справочник.Каталог")
КонецПроцедуры
И повесила Подбор(0 на кнопку в документе, при нажатии справочник не открывается и вообще ничего не делается. подскажите в чем ошибка?
9. dusha0020 1115 02.02.12 12:50 Сейчас в теме
(8) Ольга7, А как вы при открытии формы передаете ей переменную ВыбПризнак? Если Вы ее присваиваете в процедуре зачем принимать? Уберите вообще.
Спр.ИспользоватьРодителя(Использоватьродителя()) - Очень любопытный код... В какой же книжке такое пишут?

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


Ну как-то так...
dicwork; nicotin; +2 Ответить
10. Ольга7 02.02.12 13:10 Сейчас в теме
(9) в желто-красной книжке))), спасибо попробую
11. nicotin 36 02.02.12 13:15 Сейчас в теме
(9) dusha0020, одно замечание
В форме списка ИспользоватьРодителя() можно использовать непосредственно
Поэтому первую процедуру можно переписать:
Процедура ПриОткрытии()//в модуле формы списка справочника с названием "ФормаСписка" см. название формы в методе ОткрытьПодбор()
Если ПустоеЗначение(Форма.Параметр)=0 Тогда
ВыбГруппа = Форма.Параметр;
ИерархическийСписок(1,0);
ИспользоватьРодителя(ВыбГруппа,0); 
КонецЕсли; 
КонецПроцедуры; 
12. Ольга7 09.02.12 12:14 Сейчас в теме
Оставьте свое сообщение

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