Имя: Пароль:
1C
1C 7.7
v7: Как сделать подбор по группам из справочника?
0 lesstat
 
27.04.12
09:35
На форме есть реквизит список значений, рядом прилепил кнопку подбора этих значений, но подбор происходит по каждой номенклатуре отдельно, а как нужно сделать чтоб можно было выбирать по группам?

Вот код :
Процедура ПодборНоменклатуры()
   к = СоздатьОбъект("Справочник.Номенклатура");
       к.ЭтоГруппа();
   ОткрытьПодбор("Справочник.Номенклатура",,к,1,);
КонецПроцедуры
1 PuhUfa
 
27.04.12
09:37
(0) что значит "выбирать по группам"?
2 lesstat
 
27.04.12
09:39
(1) чтоб можно было щелкать по родителю и все что внутри него подбиралось, а не вручную каждую позицию номенклатуры
3 Ork
 
27.04.12
09:39
(0)
"
к = СоздатьОбъект("Справочник.Номенклатура");
к.ЭтоГруппа();
"
Что это ?
4 Рэйв
 
27.04.12
09:40
(2)Это тебе ОткрытьПодбор() надо юзать и его обработку.
Выбирают группу, ты по этой группе делаешь запрос и заполняешь
5 Ork
 
27.04.12
09:40
(2) Изоткуда вызивается подбор (справочник, документ, отчет, обработка)?
6 Ork
 
27.04.12
09:42
(4) Без дополнительных телодвижений группу можно выбрать не в каждый вид объекта.
7 lesstat
 
27.04.12
09:42
(4) из обработки
8 Рэйв
 
27.04.12
09:43
(6)Ну, без телодвижений вообще тяжело что-то делать:-)
9 lesstat
 
27.04.12
09:44
(3) Параметр который передается в контекст ОткрытьПолдбор
10 Рэйв
 
27.04.12
09:44
(6)Хотя интересно. В какой вид объектов нельзя? Вроде форма- она и в африке форма.
11 ДенисЧ
 
27.04.12
09:47
Процедура ПодборНоменклатуры()
//    к = СоздатьОбъект("Справочник.Номенклатура");
//        к.ЭтоГруппа();
 к = "";
   ОткрытьПодбор("Справочник.Номенклатура",,к,1,);
 к.ВыборГруппы(1);
КонецПроцедуры
12 пипец
 
27.04.12
09:48
ВыборГруппы(<?>)
Синтаксис:
ВыборГруппы(<Режим>)
Назначение:
Установить режим выборки групп. Возвращает: текущее числовое значение режима выборки групп для элемента диалога (на момент до исполнения метода).
ЗЫ бо*/йан
13 Ork
 
27.04.12
09:48
(7) Все просто
В обработкаПодбора :

Процедура ОбработкаПодбора(Выб, КонтекстПодбора)
Если Выб.ЭтоГруппа() = 1 Тогда
   Спр = СоздатьОбъект("Справочник.Номенклатура");
   Спр.ИспользоватьРодителя(Выб);
   Спр.ВыбратьЭлементы();
   Пока Спр.ПолучитьЭлемент() = 1 Цикл
       ТвояОбработкаЭлемента(Спр.ТекущийЭлемент());
   КонецЦикла;
КонецЕсли;
КонецПроцедуры
14 пипец
 
27.04.12
09:48
гггг ;)))
15 Ork
 
27.04.12
09:50
(10) Например если открыт подбор из формы документа - двойной щелчек на группе развернет группу, а не выберет. Это если не делать как в (11)
16 Рэйв
 
27.04.12
09:57
(15)Назначить реквизиту форму выбора с кнопкой выбрать:-) при нажатии:

ВыполнитьВыбор(Значение)


Делов то.:-))
17 lesstat
 
27.04.12
09:58
Всем спасибо, заработало