Имя: Пароль:
1C
 
Отбор в форме по родителю справочника
0 Швондер
 
05.10.04
07:51
Имеем регистр сведений "Нормы сырья", измерения "Номенклатура"- справочник ТМЦ, "Сырье" - справочник ТМЦ и ресурс "Норма", у справочника ТМЦ две предопределенные родительские группы "Номенклатура" и "Сырье", Вопрос такой: Возможно ли при вводе через форму регистра сведений по измерению Номенклатура чтобы открывалась только родительская группа "Номенклатура" а по измерению "сырье" только сырье...
1 Волшебник
 
05.10.04
08:07
Можно.

1. Создай форму списка регистра.
2. В полях ввода "Номенклатура" и "Сырье" отлови событие ПриНачалеВыбораИзСписка.
3. Установи в них СтандартнаяОбработка = Ложь;
4. Получи форму выбора нужного справочника
5. Установи отбор по родителю
ФормаВыбора.СправочникСписок.Отбор.Родитель.Установить(Справочники.ТМЦ.Номенклатура); //как пример
6. В форме регистра отлови событие ОбработкаВыбора
2 Волшебник
 
05.10.04
08:11
После пункта (5) нужно, конечно, открыть форму ФормаВыбора.Открыть();
3 Швондер
 
05.10.04
08:15
спасибо, счас попробую
4 Швондер
 
05.10.04
11:45
ругается - Поле объекта не обнаружено (Родитель)
ФормаВыбора.СправочникСписок.Отбор.Родитель.Установить(Справочники.Номенклатура.ДС)

а как разрешить отбор по родителю?
5 Швондер
 
05.10.04
12:40
ап!
6 Pilcrow
 
05.10.04
12:49
(4) Элемента отбора Родитель не существует. Это привело бы к глупой ситуации. Например, ты отбираешь элементы, родителем которых является некая группа. А у этой группы есть в подчинении еще группы, и в них есть тоже элементы и группы... Что ты увидишь на экране?
7 Pilcrow
 
05.10.04
13:26
В форме можно создать реквизит типа СправочникСсылка.ТМЦ, в табличном поле справочника установить свойство "Связь по родителю" на этот реквизит, в реквизит помещать значение ссылки предопределенной группы. ТП будет отображать то, что в иерархии группы. Вроде то, что надо.
8 Швондер
 
05.10.04
14:39
7. Можешь поподробнее. в форме регистра сведений я добавил такой реквизит, а дальше как?!
9 Pilcrow
 
05.10.04
15:28
(8)
1. Реквизит добавь не в форму регистра сведений, а в форму выбора справочника ТМЦ. В ней же установи для ТП списка справочника свойство "Связь по родителю" на этот реквизит.
2. Дальше делай, как пишет Волшебник в (1), но только до п.5. Вместо "отбора по родителю" запиши в этот реквизит значение ссылки Номенклатура или Сырье - в зависимости от того, из какого измерения открываешь форму выбора. Например:

ФормаВыбора.МойРеквизит = Справочники.ТМЦ.Номенклатура;

Потом, когда выполнится ФормаВыбора.Открыть(), форма выбора откроется только с элементами, подчиненными Номенклатуре или Сырью. Дальше, когда выберешь элемент, форма закроется, и сработает обработчик ОбработкаВыбора.
10 Швондер
 
06.10.04
09:19
Уф... кажется разобрался... как вариант подходит, но в форме все равно  можно увидеть другую верхнюю группу, буду копаться дальше
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн