Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 окт 2021, 14:59

объединение строк запроса с конструкцией ВЫБОР КОГДА

Автор anna_m, 02 июн 2021, 16:47

0 Пользователей и 1 гость просматривают эту тему.

anna_m

Добрый день!

Есть результат запроса, выдающий таблицу:







видкол-во
Груши большие5
Груши маленькие7
Карандаши цветные3
Карандаши простые10

необходимо просуммировать все груши как "груши большие", а карандаши как "карандаши цветные".

Вариант в конструкции прописать:

ВЫБОР
КОГДА ...
ТОГДА "груши большие"
КОГДА ...
тогда "карандаши цветные"
КОНЕЦ

не подойдет, ибо дальше надо заполнить ТЧ документа, где в колонке "вид товара" надо будет указать ссылку на элемент справочника "груши большие" или "карандаши цветные" и суммарное количество.

Запуталась, как сделать логичнее?



alex0402


ВЫБРАТЬ Номенклатура, Сумма(Количество) ИЗ
    Таблица
СГРУППИРОВАТЬ ПО
Номенклатура
Спасибо за Сказать спасибо

LexaK

через параметры задайте нужные группы (именно виды) получается такой вариант


Выбрать
Выбор
Когда Вид = &ГрМал Тогда &ГрБол
Когда Вид = &КарПр Тогда &КарЦв
Иначе Вид
Конец как Вид,
Сумма(Количество) как Количество
из
ТабРезультат
сгруппировать по
Выбор
Когда Вид = &ГрМал Тогда &ГрБол
Когда Вид = &КарПр Тогда &КарЦв
Иначе Вид
Конец



или создать таблицу соответствия СтарыйВид, НовыйВид


и не ней левым соединением присоединить результат и проагрегировать

СтарыйВид, НовыйВид
Груши большие, Груши большие
Груши маленькие, Груши большие
Карандаши цветные, Карандаши цветные
Карандаши простые, Карандаши цветные
.... и т.д.


получится такой запрос

Выбрать
Виды.НовыйВид как Вид,
Сумма(Результат.Количество) как Количество
из
Виды
левое соединение Результат
по Виды.СтарыйВид = Режультат.Вид

Сгруппировать по
Виды.НовыйВид
ответ Понравился? (в смысле пригодился?)

anna_m

Цитата: LexaK от 02 июн 2021, 17:32
через параметры задайте нужные группы (именно виды) получается такой вариант


Выбрать
Выбор
Когда Вид = &ГрМал Тогда &ГрБол
Когда Вид = &КарПр Тогда &КарЦв
Иначе Вид
Конец как Вид,
Сумма(Количество) как Количество
из
ТабРезультат
сгруппировать по
Выбор
Когда Вид = &ГрМал Тогда &ГрБол
Когда Вид = &КарПр Тогда &КарЦв
Иначе Вид
Конец




LexaK, спасибо! я сделала аналогично Вашему первому варианту, все получилось!

а если сделать

ВЫБОР
КОГДА ...
ТОГДА "груши большие"
КОГДА ...
тогда "карандаши цветные"
КОНЕЦ

, связать со справочником по наименованию и в результате запроса вывести нужную ссылку элемента справочника? Это будет ошибкой?

LexaK

Цитировать, связать со справочником по наименованию и в результате запроса вывести нужную ссылку элемента справочника? Это будет ошибкой?
возможны различные варианты решения вашей задачи, можно и через имя сравнивать, только запрос сложнее получится
всегда приходится искать компромисс между оптимальностью, наглядностью, рациональностью, поддерживаимостью, гибкостью и т.д.
ответ Понравился? (в смысле пригодился?)

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск