Имя: Пароль:
1C
 
Помогите с отчетом
,
0 Alex87r
 
14.05.17
00:36
Привет всем, кто не спит. Никак не могу придумать, как сделать запрос/отчет.
Есть справочник контрагенты. Есть регистр, в котором хранятся ответственные менеджеры. Для 1 контрагента может быть несколько менеджеров. В отчете хочу выводить - в строке 1 колонка контрагент, 2 колонка - все менеджеры через запятую.

Вот запрос:

ВЫБРАТЬ
    МТТ_СведенияОРазмерахВознагражденияМенеджеровСрезПоследних.Менеджер КАК Менеджер,
    Контрагенты.Ссылка КАК Ссылка
ИЗ
    РегистрСведений.МТТ_СведенияОРазмерахВознагражденияМенеджеров.СрезПоследних КАК МТТ_СведенияОРазмерахВознагражденияМенеджеровСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО (МТТ_СведенияОРазмерахВознагражденияМенеджеровСрезПоследних.Контрагент = Контрагенты.Ссылка)
ГДЕ
    Контрагенты.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    Ссылка


Если контрагенту назначено 4 менеджера - то в результате будет 4 строки. Можно как нибудь сделать, чтобы была 1 строка и 4 колонки с менеджерами?
1 vmv
 
14.05.17
00:45
ВЫБРАТЬ
    МТТ.Менеджер КАК Менеджер,
    Контрагенты.Ссылка КАК Ссылка

ИЗ
    РегистрСведений.МТТ_СведенияОРазмерахВознагражденияМенеджеров.СрезПоследних КАК МТТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО (МТТ.Контрагент = Контрагенты.Ссылка)
ГДЕ
    Контрагенты.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    Ссылка

так приятнее думать
2 Maniac
 
14.05.17
00:45
СКД?
Сделай программный вывод таблицы и в выборке запроса по циклу лепи в цикле менеджеров 1 строку
3 Maniac
 
14.05.17
00:50
еще вариант красивый

И просто элементарнейший

В настройках отчета группировка контрагент по горизонтали а группировка менеджер по вертикали.

Только сделай какой нить ресурс вывода- булево например.

Тогда у тебя будет

1 строка каждый контрагент - колонки - все менеджеры. а в таблице будет галка что этот менеджер у этого клиента.

Я бы так сделал - очень красиво получается и стандартно
4 Maniac
 
14.05.17
00:51
тьфу наоборот

Контрагент - вертикаль, менеджер горизонталь
5 vmv
 
14.05.17
00:52
(3) просто в настройках СКД выбрать вариант Таблица

строки контрагент, колонка менеджер.
6 Alex87r
 
14.05.17
00:52
(2) ДА, скд.
А отбор по менеджеру так же программно можно будет прикрутить?
(1) ага
7 Maniac
 
14.05.17
00:54
(5) да да .

(6) короче даже не надо программно. просто настройку делаешь и все таблица и что вниз а что вправо
8 Maniac
 
14.05.17
00:54
строка в котрой через запятую - уродство будет. красивее когда таблица
9 vmv
 
14.05.17
00:55
(6) отбор включить в пользовательские настройки.

зачем лишний код?
10 Alex87r
 
14.05.17
00:56
Я не написал в первом посте - отчет кроме этих колонок еще много других данных содержит, и выводится программно. Поэтому, чтобы не было много колонок с менеджерами - их нужно в одну запихнуть)
11 Alex87r
 
14.05.17
00:57
(9) Я так и хотел. не могу запрос сделать, чтобы менеджеров в колонках получать, а не строками.
12 Maniac
 
14.05.17
00:57
(10) от того что это будет 1 колонка с запытями но длиная или 4 колонки - мало что изменится. но приятнее смотреть колонки чем через запятые читать.

а так делай как хоч.
Можно и программно выборку сделать и вообще тогда макет будет какой вздумается
13 vmv
 
14.05.17
00:59
тогда функции СКД группировка в массив чего-то там - их тьма)
14 Franchiser
 
гуру
14.05.17
01:40
В запросе получай менеджеров в строках,  а в скд используй агрегатную функцию для их вывода через запятую
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс