Помогите С Запросом

  • Автор темы Автор темы Allexei
  • Дата начала Дата начала
A

Allexei

Всем доброго времени суток. Вопрос такой. Есть запрос по регустру.В выборку попадают поля номенклатура и количествоПроданногоТовара.Все это дело выводится в отчет. Сделано все, разумеется, на скд. Теперь необходимо что бы выводилось еще два поля.Первое поля это процент продаж от общих продаж и второе это процент продаж от продаж по данной группе товаров (где группа является самым верхним уровнем справосника номенклатуры). Есть идеи как это сделать не прибегая к ручному кодописанию?
------------------------
с первым разобрался. Второй вопрос открыт. Как вариант хотел сделать итоги по иерархии, поместить их во временную таблицу, из временной таблицы выбрать элементы у которых родитель равен пустой ссылке. Но к сожелению во временных таблицах функции итогов не работают...
 
А сделать отдельный пакет, который будет считать это, не подходит? Сделать аналог итогов, только не итоги использовать, а группировку.
 
А сделать отдельный пакет, который будет считать это, не подходит? Сделать аналог итогов, только не итоги использовать, а группировку.

Если честно то не совсем понял как. Сейчас сделано так:
Код:
ВЫБРАТЬ
Номенклатура.Ссылка
ПОМЕСТИТЬ Товары
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Товары.Ссылка,
ВЫБОР
КОГДА Товары.Ссылка.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель
КОНЕЦ КАК Родитель
ИЗ
Товары КАК Товары

Если не трудно то не могли бы Вы привести пример для товаров помещенных во временную таблицу "Товары"
 
я так понимаю в написанных пакетах еще есть КолПродТов допустим

ВЫБРАТЬ
Номенклатура.Ссылка
ПОМЕСТИТЬ Товары
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка = &Ссылка

;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Товары.Ссылка,
ВЫБОР
КОГДА Товары.Ссылка.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель
КОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА Товары.Ссылка.Родитель.Родитель.Родитель.Родитель.Родитель
КОНЕЦ КАК Родитель,
КолПродТов
ПОМЕСТИТЬ ВТ_1
ИЗ
Товары КАК Товары
;
ВЫБРАТЬ
ВТ_1.Родитель,
СУММА(ВТ_1.КолПродТов)КАК КолПоГруппе
ПОМЕСТИТЬ ВТ_Сгр
ИЗ ВТ_1 КАК ВТ_1
СГРУППИРОВАТЬ ПО ВТ_1.Родитель
;
ВЫБРАТЬ
ВТ_1.КолПрод/ВТ_Сгр.КолПоГруппе КАК Процент,
ВТ_1.Товар,
ВТ_1.Родитель КАК Родитель
ИЗ ВТ_1 КАК ВТ_1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ
ВТ_Сгр По ВТ_1.Родитель = ВТ_Сгр.Родитель

Но вообще, мне кажется, что можно и средствами СКД посчитать процент из группы, если в результат будет попадать только родитель верхнего уровня, как вы сделали.
 
unknown181538 именно так и сделал, просто текст запроса не стал приводить полностью так как не думаю что там есть что то трудное кроме получения корневого элемента(да и его получение не трудное, просто не очень красивое какое то...). Тока проблема состоит в том что конструкция выбор когда....выбор когда...не очень феншуйная, мне кажется...Вот и думал как бы ее сделать более "православной"...
 
"ВЫБОР КОГДА..." вполне нормальная конструкция, я в ЗУПе видел и не раз
 
Нафига ж я это тогда печатал....)))
 
unknown181538
Ну я же не напечатал.А вопрос встречается только на мисте и то долго искал.Большое спасибо всем.
 
Где -то встречал вопрос разработчику среды (не 1с), что на 143-ем вложенном кейсе выдается ошибка компиляции ;-)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab