Запрос, вывод в "шахматку" #728355


#0 by live in sky dreams
Мужики, чего то под утро мозг уснул.. Не могу понять как раньше делал.. Таблица1 ________ Иванов Петров Сидоров Таблица2 _________ Клиент1 Клиент2 Клиент3 Требуемый результат запроса Иванов|Клиент1 Иванов|Клиент2 Иванов|Клиент3 Петров|Клиент1 Петров|Клиент2 Петров|Клиент3 Сидоров|Клиент1 Сидоров|Клиент2 Сидоров|Клиент3 Как построить запрос?
#1 by chelentano
ВЫБРАТЬ     Таблица2.Поле1     Таблица1 КАК Таблица1 ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2 ПО ИСТИНА
#2 by live in sky dreams
То, но немного не то... Извините, надо было сразу написать полностью чего я хочу добиться. Приведу более "близкий к жизни" пример: Таблица1 (Допустим, продажи) _____________________________ Клиент__|__Сумма__|_Менеджер_| Клиент1_|__500____|__Иванов__| Клиент1_|__350____|__Иванов__| Клиент2_|__800____|__Петров__| Клиент3_|__2200___|_Сидоров__| Клиент3_|__400____|_Сидоров__| Таблица2 ________ Иванов__| Петров__| Сидоров_| Если сделать как Вы говорите, то получится ____________________________ Клиент__|__Сумма_|_Менеджер_| Клиент1_|__500___|_Иванов___| Клиент1_|__500___|_Петров___| Клиент1_|__500___|_Сидоров__| Клиент1_|__350___|_Иванов___| Клиент1_|__350___|_Петров___| Клиент1_|__350___|_Сидоров__| Клиент2_|__800___|_Иванов___| Клиент2_|__800___|_Петров___| Клиент2_|__800___|_Сидоров__| Клиент3_|__2200__|_Иванов___| Клиент3_|__2200__|_Петров___| Клиент3_|__2200__|_Сидоров__| Клиент3_|__400___|_Иванов___| Клиент3_|__400___|_Петров___| Клиент3_|__400___|_Сидоров__| А нужно: ____________________________ Клиент__|__Сумма_|_Менеджер_| Клиент1_|__850___|_Иванов___| Клиент1_|___0____|_Петров___| Клиент1_|___0____|_Сидоров__| Клиент2_|___0____|_Иванов___| Клиент2_|__800___|_Петров___| Клиент2_|___0____|_Сидоров__| Клиент3_|___0____|_Иванов___| Клиент3_|___0____|_Петров___| Клиент3_|__2600__|_Сидоров__| Не могу понять как это сделать в запросе (для вывода шахматки "Менеджерклиент")
#3 by live in sky dreams
Это вообще реально сделать в запросе? Или тут нужно запрос выгружать в ТЗ и дополнять саму ТЗ необходимыми полями? Или как еще вывести шахматку?
#4 by live in sky dreams
В конечном итоге мне нужен отчет типа Клиент | Иванов | Петров | Сидоров Клиент1|__850___|____0___|___0____ Клиент2|___0____|___800__|___0____ Клиент3|___0____|____0___|__2600__
#5 by Бубка Гоп
СКД?
#6 by Бубка Гоп
Что если сначала объединить таблицу менеджеров и клиентов, получить что то вроде Клиент__|_Менеджер_| Клиент1_|_Иванов___| Клиент1_|_Петров___| Клиент1_|_Сидоров__| Клиент2_|_Иванов___| Клиент2_|_Петров___| Клиент2_|_Сидоров__| Клиент3_|_Иванов___| Клиент3_|_Петров___| Клиент3_|_Сидоров__| и к ней уже присоединить таблицу расчетов (в примере таблица 1)
#7 by live in sky dreams
Нет, вручную.. Уже так и делаю ))) Сейчас глянем что получится ))
#8 by live in sky dreams
Да, так получилось... Спасибо за участие! Только такой запрос получился... Мне кажется это не богоугодно и Сатана придет за мной :-[
#9 by Бубка Гоп
Ну будет время на досуге придумаешь что получше. Или тут кто еще отпишется.
#10 by live in sky dreams
Не, это я так реализовал)) Запрос причесать нужно просто.. Времени на это нет. Отчет горит.
#11 by live in sky dreams
Еще, вопрос на засыпку. Как правильно сделать выборку, чтобы в итогах по иерархии тоже были доступны показатели? Группировки: Организация, НоменклатурнаяГруппа, СтатьяЗатрат Итоги: НоменклатурнаяГруппа ИЕРАРХИЯ, Выборка первого уровня (по организациям) делаю так: ВыборкаПоОрганизации = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам) ..Вывожу секцию с наименованием организации.. Далее ВыборкаПоказателейПоГруппировке = ВыборкаПоОрганизации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СтатьяЗатрат"); Перебираю эту выборку и присоединяю секции с показателями отчета слева направо. Далее я должен сделать выборку по Номенклатурным группам... А они иерархический. То есть если я делаю так: то все равно, когда ВыборкаНоменклатурнаяГруппа.ТипЗаписи = Итог по иерархии - показатели по иерархии не вывести как быть?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С