|
Выбор Элемента из Справочника по нескольким условиям
| ☑ |
0
Pyryrym
16.08.20
✎
17:29
|
Можно ли в 1С производить поиск в справочнике по нескольким условиям? Например, зная группу, искать элемент только в этой группе.
|
|
1
МихаилМ
16.08.20
✎
17:31
|
да. можно.
|
|
2
Pyryrym
16.08.20
✎
17:32
|
А каким образом можно? Просто я не уверен, будет ли это лучше по производительности?
|
|
3
osa1C
16.08.20
✎
17:39
|
(0)
СсылкаНаРодителя = Справочники.Вкусы.НайтиПоНаименованию("Любимые");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Наименование
|ИЗ
| Справочник.Вкусы КАК Вкусы
|ГДЕ
| Вкусы.Родитель = &Родитель";
Запрос.УстановитьПараметр("Родитель", СсылкаНаРодителя);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаВкусов = РезультатЗапроса.Выбрать();
Пока ВыборкаВкусов.Следующий() Цикл
Сообщить(ВыборкаВкусов.Наименование);
КонецЦикла;
|
|
4
Pyryrym
16.08.20
✎
17:43
|
Спасибо огромное
|
|
5
Pyryrym
16.08.20
✎
18:29
|
(3) А не подскажешь, в чем может быть проблема? Строка.Группа содержит название группы
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Родитель = &Родитель";
Запрос.УстановитьПараметр("Родитель", Строка.Группа);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл //на этой строчке отладчик пишет, что Выборка.Наименование - "Ошибка чтения запроса"
Сообщить(Выборка.Наименование);
КонецЦикла;
|
|
6
osa1C
16.08.20
✎
18:47
|
(5) Думаю что Строка.Группа содержит текстовое значение, а нужна ссылка на группу. Попробуй:
СсылкаНаРодителя = Справочники.Вкусы.НайтиПоНаименованию(Строка.Группа");
Запрос.УстановитьПараметр("Родитель", СсылкаНаРодителя);
|
|
7
osa1C
16.08.20
✎
18:48
|
+ (6) Кавычку только в конце не надо )))
|
|
8
Pyryrym
16.08.20
✎
18:55
|
(6) Не помогло(
|
|
9
youalex
16.08.20
✎
18:57
|
(5) >>Пока Выборка.Следующий() Цикл
До первого выполнения метода Следующий() и должно так писать.
Внутри цикла же этой ошибки нет? И при втором проходе?
|
|
10
osa1C
16.08.20
✎
18:59
|
(8) покажи откуда ты эту Строку берешь
|
|
11
Pyryrym
16.08.20
✎
19:03
|
(10) (9) Работает, просто у меня там еще одна ошибка была, которая выскакивала сразу после цикла. Сейчас все нормально, спасибо, всех обниммаю (9) (9)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший