Вход | Регистрация

1С:Предприятие ::

Метки: 

Количество задач на каждую дату.

Я
   Zombi
 
24.08.18 - 20:30
Что то к концу недели тупить начал. Есть отчет на СКД, который отображает количество задач в интервале. Нужно добавить в этот же отчет диаграмму, которая покажет количество документов по дням в этом интервале. С регистрами и остатками на каждый день понятно, а здесь что то не соображу, как сделать. Подскажите.
 
 
   СвинТуз
 
1 - 24.08.18 - 20:33
Что в регистре изначально хранится. Структура?
   Zombi
 
2 - 24.08.18 - 20:39
(1) Нет регистра, выбираются Задачи где Задача.Дата Между Дата1 и Дата2
   Cool_Profi
 
3 - 24.08.18 - 20:44
ВЫБРАТЬ НАЧАЛОПЕРИОДА(Задача.Дата, ДЕНЬ) КАК ДатаЗадач, КОЛИЧЕСТВО(Задача) КАК КоличествоЗадач
Из Задача.МояЗадача КАК Задача
СГРУППИРОВАТЬ ПО НАЧАЛОПЕРИОДА(Задача.Дата, ДЕНЬ)

И выводи в диаграмму
   Zombi
 
4 - 24.08.18 - 20:46
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Задачи.Ссылка КАК Задача,
    Задачи.БизнесПроцесс КАК БизнесПроцесс,
    Задачи.Дата КАК Дата,
    Задачи.ТочкаМаршрута КАК ТочкаМаршрута,
    Задачи.ТекущийИсполнитель КАК Исполнитель,
    ВЫБОР
        КОГДА ПереносыСроковВыполненияПроцессовИЗадач.Предмет ЕСТЬ NULL 
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ПереносСрока
ПОМЕСТИТЬ Задачи
ИЗ
    Задача.ЗадачаИсполнителя КАК Задачи
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПереносыСроковВыполненияПроцессовИЗадач КАК ПереносыСроковВыполненияПроцессовИЗадач
        ПО (ПереносыСроковВыполненияПроцессовИЗадач.Предмет = Задачи.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗадачиДляВыполнения КАК ЗадачиДляВыполнения
        ПО Задачи.Ссылка = ЗадачиДляВыполнения.Задача
ГДЕ
    Задачи.ТекущийИсполнитель <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
    И Задачи.ТекущийИсполнитель <> ЗНАЧЕНИЕ(Справочник.ПолныеРоли.ПустаяСсылка)
    И Задачи.ТочкаМаршрута <> ЗНАЧЕНИЕ(БизнесПроцесс.Исполнение.ТочкаМаршрута.Исполнить)
    И Задачи.ТочкаМаршрута <> ЗНАЧЕНИЕ(БизнесПроцесс.Исполнение.ТочкаМаршрута.ОтветственноеИсполнение)
    И Задачи.ИсключенаИзПроцесса = ЛОЖЬ
    И ЕСТЬNULL(ЗадачиДляВыполнения.СостояниеВыполнения, НЕОПРЕДЕЛЕНО) <> ЗНАЧЕНИЕ(Перечисление.СостоянияЗадачДляВыполнения.ГотоваКВыполнению)
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    Задачи.БизнесПроцесс,
    Задачи.ТочкаМаршрута,
    Задачи.Исполнитель,
    МАКСИМУМ(Задачи.Дата) КАК Дата,
    СУММА(Задачи.ПереносСрока) КАК КоличествоПереносовСрока
ПОМЕСТИТЬ ДатыПоследнихЗадач
ИЗ
    Задачи КАК Задачи

СГРУППИРОВАТЬ ПО
    Задачи.БизнесПроцесс,
    Задачи.ТочкаМаршрута,
    Задачи.Исполнитель
;

////////////////////////////////////////////////////////////////////////////////

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

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ЗадачиПроцессовИсполнения.ИдентификаторИсполнителя,
    ЗадачиПроцессовИсполнения.БизнесПроцесс,
    МАКСИМУМ(ЗадачиПроцессовИсполнения.НомерСтроки) КАК НомерСтроки,
    СУММА(ЗадачиПроцессовИсполнения.ПереносСрока) КАК КоличествоПереносовСрока
ПОМЕСТИТЬ ПоследниеСтрокиЗадачПроцессовИсполнения
ИЗ
    ЗадачиПроцессовИсполнения КАК ЗадачиПроцессовИсполнения

СГРУППИРОВАТЬ ПО
    ЗадачиПроцессовИсполнения.ИдентификаторИсполнителя,
    ЗадачиПроцессовИсполнения.БизнесПроцесс
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗадачиПроцессовИсполнения.ЗадачаИсполнителя КАК Задача,
    ПоследниеСтрокиЗадачПроцессовИсполнения.КоличествоПереносовСрока
ПОМЕСТИТЬ ЗадачиПоследнихЦикловПроцессов
ИЗ
    ПоследниеСтрокиЗадачПроцессовИсполнения КАК ПоследниеСтрокиЗадачПроцессовИсполнения
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЗадачиПроцессовИсполнения КАК ЗадачиПроцессовИсполнения
        ПО ПоследниеСтрокиЗадачПроцессовИсполнения.ИдентификаторИсполнителя = ЗадачиПроцессовИсполнения.ИдентификаторИсполнителя
            И ПоследниеСтрокиЗадачПроцессовИсполнения.БизнесПроцесс = ЗадачиПроцессовИсполнения.БизнесПроцесс
            И ПоследниеСтрокиЗадачПроцессовИсполнения.НомерСтроки = ЗадачиПроцессовИсполнения.НомерСтроки

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Задачи.Задача,
    ДатыПоследнихЗадач.КоличествоПереносовСрока
ИЗ
    ДатыПоследнихЗадач КАК ДатыПоследнихЗадач
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Задачи КАК Задачи
        ПО ДатыПоследнихЗадач.ТочкаМаршрута = Задачи.ТочкаМаршрута
            И ДатыПоследнихЗадач.Исполнитель = Задачи.Исполнитель
            И ДатыПоследнихЗадач.Дата = Задачи.Дата
            И ДатыПоследнихЗадач.БизнесПроцесс = Задачи.БизнесПроцесс
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    СведенияОПользователяхДокументооборот.Пользователь КАК Исполнитель,
    СведенияОПользователяхДокументооборот.Подразделение
ПОМЕСТИТЬ СведенияОПользователяхДокументооборот
ИЗ
    РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ИсполнителиЗадач.РольИсполнителя,
    СведенияОПользователяхДокументооборот.Подразделение
ИЗ
    РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадач
        ПО СведенияОПользователяхДокументооборот.Пользователь = ИсполнителиЗадач.Исполнитель
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
        ПО СведенияОПользователяхДокументооборот.Пользователь = Пользователи.Ссылка
ГДЕ
    Пользователи.Недействителен = ЛОЖЬ

СГРУППИРОВАТЬ ПО
    ИсполнителиЗадач.РольИсполнителя,
    СведенияОПользователяхДокументооборот.Подразделение
;

////////////////////////////////////////////////////////////////////////////////

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

СГРУППИРОВАТЬ ПО
    Задачи.Ссылка,
    Задачи.Выполнена,
    Задачи.СрокИсполнения,
    Задачи.ДатаИсполнения,
    Задачи.Автор,
    Задачи.Исполнитель,
    Задачи.РольИсполнителя,
    СведенияОПользователяхДокументооборот.Подразделение,
    Задачи.Проект
;

////////////////////////////////////////////////////////////////////////////////

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

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    СУММА(РезультатБезГруппировки.Количество) КАК Количество,
    СУММА(РезультатБезГруппировки.ВСрок) КАК ВСрок,
    СУММА(РезультатБезГруппировки.НеВСрок) КАК НеВСрок,
    СУММА(РезультатБезГруппировки.Выполнено) КАК Выполнено,
    СУММА(РезультатБезГруппировки.НеВыполнено) КАК НеВыполнено,
    СУММА(РезультатБезГруппировки.Выполняются) КАК Выполняются,
    СУММА(РезультатБезГруппировки.Просроченные) КАК Просроченные,
    РезультатБезГруппировки.КоличествоПереносовСрока,
    РезультатБезГруппировки.Задача,
    РезультатБезГруппировки.Автор,
    РезультатБезГруппировки.Проект,
    РезультатБезГруппировки.ИсполнительЗадачи,
    РезультатБезГруппировки.Подразделение
ИЗ
    РезультатБезГруппировки КАК РезультатБезГруппировки

СГРУППИРОВАТЬ ПО
    РезультатБезГруппировки.КоличествоПереносовСрока,
    РезультатБезГруппировки.Задача,
    РезультатБезГруппировки.Автор,
    РезультатБезГруппировки.Проект,
    РезультатБезГруппировки.ИсполнительЗадачи,
    РезультатБезГруппировки.Подразделение
   Zombi
 
5 - 24.08.18 - 20:46
Вот запрос, его результат надо за каждый день
   Zombi
 
6 - 24.08.18 - 20:47
(3) Щас попробую


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует