Имя: Пароль:
1C
1С v8
Запрос, вывод в "шахматку"
0 live in sky dreams
 
11.12.14
07:08
Мужики, чего то под утро мозг уснул..
Не могу понять как раньше делал..

Таблица1
________
Иванов
Петров
Сидоров

Таблица2
_________
Клиент1
Клиент2
Клиент3

Требуемый результат запроса

Иванов|Клиент1
Иванов|Клиент2
Иванов|Клиент3
Петров|Клиент1
Петров|Клиент2
Петров|Клиент3
Сидоров|Клиент1
Сидоров|Клиент2
Сидоров|Клиент3

Как построить запрос?
1 chelentano
 
11.12.14
07:13
ВЫБРАТЬ
    Таблица1.Поле1,
    Таблица2.Поле1
ИЗ
    Таблица1 КАК Таблица1
ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2 ПО ИСТИНА
2 live in sky dreams
 
11.12.14
11:32
(1)То, но немного не то...
Извините, надо было сразу написать полностью чего я хочу добиться.

Приведу более "близкий к жизни" пример:

Таблица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 live in sky dreams
 
11.12.14
11:55
Это вообще реально сделать в запросе?
Или тут нужно запрос выгружать в ТЗ и дополнять саму ТЗ необходимыми полями?
Или как еще вывести шахматку?
4 live in sky dreams
 
11.12.14
11:59
В конечном итоге мне нужен отчет типа

Клиент | Иванов | Петров | Сидоров
Клиент1|__850___|____0___|___0____
Клиент2|___0____|___800__|___0____
Клиент3|___0____|____0___|__2600__
5 Бубка Гоп
 
11.12.14
12:01
СКД?
6 Бубка Гоп
 
11.12.14
12:06
Что если сначала объединить таблицу менеджеров и клиентов, получить что то вроде

Клиент__|_Менеджер_|
Клиент1_|_Иванов___|
Клиент1_|_Петров___|
Клиент1_|_Сидоров__|
Клиент2_|_Иванов___|
Клиент2_|_Петров___|
Клиент2_|_Сидоров__|
Клиент3_|_Иванов___|
Клиент3_|_Петров___|
Клиент3_|_Сидоров__|

и к ней уже присоединить таблицу расчетов (в примере таблица 1)
7 live in sky dreams
 
11.12.14
12:08
(5)Нет, вручную..

(6)Уже так и делаю ))) Сейчас глянем что получится ))
8 live in sky dreams
 
11.12.14
12:41
Да, так получилось...
Спасибо за участие!

Только такой запрос получился... Мне кажется это не богоугодно и Сатана придет за мной :-[
9 Бубка Гоп
 
11.12.14
12:51
(8) Ну будет время на досуге придумаешь что получше. Или тут кто еще отпишется.
10 live in sky dreams
 
11.12.14
14:18
Не, это я так реализовал))
Запрос причесать нужно просто.. Времени на это нет. Отчет горит.
11 live in sky dreams
 
11.12.14
14:27
Еще, вопрос на засыпку. Как правильно сделать выборку, чтобы в итогах по иерархии тоже были доступны показатели?

Группировки:

Организация,
НоменклатурнаяГруппа,
СтатьяЗатрат

Итоги:
НоменклатурнаяГруппа ИЕРАРХИЯ,
СтатьяЗатрат ИЕРАРХИЯ

Выборка первого уровня (по организациям) делаю так:

ВыборкаПоОрганизации = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам)
..Вывожу секцию с наименованием организации..
Далее
ВыборкаПоказателейПоГруппировке = ВыборкаПоОрганизации.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СтатьяЗатрат");
Перебираю эту выборку и присоединяю секции с показателями отчета слева направо.

Далее я должен сделать выборку по Номенклатурным группам... А они иерархический.
То есть если я делаю так:
ВыборкаНоменклатурнаяГруппа = ВыборкаОрганизация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
или так
ВыборкаНоменклатурнаяГруппа = ВыборкаОрганизация.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);

то все равно, когда ВыборкаНоменклатурнаяГруппа.ТипЗаписи = Итог по иерархии - показатели по иерархии не вывести

как быть?