Как получить по 10 номенклатур из группы(а в группе есть еще подгруппы)? И вот из каждой нужно по 10.

1. YA_701839434 31.08.23 23:17 Сейчас в теме
По заданию нужно создать обработку на Демонстрационную базу УТ 11.

Обработка по автоматическому созданию документа ПТУ (Приобретение товаров и услуг). в форме обработки выбирается контрагент и группа номенклатуры (справочник иерархический, нужно выбирать именно группу, а не элемент). потом по кнопке создать создается документ ПТУ (может там еще будут какие-то обязательные реквизиты, если да, то вывести их заполнение тоже на форму обработки). в ПТУ в ТЧ товары должны попасть по 10 номенклатур из всех подгрупп (всю длину иерархии) из выбранной группы номенклатуры. Обязательно проверить, что в выбранной группе может быть более одного уровня вложенности. если в группе менее 10 номенклатур, то сколько есть, если более 10 - 10.

Запрос написала такой, но выдает ошибку в консоли запроса мол "При выполнении запроса произошла ошибка: <{ВнешнийОтчет.КонсольЗапросов_КСУ.Форма.ФормаОтчета.Форма(1856)}: Ошибка при вызове метода контекста (Выполнить): {(20, 2)}: Таблица не найдена "ВременнаяТаблица"
<<?>>ВременнаяТаблица КАК ВременнаяТаблица>"

В Номенклатура.Код = "00-00000001" указываю группу, тк в моей консоли нельзя выбирать группы, только элементы :с

Даже проверить правильность запроса не могу, два дня мучаюсь(( Помогите, кто чем сможет, товарищи!

ВЫБРАТЬ
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Ссылка В ИЕРАРХИИ
			(ВЫБРАТЬ
				Номенклатура.Ссылка КАК Ссылка
			ИЗ
				Справочник.Номенклатура КАК Номенклатура
			ГДЕ
				Номенклатура.Код = "00-00000001")
	И Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 10
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
		ПО ВременнаяТаблица.Ссылка = Номенклатура.Ссылка
ГДЕ
	НЕ Номенклатура.ЭтоГруппа
	И Номенклатура.Ссылка В ИЕРАРХИИ
			(ВЫБРАТЬ
				ВременнаяТаблица.Ссылка
			ИЗ
				ВременнаяТаблица КАК ВременнаяТаблица)

СГРУППИРОВАТЬ ПО
	Номенклатура.Ссылка
Показать
По теме из базы знаний
Найденные решения
7. Oldsad 01.09.23 02:24 Сейчас в теме
ВЫБРАТЬ
	Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Группы
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.ЭтоГруппа = ИСТИНА
	И Номенклатура.Ссылка В ИЕРАРХИИ (&Группа)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Группы.Ссылка КАК Группа,
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	ВТ_Группы КАК ВТ_Группы
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
		ПО ВТ_Группы.Ссылка = Номенклатура.Родитель
			И (Номенклатура.Ссылка В
				(ВЫБРАТЬ ПЕРВЫЕ 10
					Номенклатура10.Ссылка
				ИЗ
					Справочник.Номенклатура КАК Номенклатура10
				ГДЕ
					Номенклатура10.Родитель = ВТ_Группы.Ссылка
					И Номенклатура10.ЭтоГруппа = ЛОЖЬ))
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Vitaly1C8 01.09.23 01:37 Сейчас в теме
(1) предлагаю следующую последовательность действий
1. Получить все группы В ИЕРАРХИИ
2. Получить Автономерзаписи(), Номенклатура, Группа ГДЕ Группа в (1) СОРТИРОВАТЬ ПО Группа, Номенклатура
3. Определить стартовые номеразаписей для каждой группы
Группа, МИНИМУМ(Автономерзаписи) ИЗ (2)
4. ВЫБРАТЬ Группа, 2.Номенклатура ИЗ (3) ЛЕВОЕ СОЕДИНЕНИЕ (2)
по 3.Группа = 2.Группа И 2.Автономерзаписи МЕЖДУ 3.Автономерзаписи И 3.Автономерзаписи + 9
5. YA_701839434 01.09.23 01:55 Сейчас в теме
(4) В своих рассуждениях я как раз дошла до Автономерзаписи, но не поняла как действовать дальше. В вашем способе мне не все понятно как раз таки после этого момента, но я попробую разобраться
6. YA_701839434 01.09.23 02:04 Сейчас в теме
(4)
Группа ГДЕ Группа в (1)


Я немного не поняла, в качестве группы брать ссылки, полученные в пункте 1?
8. YA_701839434 01.09.23 02:37 Сейчас в теме
(4) Где-то я по моему ошиблась. Поправьте пожалуйста, если можно.

ВЫБРАТЬ
	Номенклатура.Ссылка КАК Группы,
	АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Ссылка В ИЕРАРХИИ
			(ВЫБРАТЬ
				Номенклатура.Ссылка КАК Ссылка
			ИЗ
				Справочник.Номенклатура КАК Номенклатура
			ГДЕ
				Номенклатура.Код = "00-00000001")
	И Номенклатура.ЭтоГруппа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВременнаяТаблица.Номер КАК Номер,
	Номенклатура.Ссылка КАК Номенкатура,
	ВременнаяТаблица.Группы КАК Группы
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
		ПО ВременнаяТаблица.Группы = Номенклатура.Ссылка

УПОРЯДОЧИТЬ ПО
	Номенкатура,
	Группы
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВременнаяТаблица.Группы КАК Группы,
	МИНИМУМ(ВременнаяТаблица.Номер) КАК Номер
ПОМЕСТИТЬ ГруппыУпорядок
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица

СГРУППИРОВАТЬ ПО
	ВременнаяТаблица.Группы
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ГруппыУпорядок.Группы КАК ГруппыУпор,
	ВременнаяТаблица.Группы КАК ГруппыОбычн
ИЗ
	ГруппыУпорядок КАК ГруппыУпорядок
		ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
		ПО ГруппыУпорядок.Группы = ВременнаяТаблица.Группы
ГДЕ
	ВременнаяТаблица.Номер МЕЖДУ ГруппыУпорядок.Номер И ГруппыУпорядок.Номер + 9
Показать
Vitaly1C8; +1 Ответить
2. karamazoff 118 01.09.23 01:00 Сейчас в теме
Временной таблицы в запросе нет, вот оно и ругается.
Если нужно ехать, а не шашечки, простой, не самый рациональный вариант:
В первом запросе через в ИЕРАРХИИ и Это группа отобрать все вложенные папки,
затем в цикле пройтись по ним еще одним запросом, где уже Номенклатура.Родитель = Папка и
Не Это группа из цикла, выбрать первые 10. Группировать ничего не надо
3. YA_701839434 01.09.23 01:19 Сейчас в теме
(2)
К сожалению вариант запросом еще раз пройтись в цикле по папкам мне уже забраковали.
Сказали: нельзя запрос в цикле делать, должен быть один запрос и потом 1 цикл, в котором будешь получать все необходимые номенклатуры.

вот я уже так пыталась:
Прикрепленные файлы:
7. Oldsad 01.09.23 02:24 Сейчас в теме
ВЫБРАТЬ
	Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_Группы
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.ЭтоГруппа = ИСТИНА
	И Номенклатура.Ссылка В ИЕРАРХИИ (&Группа)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Группы.Ссылка КАК Группа,
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	ВТ_Группы КАК ВТ_Группы
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
		ПО ВТ_Группы.Ссылка = Номенклатура.Родитель
			И (Номенклатура.Ссылка В
				(ВЫБРАТЬ ПЕРВЫЕ 10
					Номенклатура10.Ссылка
				ИЗ
					Справочник.Номенклатура КАК Номенклатура10
				ГДЕ
					Номенклатура10.Родитель = ВТ_Группы.Ссылка
					И Номенклатура10.ЭтоГруппа = ЛОЖЬ))
Показать
9. YA_701839434 01.09.23 02:47 Сейчас в теме
(7) БОГ
Кажется работает, спасибо! Как мне ответит куратор, правильный ли запрос, я вам маякну с:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот