|
Запрос в оборотном регистре | ☑ | ||
---|---|---|---|---|
0
lite700
29.05.15
✎
15:44
|
Есть регистр накопления оборотный ЗВОНОК , у котрого измерения- Менеджер - КлиенТ-
-Причина- , и ресурсы звонков-записалось-отказалось, Задача посчитать по каджому менеджеру, причины отказа( по каждой причине нужно количество отказов по этому менеджеру) в разрезе причин отказа ) причина- это просто текстовый справочник табл долж выг так : менеджер--причина1-причина2-причина3 иванов----- 8 10 5 петров------ 10 7 15 вот пример подсчета звонков сделал , но как причиный считать ? "ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗвонокОбороты.Менеджер КАК Менеджер, | ЗвонокОбороты.Клиент, | ЗвонокОбороты.Причина, | СУММА(ЗвонокОбороты.ЗвонковОборот) КАК ЗвонковОборот, | СУММА(ЗвонокОбороты.ЗаписалосьОборот) КАК ЗаписалосьОборот, | СУММА(ЗвонокОбороты.ОтказалостьОборот) КАК ОтказалостьОборот |ИЗ | РегистрНакопления.Звонок.Обороты(&д1,&д2) КАК ЗвонокОбороты " + ?(ВыбМенеджер = Справочники.ФизическиеЛица.ПустаяСсылка(), "", " ГДЕ ЗвонокОбороты.Менеджер = &ВыбМенеджер ") + "СГРУППИРОВАТЬ ПО | ЗвонокОбороты.Менеджер, | ЗвонокОбороты.Клиент, | ЗвонокОбороты.Причина | |УПОРЯДОЧИТЬ ПО | Менеджер |ИТОГИ | СУММА(ЗвонковОборот), | СУММА(ЗаписалосьОборот), | СУММА(ОтказалостьОборот) |ПО | Менеджер " ; //| Причина "; |
|||
1
AlexTim03
29.05.15
✎
15:47
|
НА СКД делать
|
|||
2
AlexTim03
29.05.15
✎
15:48
|
Либо в запросе явно прописывать
поля Выбор когда причина1 тогда 1 иначе 0.... Выбор когда причина2 тогда 0 иначе 1.... а потом суммировать по менеджерам. Но это подойдет, если причин немного |
|||
3
lite700
29.05.15
✎
15:49
|
Причин немного штук 5 в справочнике
|
|||
4
lite700
29.05.15
✎
15:51
|
причина1 -это предварительно найденный элемент справочника ?
|
|||
5
lite700
29.05.15
✎
15:52
|
в скд не очень разбираюсь
|
|||
6
fisher
29.05.15
✎
15:56
|
(0) Это форма представления данных, а не их обработки. Запрос для такого неудобен. Во все времена было удобно работать с обычными группировками, а по колонкам разворачивать уже в процессе вывода. Можно написать функцию, которая будет преобразовывать результирующую ТЗ нужным образом. Но обычно разворачивали непосредственно в процессе вывода секций в табличный документ - так оптимальнее.
Ну а СКД просто может это сделать сама без дополнительных затрат на программирование. |
|||
7
lite700
29.05.15
✎
16:02
|
с текстом запрос немогу сообразить , функцию количество использовать чтоли
|
|||
8
fisher
29.05.15
✎
16:05
|
И динамический запрос тут не нужен.
Достаточно ГДЕ ЗвонокОбороты.Менеджер = &ВыбМенеджер ИЛИ &ВыбМенеджер = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) |
|||
9
lite700
29.05.15
✎
16:08
|
подскажи лучше текст запроса тогда-когда
|
|||
10
fisher
29.05.15
✎
16:08
|
Но вообще бросай это дело. Очевидно же, что рисуешь какой-то интерактивный отчет по семерочным технологиям. Учи СКД. Затрат на разработку на порядок меньше, а функционала на порядок больше.
|
|||
11
fisher
29.05.15
✎
16:09
|
(9) Тогда-когда - это бред. Тебе придется завязаться на конкретные элементы. Чтобы сделать такой запрос нечувствительным к добавлению новых причин - придется делать его динамическим и насквозь дебильным.
|
|||
12
lite700
29.05.15
✎
16:16
|
выучу , на счас нужно быстро сварганить отчет
|
|||
13
fisher
29.05.15
✎
16:19
|
(12) Просто выводи секции в цикле. Цикл по группировке "Менеджер" - вывести секцию. А вложенный цикл по полному списку причин запроса - присоединить секцию (в нем уже получаешь значения по причинам менеджера).
|
|||
14
Fragster
гуру
29.05.15
✎
16:19
|
Вот такой запрос:
"ВЫБРАТЬ | ЗвонокОбороты.Менеджер КАК Менеджер, | ЗвонокОбороты.Клиент, | ЗвонокОбороты.Причина, | СУММА(ЗвонокОбороты.ЗвонковОборот) КАК ЗвонковОборот, | СУММА(ЗвонокОбороты.ЗаписалосьОборот) КАК ЗаписалосьОборот, | СУММА(ЗвонокОбороты.ОтказалостьОборот) КАК ОтказалостьОборот |ИЗ | РегистрНакопления.Звонок.Обороты(&д1,&д2) КАК ЗвонокОбороты запихиваешь в СКД |
|||
15
Fragster
гуру
29.05.15
✎
16:19
|
да и параметры с датами надо убрать
|
|||
16
Fragster
гуру
29.05.15
✎
16:19
|
и сумма() тоже
|
|||
17
Fragster
гуру
29.05.15
✎
16:20
|
далее на закладке "ресурсы" добавляешь свои звонки
|
|||
18
Fragster
гуру
29.05.15
✎
16:20
|
далее на странице "настройки" запускаешь мастер
|
|||
19
Fragster
гуру
29.05.15
✎
16:20
|
там будет все понятно
|
|||
20
Fragster
гуру
29.05.15
✎
16:21
|
потом если управляемые формы - тыкаешь на "пользовательские настройки" и включаешь туда параметры и отбор
|
|||
21
Fragster
гуру
29.05.15
✎
16:21
|
если до этого у отчета была форма - нафиг её удаляешь, и весь код дополнительный тоже удаляешь
|
|||
22
ДенисЧ
29.05.15
✎
16:22
|
(21) Ты перешёл работать на бисерную фабрику? ))
|
|||
23
fisher
29.05.15
✎
16:23
|
Теперь он в ответе за тех, кого приручил.
|
|||
24
lite700
29.05.15
✎
16:24
|
УХ попробуем, или как говорили в одном фильме "В салоне пахнет бензином- ПОНЮХАЕМ !
|
|||
25
Fragster
гуру
29.05.15
✎
16:25
|
(22) счас автор врубится в то, как на СКД просто простые отчеты рисовать
|
|||
26
Fragster
гуру
29.05.15
✎
16:26
|
и потом будет уже спрашивать, как рисовать сложные, а также про автозаполнение. и вот там уже его в гугл надо тыкать будет
|
|||
27
lite700
29.05.15
✎
16:26
|
хорошо бы просто рисовать сложные
|
|||
28
Fragster
гуру
29.05.15
✎
16:27
|
(27) для этого надо самому набить немного шишек, чтобы понять (более/менее), как оно работает
|
|||
29
Fragster
гуру
29.05.15
✎
16:27
|
но с простыми типа (0) - вообще никаких проблем, за 3 минуты сделать
|
|||
30
lite700
29.05.15
✎
16:27
|
у меня даже книжка есть построение сложных отчетов в СКД )))
|
|||
31
lite700
29.05.15
✎
16:28
|
лана всем спасибо ))
|
|||
32
fisher
29.05.15
✎
16:30
|
(27) Сложность разная бывает. Для сложных оформительских изысков СКД плохо подходит. Поэтому печатные формы документов удобнее по-старинке делать. Т.е. в СКД тоже можно - но на круг сложнее выходит. А вот функциональные универсальные отчеты без особых "хотелок" оформления - делаются в пол-пинка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |