Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 сен 2021, 18:20

Формирование отчета. Как быть? (Новичок)

Автор jobsdata, 28 авг 2018, 12:14

0 Пользователей и 1 гость просматривают эту тему.

jobsdata

Добрый день.
Из такого отчета:








Задача 1Отдел 1ПетровДата НачалоДата конецСрок
Задача 2Отдел 1СидоровДата НачалоДата конецСрок
Задача 3Отдел 2СиплыйДата НачалоДата конецСрок
Задача 4Отдел 2КозловДата НачалоДата конецСрок
Задача 5Отдел 3ПупкинДата НачалоДата конецСрок
Задача 6Отдел 3ДроздовДата НачалоДата конецСрок

С помощью такого запроса:
ВЫБРАТЬ
КОЛИЧЕСТВО(ЗадачаИсполнителя.Автор.Ссылка) КАК Автор,
ЗадачаИсполнителя.Автор.Подразделение.Ссылка КАК Подразделение,
ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала КАК Дата Начало,
        ЗадачаИсполнителя.ДатаИсполнения КАК Дата Конец,
        ЗадачаИсполнителя.СрокИсполнения КАК Срок
ИЗ
Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
СГРУППИРОВАТЬ ПО
ЗадачаИсполнителя.Автор.Подразделение.Ссылка,
ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала


Делаю такой мини отчет:





Отдел 1Кол-во выполненных задач: 2
Отдел 2Кол-во выполненных задач: 2
Отдел 3Кол-во выполненных задач: 2

Дата Начало, Дата Конец, Срок - Тип Дата, Состав даты Дата и время

Можно ли в этом запросе посчитать еще и кол-во просроченных задач?

Что то типо Дата Конец больше Даты Срока:
ВЫБРАТЬ
КОЛИЧЕСТВО(ЗадачаИсполнителя.Автор.Ссылка) КАК Автор,
ЗадачаИсполнителя.Автор.Подразделение.Ссылка КАК Подразделение,
ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала КАК БизнесПроцессДатаНачала,
КОЛИЧЕСТВО(ЗадачаИсполнителя.СрокИсполнения < ЗадачаИсполнителя.ДатаИсполнения) КАК Просрочено
ИЗ
Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
СГРУППИРОВАТЬ ПО
ЗадачаИсполнителя.Автор.Подразделение.Ссылка,
ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала


Чтоб на выходе было:





Отдел 1Кол-во выполненных задач: 2Просрочено: 2
Отдел 2Кол-во выполненных задач: 2Просрочено: 10
Отдел 3Кол-во выполненных задач: 2Просрочено: 4

Спасибо.

alex0402

Цитата: jobsdata от 28 авг 2018, 12:14ВЫБРАТЬ
    КОЛИЧЕСТВО(ЗадачаИсполнителя.Автор.Ссылка) КАК Автор,
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка КАК Подразделение,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала КАК БизнесПроцессДатаНачала,
    КОЛИЧЕСТВО(ЗадачаИсполнителя.СрокИсполнения < ЗадачаИсполнителя.ДатаИсполнения) КАК Просрочено
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
СГРУППИРОВАТЬ ПО
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала

ВЫБРАТЬ
    КОЛИЧЕСТВО(ЗадачаИсполнителя.Автор.Ссылка) КАК Автор,
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка КАК Подразделение,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала КАК БизнесПроцессДатаНачала,
    КОЛИЧЕСТВО(ВЫБОР КОГДА ЗадачаИсполнителя.СрокИсполнения < ЗадачаИсполнителя.ДатаИсполнения ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК Просрочено
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
СГРУППИРОВАТЬ ПО
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала


Спасибо за Сказать спасибо

LexaK

попробуйте такой запрос (опечатки только поправьте если будут)

ВЫБРАТЬ
    ЗИ.Автор.Подразделение КАК Подразделение,
    Количество(ЗИ.БизнесПроцесс) как КоличествоОбщее,
    //есть/заполнена дата исполнения =
    Сумма(выбор когда ЗИ.ДатаИсполнения = ДатаВремя(1,1,1) тогда 0 иначе 1 Конец) как КоличествоВыполнено,
    //дата выполнено > срока 
    Сумма(выбор когда ЗИ.ДатаИсполнения > ЗИ.СрокИсполнения тогда 1 иначе 0 Конец) как КоличествоПросрочено
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗИ
сгруппировать по   
    ЗИ.Автор.Подразделение

должна получиться табличка
Подразледение, КоличествоОбщее, КоличествоВыполненое, КоличествоПросрочено
ответ Понравился? (в смысле пригодился?)

jobsdata

Цитата: LexaK от 28 авг 2018, 13:37
попробуйте такой запрос (опечатки только поправьте если будут)

ВЫБРАТЬ
    ЗИ.Автор.Подразделение КАК Подразделение,
    Количество(ЗИ.БизнесПроцесс) как КоличествоОбщее,
    //есть/заполнена дата исполнения =
    Сумма(выбор когда ЗИ.ДатаИсполнения = ДатаВремя(1,1,1) тогда 0 иначе 1 Конец) как КоличествоВыполнено,
    //дата выполнено > срока 
    Сумма(выбор когда ЗИ.ДатаИсполнения > ЗИ.СрокИсполнения тогда 1 иначе 0 Конец) как КоличествоПросрочено
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗИ
сгруппировать по   
    ЗИ.Автор.Подразделение

должна получиться табличка
Подразледение, КоличествоОбщее, КоличествоВыполненое, КоличествоПросрочено

Вроде как работает =) Спасибо.
Добавлено: 28 авг 2018, 15:20


ВЫБРАТЬ
    КОЛИЧЕСТВО(ЗадачаИсполнителя.Автор.Ссылка) КАК Автор,
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка КАК Подразделение,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала КАК БизнесПроцессДатаНачала,
    КОЛИЧЕСТВО(ВЫБОР КОГДА ЗадачаИсполнителя.СрокИсполнения < ЗадачаИсполнителя.ДатаИсполнения ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК Просрочено
ИЗ
    Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
СГРУППИРОВАТЬ ПО
    ЗадачаИсполнителя.Автор.Подразделение.Ссылка,
    ЗадачаИсполнителя.БизнесПроцесс.ДатаНачала

[/quote]

Не сработало =(

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск