1.
user698184_bunegin
06.10.17 14:56 Сейчас в теме
Добрый день. Подскажите, как в запросе с помощью СКД сделать такой отбор(справочник номенклатура):
Сейчас запрос выводит так :
Код ПолноеНаименование
1 Товар А
2 Товар Б
3 Товар В
4 Товар Г
и т.д.
Сам справочник номенклатура выглядит так (см рисунок), т.е. сам товар находится в папках(группе). Мне нужно исключить товар находящийся в группе "АРХИВ". Но при этом вывод должен быть, как сейчас выводит.
Если в запросе, то
НЕ Номенклатура.Родитель В ИЕРАРХИИ (&ИсключаемаяГруппа)
Если в скд, то просто отбор в пользовательском режиме с видом сравнения "не в группе"
Выбрать
Ном.ссылка КАК РОдитель
Поместить ВТ_Ном
ИЗ
Справочники.Номенклатура КАК Ном
Где
Ном.ЭтоГруппа=истина
И Ном.Наименование="Архив"
;
/////////////
Выбрать
Ном.Код,
Ном.ПолноеНаименование
ИЗ
Справочники.Номенклатура Как Ном
Где
Ном.Этогруппа=Ложь
И Не Ном.Родитель В Иерархии (Выбрать Вт_Ном.Родитель КАК Родитель ИЗ
ВТ_НОМ КАК ВТ_НОМ)
4.
user698184_bunegin
06.10.17 16:22 Сейчас в теме
(3) Объясните пожалуйста
1.Так, мне не понятно, что вот это "Вт_Ном" ?
2. Мой код начальный:
"ВЫБРАТЬ
|Номенклатура.Код,
| Номенклатура.НаименованиеПолное
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|УПОРЯДОЧИТЬ ПО
| Код ";
С вашей подсказкой:
ВЫБРАТЬ
| Номенклатура.Код КАК Код,
| Номенклатура.НаименованиеПолное,
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|Номенклатура.Этогруппа=Ложь
|И Не Номенклатура.Родитель В Иерархии (Выбрать Вт_Номенклатура.Родитель КАК Родитель ИЗ
|ВТ_Номенклатура КАК ВТ_Номенклатура)
|УПОРЯДОЧИТЬ ПО
| Код ";
Показать
Возникает ошибка
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(42)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выгрузить();
по причине:
{(10, 1)}: Таблица не найдена "ВТ_Номенклатура"
<<?>>ВТ_Номенклатура КАК ВТ_Номенклатура)
Где первый запрос? Временная таблица ВТ_Ном. Ты первую часть забыл
Можно так сделать
1) Если это скд
Выбрать
Ном.ссылка КАК РОдитель
Поместить ВТ_Ном
ИЗ
Справочники.Номенклатура КАК Ном
Где
Ном.ЭтоГруппа=истина
И Ном.Наименование="Архив"
;
/////////////
Выбрать
Ном.Код,
Ном.ПолноеНаименование
ИЗ
Справочники.Номенклатура Как Ном
Где
Ном.Этогруппа=Ложь
И Не Ном.Родитель В Иерархии (Выбрать Вт_Ном.Родитель КАК Родитель ИЗ
ВТ_НОМ КАК ВТ_НОМ)
2) Или
Запрос.Текст=
"Выбрать
|Ном.Код,
|Ном.ПолноеНаименование
|ИЗ
|Справочники.Номенклатура Как Ном
|Где
|Ном.Этогруппа=Ложь
|И Не Ном.Родитель В Иерархии (&ИсклГруппа)";
Запрос.УстановитьПараметр("ИсклГруппа",Справочники.Номенклатура.НайтиПоНаименованию("Архив")); ИЛи вообще найтиПОКоду использовать