Группировки в СКД 1С.

1. BuryMeInVegas 25.09.19 14:04 Сейчас в теме
И снова добрый день. Я лишь в начале своего пути освоения 1С, поэтому тапочкой сильно не бейте, пожалуйста.

Имеется задача, где необходимо построить отчёт в СКД, где должны выводиться записи одного регистра сведений, который фиксирует работу менеджера по обзвону контрагентов. Нужно показать данные за период (неделя):

а) Общее количество звонков.
б) Количество запланированных звонков.
в) Количество эффективных звонков (подписан договор).
г) Количество запланированных звонков на следующий период.

Как я это вижу: во вкладке "Ресурсы" я нахожу количество записей по выбранному полю (Количество (<ИмяПоля>)). После чего отправляю эти данные в уровни группировок. Но дело в том, что у меня для каждого вида данных выводится информация из пункта (а) (то есть и в количестве запланированных звонков, и в количестве эффективных стоит ОБЩЕЕ количество звонков). Вопрос: как, имея общее количество звонков за период, получать количество запланированных и эффективных звонков?
По теме из базы знаний
Найденные решения
4. dhurricane 25.09.19 14:21 Сейчас в теме
(3) Тогда количество эффективных звонков можно вычислить как:
Сумма(Выбор Когда ПодписанДоговор Тогда 1 Иначе 0 Конец)
8. dhurricane 25.09.19 14:44 Сейчас в теме
(7) Не совсем понял про запланированные звонки. Если звонок считается запланированным, когда указана дата переноса, то выражение ресурса будет следующим:
Сумма(Выбор Когда ЗначениеЗаполнено(ДатаПереноса) Тогда 1 Иначе 0 Конец)

Про запланированные на следующий период ничего не могу сказать, т.к. не знаю запроса.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 25.09.19 14:11 Сейчас в теме
(1) Трудно ответить не глядя на набор данных, которым должна оперировать СКД. Уточните, пожалуйста, как Вы сами отделяете эффективные звонки от прочих? Есть какой-то признак? Или поле с договором?
3. BuryMeInVegas 25.09.19 14:18 Сейчас в теме
(2) В регистре сведений имеется ресурс "ПодписанДоговор", имеющий тип Булево. При проведении документа, если договор подписан, менеджер ставит "Истина" в поле "ПодписанДоговор". Выглядит это так:
Прикрепленные файлы:
4. dhurricane 25.09.19 14:21 Сейчас в теме
(3) Тогда количество эффективных звонков можно вычислить как:
Сумма(Выбор Когда ПодписанДоговор Тогда 1 Иначе 0 Конец)
5. BuryMeInVegas 25.09.19 14:31 Сейчас в теме
(4) Прошу прощения за, возможно, идиотский вопрос, но где именно нужно добавить эту строку? Во вкладке ресурсы, где в данные момент я получаю количество записей? Или в тексте самого запроса?
6. dhurricane 25.09.19 14:34 Сейчас в теме
(5) Я предполагал, что в ресурсах. Но если все показатели можно посчитать в запросе, то почему бы и нет. В ресурсах будут только суммы.
7. BuryMeInVegas 25.09.19 14:41 Сейчас в теме
(6) Да, сделал это в ресурсах, действительно, с подписанными договорами всё решилось. Однако теперь для запланированных звонков не понятно как решить, ибо признак запланированности звонка - это ресурс "ДатаПереноса". Думаю, в данном случае эта конструкция не подойдёт, верно? И, к тому же, я понаглею ещё немного и посмею задать ещё один вопрос. :) Каким образом можно вытащить Количество запланированных звонков на следующий период? Через параметр ДатаПереноса >= КонецПериода не получится, ибо этот параметр наложится на весь запрос, что исказит данные.
8. dhurricane 25.09.19 14:44 Сейчас в теме
(7) Не совсем понял про запланированные звонки. Если звонок считается запланированным, когда указана дата переноса, то выражение ресурса будет следующим:
Сумма(Выбор Когда ЗначениеЗаполнено(ДатаПереноса) Тогда 1 Иначе 0 Конец)

Про запланированные на следующий период ничего не могу сказать, т.к. не знаю запроса.
9. BuryMeInVegas 25.09.19 14:46 Сейчас в теме
10. BuryMeInVegas 25.09.19 14:59 Сейчас в теме
(8)Касательно запланированных звонков всего за неделю: это количество звонков, которые не окончились подписанием договора, и перенесены на другую дату в течение одной недели. Количество запланированных звонков на следующий период: это количество звонков, которые были перенесены на число, которое позже конца этой недели. Например, если звонок запланирован на 25.09.2019, он выводится в общем количестве запланированных звонков, а если на 1.10.2019, тогда выводится и в общем количестве запланированных звонков (если он планировался на этой неделе), и в количество запланированных звонков, позже конца этой недели. Надеюсь, понятно описал. :)


UPD. Текст запроса таков:

ВЫБРАТЬ
	ДанныеОЗвонках.Контрагент КАК ОбщееКоличествоЗвонков,
	ДанныеОЗвонках.ДатаПереноса КАК КоличествоЗапланированныхЗвонков,
	ДанныеОЗвонках.ПодписанДоговор КАК КоличествоЭффективныхЗвонков,
	ДанныеОЗвонках.ДатаПереноса КАК КоличествоЗапланированныхЗвонковНаСледующийПериод
ИЗ
	РегистрСведений.ДанныеОЗвонках КАК ДанныеОЗвонках
ГДЕ
	ДанныеОЗвонках.Период МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
	ДанныеОЗвонках.Контрагент,
	ДанныеОЗвонках.ПодписанДоговор,
	ДанныеОЗвонках.ДатаПереноса,
	ДанныеОЗвонках.ДатаПереноса
Показать


Почему выбираю контрагента как общее количество звонков? Потому что для каждой записи в регистре существует свой контрагент, и если перебрать их количество, можно получить общее количество звонков.
11. dhurricane 25.09.19 15:42 Сейчас в теме
(10) Ну выражение ресурса для запланированных на следующий период вероятно будет таким:
Сумма(Выбор Когда ДатаПереноса > &КонецПериода Тогда 1 Иначе 0 Конец)

А вообще, посчитали бы сразу все в запросе, и не мучились бы :)
ВЫБРАТЬ
    КОЛИЧЕСТВО(*) КАК ОбщееКоличествоЗвонков,
    СУММА(ВЫБОР
        КОГДА ДанныеОЗвонках.ДатаПереноса <> ДАТАВРЕМЯ(1,1,1,0,0,0)
        ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ) КАК КоличествоЗапланированныхЗвонков,
    СУММА(ВЫБОР
        КОГДА ДанныеОЗвонках.ПодписанДоговор
        ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ) КАК КоличествоЭффективныхЗвонков,
    СУММА(ВЫБОР
        КОГДА ДанныеОЗвонках.ДатаПереноса > &КонецПериода
        ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ) КАК КоличествоЗапланированныхЗвонковНаСледующийПериод
ИЗ
    РегистрСведений.ДанныеОЗвонках КАК ДанныеОЗвонках
ГДЕ
    ДанныеОЗвонках.Период МЕЖДУ &НачалоПериода И &КонецПериода
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот