Имя: Пароль:
1C
1С v8
Запрос в оборотном регистре
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) Сложность разная бывает. Для сложных оформительских изысков СКД плохо подходит. Поэтому печатные формы документов удобнее по-старинке делать. Т.е. в СКД тоже можно - но на круг сложнее выходит. А вот функциональные универсальные отчеты без особых "хотелок" оформления - делаются в пол-пинка.
Основная теорема систематики: Новые системы плодят новые проблемы.