Имя: Пароль:
1C
 
Выбрать элементы из нескольких групп справочника
0 Alexey87
 
03.06.10
09:57
Вопрос такой: в запросе нужно выбрать номенклатуру из нескольких групп справочника. Если добавить эти группы в список, потом условием сделать ОстаткиТоваровКомпанииОстатки.Номенклатура В (&СписокГрупп) - естественно корректно не работает, а В ИЕРАРХИИ можно использовать только для одной группы, подскажите возможно ли это и как это сделать в одном запросе, не используя вложенные запросы?
1 chelentano
 
03.06.10
10:00
(0) "В ИЕРАРХИИ можно использовать только для одной группы" - уверен?
2 Alexey87
 
03.06.10
10:01
(1)не уверен, но выбирает не то, как правильно передать параметр в моем случае?
3 Defender aka LINN
 
03.06.10
10:06
(2) "не уверен, но выбирает не то" - что ты ему передал, то он и выбирает.
4 Alexey87
 
03.06.10
10:07
СпсГрупп.Добавить(Справочники.Номенклатура.НайтиПоКоду(Справочники.Номенклатура.НайтиПоКоду("ЦБ016967")));
   СпсГрупп.Добавить(Справочники.Номенклатура.НайтиПоКоду(Справочники.Номенклатура.НайтиПоКоду("ЦБ016970")));
   СпсГрупп.Добавить(Справочники.Номенклатура.НайтиПоКоду(Справочники.Номенклатура.НайтиПоКоду("ЦБ016971")));

....

ЗапросПоТовару.УстановитьПараметр("СпсГрупп", СпсГрупп);

....

ГДЕ ОстаткиТоваровКомпанииОстатки.Номенклатура В ИЕРАРХИИ &СпсГрупп

так правильно для данно задачи?
5 Defender aka LINN
 
03.06.10
10:08
нет. в запросе нет скобок, за НайтиПоКоду надо сразу пожизненный эцих с гвоздями давать.
6 Alexey87
 
03.06.10
10:10
(5)А кстати как заменить НайтиПоКоду?
Какие скобки, их и нет
7 chelentano
 
03.06.10
10:13
(6) код изменят и что делать будешь?
8 Defender aka LINN
 
03.06.10
10:14
(6) "Какие скобки, их и нет" - именно.
"как заменить НайтиПоКоду" - да как угодно, лишь бы по-человечески.
9 chelentano
 
03.06.10
10:16
(6) например, если эти группы обязательно должны быть, сделай их предопределёнными
10 Alexey87
 
03.06.10
10:20
(7),(8)Код номенклатуры могу поменять только я, у остальных он закрыт на редактирование, а как еще передать в запрос группы номенклатуры "по - человечески"
Про предопределенные очень сомневаюсь...а еще все основные элементы всех основных справочников сделать предопределенными, а когда будет обновление то повеситься, у меня этих "обязательных групп" только в справочнике "номенклатура" только около 200

Про скобки просто не поставил, выходит вот так
ГДЕ ОстаткиТоваровКомпанииОстатки.Номенклатура В ИЕРАРХИИ (&СпсГрупп) это правильно?
11 zzerro
 
03.06.10
10:20
СпсГрупп.Добавить(Справочники.Номенклатура.НайтиПоКоду(Справочники.Номенклатура.НайтиПоКоду("ЦБ016971")));
- Это вообще что такое????
Поиск по коду от ссылки?

Если уж на то пошло, то просто:
СпсГрупп.Добавить(Справочники.Номенклатура.НайтиПоКоду("ЦБ016971"));
12 Defender aka LINN
 
03.06.10
10:22
(10) "Код номенклатуры могу поменять только я, у остальных он закрыт на редактирование" - если бы мне каждый раз давали по рублю, когда я слышал подобные вещи...
13 Alexey87
 
03.06.10
10:25
(11)Не, это бред, просто накописпастил не то
14 Alexey87
 
03.06.10
10:28
Все-таки как передавать "по - человечески" группы номенклатуры в запрос?
15 Dmitrii
 
гуру
03.06.10
10:31
(10) >> Код номенклатуры могу поменять только я, у остальных он закрыт на редактирование...

А что произойдет в случае твоего увольнения или, упаси Бог, болезни или смерти?

Им придется выкидывать базу и создавать новую?

Для хранения обязательных элементов можно замутить, например, отдельный справочник с предопределенными элементами. В качестве реквизитов этого справочника хранить ссылки на группы справочника Номенклатура.

В ИЕРАРХИИ (&СпГрупп) должно работать даже если в качестве значения параметра передан список значений.

Если не устраивает тот факт, что в выборку попадают элементы из более глубоких уровней справочника, то использовать конструкцию с условием "В" на реквизит "Родитель":

ОстаткиТоваровКомпанииОстатки.Номенклатура.Родитель В (&СписокГрупп)
16 zzerro
 
03.06.10
10:31
(14) Списком ссылок, только ссылки получать надо без использования НайтиПоКоду - это уж как-то некрасиво в  коде прописывать конкретные значения, которые можно изменить.

А ты проверь, то ли у тебя ищет твой НайтиПоКоду
17 Defender aka LINN
 
03.06.10
10:31
(14) Предопределенные элементы, константы, РС, еще что угодно, но где хранится ссылка, а не код/наименование/еще что.
18 Alexey87
 
03.06.10
10:37
(15)Спасибо, коротко, ясно и по теме. Про справочник с предопределенными элементами обязательно сделаю

Базу выкидывать не надо, есть пароль администратора и другие программисты 1С
19 Defender aka LINN
 
03.06.10
10:39
(18) "есть пароль администратора и другие программисты 1С" - покажи им этот код.
20 Defender aka LINN
 
03.06.10
10:40
+(19) И спроси, у кого из них возникнет желание, в случае чего, копаться в нем.
21 Alexey87
 
03.06.10
10:42
(20)там лишь галочка в системе настройки прав, кому надо тот найдет
22 Defender aka LINN
 
03.06.10
10:51
(21) При чем тут галочка? Или ты искренне думаешь, что эти 3 элемента прибиты гвоздями и не потребуется сделать из них 4, или 2?