Администрирование · 10 мин
Как очистить задачи в 1С: способы, риски и проверка результата
Как удалить или завершить накопившиеся задачи в 1С: ручная очистка, регламентные задания, обработки и типичные ошибки при очистке базы.
Задачи в 1С накапливаются быстро: напоминания, задачи по бизнес-процессам, поручения сотрудникам, служебные задания обмена данными. Со временем их становятся тысячи, список перестаёт открываться быстро, а пользователи жалуются на «мусор» в интерфейсе. Очистить задачи можно несколькими способами — от ручного завершения до массовой обработки, и выбор зависит от того, о каких именно задачах идёт речь и нужна ли история.
Прежде чем удалять что-либо, важно понять: задача в 1С — это объект конфигурации, часто связанный с бизнес-процессом, документом или согласованием. Простое удаление может нарушить логику процессов: например, незавершённое согласование «повиснет», а документ останется в статусе ожидания. Поэтому безопасный порядок — сначала классифицировать задачи, затем завершить или удалить их корректным способом и только потом проверять целостность данных.
Ниже разобраны основные сценарии: завершение задач через интерфейс, массовая обработка, очистка через код, работа с задачами обмена и регламентными заданиями, а также контроль результата и типичные ошибки.
Какие задачи есть в 1С и почему это важно перед очисткой
В разных конфигурациях «задачи» означают разное. В 1С:Документооборот и 1С:Управление нашей фирмой это поручения и задачи бизнес-процессов (согласование, ознакомление, исполнение). В 1С:Бухгалтерии — задачи из списка «Мои задачи» и напоминания. В конфигурациях с обменами встречаются служебные задачи синхронизации. Каждый тип очищается по-своему.
Ключевое различие — выполненные и невыполненные задачи. Выполненные хранятся для истории и обычно безопасны для архивирования или удаления. Невыполненные могут блокировать движение бизнес-процессов: если удалить задачу согласования, родительский процесс может остаться в подвешенном состоянии, и документ не уйдёт дальше по маршруту.
Проверьте отбор по признаку «Выполнена» — скорее всего, чистить нужно именно историю
Проверьте колонку «Бизнес-процесс» в списке задач
Найдите источник создания, иначе после очистки задачи появятся снова
Достаточно очистки по отбору «Автор» или «Исполнитель»
Как завершить задачи вручную через интерфейс
Самый безопасный способ — завершить задачи штатными средствами. Откройте список задач (в типовых конфигурациях это раздел «Задачи», «Мои задачи» или «Задачи мне»), установите отбор по исполнителю, периоду или состоянию, выделите нужные строки и выполните команду «Выполнить» или «Завершить». Завершённая задача корректно закрывает связанный бизнес-процесс, если он предусматривает такой переход.
Ручное завершение подходит, когда задач немного — десятки, а не тысячи. Его плюс в том, что платформа сама проверяет обязательные условия: например, не даст завершить задачу согласования без заполнения результата. Минус — трудоёмкость и риск пропустить часть задач из-за неправильного отбора.
Обратите внимание на фильтры: по умолчанию список часто показывает только невыполненные задачи текущего пользователя. Чтобы увидеть всё, что нужно очистить, снимите стандартные отборы или настройте свои — по дате создания, автору, виду задачи.
Массовая очистка через «Групповое изменение реквизитов»
Когда задач сотни или тысячи, используйте обработку «Групповое изменение реквизитов» (в типовых конфигурациях: «Администрирование» → «Обслуживание» → «Корректировка данных», либо через «Все функции» → «Обработки»). Она позволяет массово установить признак «Выполнена» или пометку удаления у выбранных объектов.
- 1Сделайте резервную копию базы или выгрузку через «Выгрузить информационную базу»
- 2Откройте обработку «Групповое изменение реквизитов» и выберите объект «Задачи» нужного вида
- 3Настройте отбор: например, «Выполнена = Истина» и «Дата создания меньше указанной»
- 4Нажмите «Найти ссылки» и проверьте глазами список найденных объектов
- 5Установите действие — пометка на удаление или изменение реквизита
- 6Выполните обработку и проверьте результат в списке задач
Пометка на удаление не стирает данные физически. Чтобы освободить место, после пометки запустите «Удаление помеченных объектов» («Администрирование» → «Обслуживание»). Учтите: если на задачу ссылаются другие объекты, удаление будет заблокировано — платформа покажет список препятствующих ссылок, и их придётся разобрать отдельно.
Очистка задач программно через код
Администраторы и разработчики часто очищают задачи через внешнюю обработку или консоль кода. Это удобно для регулярной чистки по расписанию и для сложных условий, которые не задать стандартным отбором. Типовой подход — запросом выбрать ссылки на задачи и в цикле либо вызвать программное выполнение, либо установить пометку удаления.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Задача.ЗадачаИсполнителя ГДЕ Выполнена И Дата < &Дата";
Запрос.УстановитьПараметр("Дата", ДобавитьМесяц(ТекущаяДата(), -12));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ОбъектЗадачи = Выборка.Ссылка.ПолучитьОбъект();
ОбъектЗадачи.УстановитьПометкуУдаления(Истина);
КонецЦикла;Имя задачи в метаданных («ЗадачаИсполнителя» в примере) зависит от конфигурации — уточните его в конфигураторе. Программное выполнение задачи (метод ВыполнитьЗадачу()) предпочтительнее пометки удаления, если задача участвует в бизнес-процессе: оно корректно продвигает процесс дальше, тогда как удаление просто обрывает связь.
Запускайте такой код сначала в тестовой копии базы. Для больших объёмов обрабатывайте задачи порциями с фиксацией транзакции, чтобы не держать длинную блокировку в рабочее время.
Очистка служебных задач и задач обмена данными
Отдельная категория — задачи, которые создаются автоматически: регламентными заданиями, подсистемами обмена, интеграциями с сайтом или почтой. Их очистка бессмысленна без отключения источника: на следующий день список наполнится снова. Сначала найдите регламентное задание или настройку обмена, которая порождает задачи, и скорректируйте её расписание или условия.
В некоторых конфигурациях есть штатные средства очистки: например, настройки хранения истории бизнес-процессов, сроки хранения сообщений обмена, обработки «архивации» старых данных. Ищите их в разделах «Администрирование» → «Обслуживание» или в настройках конкретной подсистемы. Штатный механизм всегда предпочтительнее ручного удаления, потому что он учитывает связи объектов.
Как проверить результат и не сломать процессы
После очистки проверьте три вещи: скорость открытия списка задач, состояние связанных бизнес-процессов и отсутствие «битых» ссылок. Откройте несколько документов, которые проходили согласование, — статусы должны быть осмысленными, а не «зависшими». Запустите поиск ссылок на удалённые объекты, если удаляли физически.
Как проверить результат
Открывается быстро, нет старых выполненных задач
Задачи на месте — отбор в обработке был неверным
Активные процессы продолжают двигаться по маршруту
Процессы «зависли» — удалили связанные задачи вместо завершения
Массовые изменения зафиксированы под нужным пользователем
Ошибки записи объектов — часть задач не обработана
Появляются только рабочие задачи
Служебные задачи растут снова — не отключён источник
Если часть процессов всё же пострадала, восстановление возможно только из резервной копии — ещё одна причина не пропускать этот шаг. В клиент-серверном варианте попросите администратора СУБД сделать снимок базы перед массовой операцией: это быстрее, чем выгрузка через конфигуратор.
Типичные ошибки при очистке задач
Ещё одна частая ситуация: администратор чистит задачи только у «главного» пользователя, а у остальных сотрудников списки остаются перегруженными. Отбор стройте по всем исполнителям, либо заранее согласуйте с пользователями, чьи задачи подлежат очистке.
Что важно запомнить
Сначала определите тип задач и их связь с бизнес-процессами, затем сделайте резервную копию. Небольшие объёмы завершайте вручную, большие — через «Групповое изменение реквизитов» или код, предпочитая завершение удалению. Служебные задачи чистите только после отключения их источника, а результат проверяйте по списку задач, процессам и журналу регистрации.
Частые вопросы
Можно ли удалить задачи без пометки на удаление?
Непосредственное удаление объектов в пользовательском режиме недоступно — стандартный путь это пометка на удаление и последующая обработка «Удаление помеченных объектов». Программно прямое удаление возможно, но оно обходит контроль ссылочной целостности и может оставить «битые» ссылки в бизнес-процессах и документах.
Что делать, если задача не удаляется из-за ссылок на неё?
Обработка удаления помеченных объектов покажет список объектов, которые ссылаются на задачу. Обычно это бизнес-процессы. Завершите или пометьте на удаление сначала их, затем повторите удаление задач. Удалять ссылки принудительно не стоит — это нарушит логику процессов.
Как очистить задачи только одного сотрудника?
В обработке группового изменения реквизитов добавьте отбор по полю «Исполнитель» (или «Пользователь» — название зависит от конфигурации) и укажите нужного сотрудника. Перед выполнением проверьте список найденных объектов, чтобы не затронуть чужие задачи.
Удалятся ли напоминания вместе с задачами?
Напоминания в типовых конфигурациях — отдельный механизм, часто хранящийся в регистрах сведений, а не в объектах «Задачи». Их очищают отдельно: через список «Мои напоминания» или удалением записей соответствующего регистра. Уточните механизм в своей конфигурации.
Как автоматизировать регулярную очистку старых задач?
Напишите внешнюю обработку с выборкой и пометкой старых выполненных задач и подключите её через механизм дополнительных отчетов и обработок с расписанием, либо создайте своё регламентное задание в конфигурации. Обязательно предусмотрите в коде ограничение по дате и запись в журнал регистрации.
Опасно ли чистить задачи в рабочее время?
Ручное завершение отдельных задач безопасно. Массовые обработки в клиент-серверной базе создают блокировки и нагрузку — их лучше выполнять в нерабочее время или порциями. В файловой базе любая массовая операция требует монопольного доступа, то есть все пользователи должны выйти.