Здравствуйте! Возникла необходимость в своем приложении рассчитывать время, затраченное по задачам в группах за произвольный период. Попытался реализовать это дело следующим образом - с помощью Rest метода task.items.getlistполучаю массив задач. Чтобы не получать список всех задач, решил сравнивать поле CHANGED_DATE (дата последнего изменения задачи) с начальной и конечной датами периода, таким образом получая список задач, с которыми сотрудники действительно работали, но...обнаружил, что, например, внесение сотрудником записи о затраченном времени почему-то не отражается в данном поле. То есть, по сути, часть задач может просто не попасть в выборку, если допустим в периоде сотрудник не производил никаких действий с задачей (добавление комментариев, изменение статуса и т.д.), кроме добавления записей по временным затратам.
Поделитесь идеями, как еще можно решить данную проблему? Спасибо)
Alexey Andreev написал: Точно так же страдал Не нашел другого способа, кроме как переписывать инфо о времени в хранилище и уже работать с ним.
Странно это конечно всё... Неужели такое поведение системы является нормой и заложено разработчиками... Алексей, а поясните конкретнее, немного не понял с записью в хранилище. Каким образом Вы отслеживали даты внесения изменений в задачи?
Логика проста: права В теории, самый правильный вариант - это получить все записи, например, за текущий день. А через запись получить доступа к задаче, группе и т.д. Но сейчас получить записи о затраченном времени можно только зная ID задачи. Так сделано для того, что-бы я не мог получить данные по чужим задачам.
Хранилище - пока это теория, поскольку она выглядит "кривой" пытаюсь придумать что-то более красивое. А в теории: при первом запуске придется перебрать все задачи, где-то сохранить актуальные на тек. момент, потом выбирать их и искать новые. Есть у меня подозрение, что такой подход будет наращивать выборку как снежный ком. Но другого пути пока не вижу.
Все изменилось, есть доступ к сущности Затраченное время. Делаем выборку по затраченному времени за нужный период https://dev.1c-bitrix.ru/rest_help/tasks/task/elapseditem/getlist.php Из нее получаем массив ID задач, по которым велась работа за этот период. Поведение такое вполне логично, т.к. затраченное время - отдельная сущность.