К статье
Практический материал

Администрирование · 10 мин

Как очистить задачи в 1С: способы, риски и проверка результата

Как удалить или завершить накопившиеся задачи в 1С: ручная очистка, регламентные задания, обработки и типичные ошибки при очистке базы.

Задачи в 1С накапливаются быстро: напоминания, задачи по бизнес-процессам, поручения сотрудникам, служебные задания обмена данными. Со временем их становятся тысячи, список перестаёт открываться быстро, а пользователи жалуются на «мусор» в интерфейсе. Очистить задачи можно несколькими способами — от ручного завершения до массовой обработки, и выбор зависит от того, о каких именно задачах идёт речь и нужна ли история.

Прежде чем удалять что-либо, важно понять: задача в 1С — это объект конфигурации, часто связанный с бизнес-процессом, документом или согласованием. Простое удаление может нарушить логику процессов: например, незавершённое согласование «повиснет», а документ останется в статусе ожидания. Поэтому безопасный порядок — сначала классифицировать задачи, затем завершить или удалить их корректным способом и только потом проверять целостность данных.

Ниже разобраны основные сценарии: завершение задач через интерфейс, массовая обработка, очистка через код, работа с задачами обмена и регламентными заданиями, а также контроль результата и типичные ошибки.

Какие задачи есть в 1С и почему это важно перед очисткой

В разных конфигурациях «задачи» означают разное. В 1С:Документооборот и 1С:Управление нашей фирмой это поручения и задачи бизнес-процессов (согласование, ознакомление, исполнение). В 1С:Бухгалтерии — задачи из списка «Мои задачи» и напоминания. В конфигурациях с обменами встречаются служебные задачи синхронизации. Каждый тип очищается по-своему.

Ключевое различие — выполненные и невыполненные задачи. Выполненные хранятся для истории и обычно безопасны для архивирования или удаления. Невыполненные могут блокировать движение бизнес-процессов: если удалить задачу согласования, родительский процесс может остаться в подвешенном состоянии, и документ не уйдёт дальше по маршруту.

Список задач открывается долгоНакоплено много выполненных задач

Проверьте отбор по признаку «Выполнена» — скорее всего, чистить нужно именно историю

Задачи связаны с бизнес-процессамиУдаление может сломать процессы

Проверьте колонку «Бизнес-процесс» в списке задач

Задачи появляются самиРаботает регламентное задание или обмен

Найдите источник создания, иначе после очистки задачи появятся снова

Задачи только у одного пользователяПроблема локальная, например старые напоминания

Достаточно очистки по отбору «Автор» или «Исполнитель»

Как завершить задачи вручную через интерфейс

Самый безопасный способ — завершить задачи штатными средствами. Откройте список задач (в типовых конфигурациях это раздел «Задачи», «Мои задачи» или «Задачи мне»), установите отбор по исполнителю, периоду или состоянию, выделите нужные строки и выполните команду «Выполнить» или «Завершить». Завершённая задача корректно закрывает связанный бизнес-процесс, если он предусматривает такой переход.

Ручное завершение подходит, когда задач немного — десятки, а не тысячи. Его плюс в том, что платформа сама проверяет обязательные условия: например, не даст завершить задачу согласования без заполнения результата. Минус — трудоёмкость и риск пропустить часть задач из-за неправильного отбора.

Обратите внимание на фильтры: по умолчанию список часто показывает только невыполненные задачи текущего пользователя. Чтобы увидеть всё, что нужно очистить, снимите стандартные отборы или настройте свои — по дате создания, автору, виду задачи.

Массовая очистка через «Групповое изменение реквизитов»

Когда задач сотни или тысячи, используйте обработку «Групповое изменение реквизитов» (в типовых конфигурациях: «Администрирование» → «Обслуживание» → «Корректировка данных», либо через «Все функции» → «Обработки»). Она позволяет массово установить признак «Выполнена» или пометку удаления у выбранных объектов.

Порядок массовой обработки
  1. 1
    Сделайте резервную копию базы или выгрузку через «Выгрузить информационную базу»
  2. 2
    Откройте обработку «Групповое изменение реквизитов» и выберите объект «Задачи» нужного вида
  3. 3
    Настройте отбор: например, «Выполнена = Истина» и «Дата создания меньше указанной»
  4. 4
    Нажмите «Найти ссылки» и проверьте глазами список найденных объектов
  5. 5
    Установите действие — пометка на удаление или изменение реквизита
  6. 6
    Выполните обработку и проверьте результат в списке задач

Пометка на удаление не стирает данные физически. Чтобы освободить место, после пометки запустите «Удаление помеченных объектов» («Администрирование» → «Обслуживание»). Учтите: если на задачу ссылаются другие объекты, удаление будет заблокировано — платформа покажет список препятствующих ссылок, и их придётся разобрать отдельно.

Очистка задач программно через код

Администраторы и разработчики часто очищают задачи через внешнюю обработку или консоль кода. Это удобно для регулярной чистки по расписанию и для сложных условий, которые не задать стандартным отбором. Типовой подход — запросом выбрать ссылки на задачи и в цикле либо вызвать программное выполнение, либо установить пометку удаления.

bsl
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Задача.ЗадачаИсполнителя ГДЕ Выполнена И Дата < &Дата";
Запрос.УстановитьПараметр("Дата", ДобавитьМесяц(ТекущаяДата(), -12));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ОбъектЗадачи = Выборка.Ссылка.ПолучитьОбъект();
    ОбъектЗадачи.УстановитьПометкуУдаления(Истина);
КонецЦикла;

Имя задачи в метаданных («ЗадачаИсполнителя» в примере) зависит от конфигурации — уточните его в конфигураторе. Программное выполнение задачи (метод ВыполнитьЗадачу()) предпочтительнее пометки удаления, если задача участвует в бизнес-процессе: оно корректно продвигает процесс дальше, тогда как удаление просто обрывает связь.

Запускайте такой код сначала в тестовой копии базы. Для больших объёмов обрабатывайте задачи порциями с фиксацией транзакции, чтобы не держать длинную блокировку в рабочее время.

Очистка служебных задач и задач обмена данными

Отдельная категория — задачи, которые создаются автоматически: регламентными заданиями, подсистемами обмена, интеграциями с сайтом или почтой. Их очистка бессмысленна без отключения источника: на следующий день список наполнится снова. Сначала найдите регламентное задание или настройку обмена, которая порождает задачи, и скорректируйте её расписание или условия.

В некоторых конфигурациях есть штатные средства очистки: например, настройки хранения истории бизнес-процессов, сроки хранения сообщений обмена, обработки «архивации» старых данных. Ищите их в разделах «Администрирование» → «Обслуживание» или в настройках конкретной подсистемы. Штатный механизм всегда предпочтительнее ручного удаления, потому что он учитывает связи объектов.

Как проверить результат и не сломать процессы

После очистки проверьте три вещи: скорость открытия списка задач, состояние связанных бизнес-процессов и отсутствие «битых» ссылок. Откройте несколько документов, которые проходили согласование, — статусы должны быть осмысленными, а не «зависшими». Запустите поиск ссылок на удалённые объекты, если удаляли физически.

Контрольные точки

Как проверить результат

Список задач пользователя
Норма

Открывается быстро, нет старых выполненных задач

Тревожный признак

Задачи на месте — отбор в обработке был неверным

Бизнес-процессы
Норма

Активные процессы продолжают двигаться по маршруту

Тревожный признак

Процессы «зависли» — удалили связанные задачи вместо завершения

Журнал регистрации
Норма

Массовые изменения зафиксированы под нужным пользователем

Тревожный признак

Ошибки записи объектов — часть задач не обработана

Новые задачи через день-два
Норма

Появляются только рабочие задачи

Тревожный признак

Служебные задачи растут снова — не отключён источник

Если часть процессов всё же пострадала, восстановление возможно только из резервной копии — ещё одна причина не пропускать этот шаг. В клиент-серверном варианте попросите администратора СУБД сделать снимок базы перед массовой операцией: это быстрее, чем выгрузка через конфигуратор.

Типичные ошибки при очистке задач

Типичные ошибки
01
Удаление задач напрямую вместо завершения — бизнес-процессы остаются в подвешенном состоянии, документы не двигаются по маршруту
02
Очистка без отбора по дате и признаку выполнения — помечаются актуальные рабочие задачи сотрудников
03
Удаление задач обмена без отключения регламентного задания — список заполняется заново на следующий день
04
Работа без резервной копии — при ошибке в отборе восстановить данные неоткуда
05
Ожидание уменьшения файла базы сразу после удаления — без сжатия таблиц размер файловой базы не изменится

Ещё одна частая ситуация: администратор чистит задачи только у «главного» пользователя, а у остальных сотрудников списки остаются перегруженными. Отбор стройте по всем исполнителям, либо заранее согласуйте с пользователями, чьи задачи подлежат очистке.

Итог

Что важно запомнить

Сначала определите тип задач и их связь с бизнес-процессами, затем сделайте резервную копию. Небольшие объёмы завершайте вручную, большие — через «Групповое изменение реквизитов» или код, предпочитая завершение удалению. Служебные задачи чистите только после отключения их источника, а результат проверяйте по списку задач, процессам и журналу регистрации.

Частые вопросы

Можно ли удалить задачи без пометки на удаление?

Непосредственное удаление объектов в пользовательском режиме недоступно — стандартный путь это пометка на удаление и последующая обработка «Удаление помеченных объектов». Программно прямое удаление возможно, но оно обходит контроль ссылочной целостности и может оставить «битые» ссылки в бизнес-процессах и документах.

Что делать, если задача не удаляется из-за ссылок на неё?

Обработка удаления помеченных объектов покажет список объектов, которые ссылаются на задачу. Обычно это бизнес-процессы. Завершите или пометьте на удаление сначала их, затем повторите удаление задач. Удалять ссылки принудительно не стоит — это нарушит логику процессов.

Как очистить задачи только одного сотрудника?

В обработке группового изменения реквизитов добавьте отбор по полю «Исполнитель» (или «Пользователь» — название зависит от конфигурации) и укажите нужного сотрудника. Перед выполнением проверьте список найденных объектов, чтобы не затронуть чужие задачи.

Удалятся ли напоминания вместе с задачами?

Напоминания в типовых конфигурациях — отдельный механизм, часто хранящийся в регистрах сведений, а не в объектах «Задачи». Их очищают отдельно: через список «Мои напоминания» или удалением записей соответствующего регистра. Уточните механизм в своей конфигурации.

Как автоматизировать регулярную очистку старых задач?

Напишите внешнюю обработку с выборкой и пометкой старых выполненных задач и подключите её через механизм дополнительных отчетов и обработок с расписанием, либо создайте своё регламентное задание в конфигурации. Обязательно предусмотрите в коде ограничение по дате и запись в журнал регистрации.

Опасно ли чистить задачи в рабочее время?

Ручное завершение отдельных задач безопасно. Массовые обработки в клиент-серверной базе создают блокировки и нагрузку — их лучше выполнять в нерабочее время или порциями. В файловой базе любая массовая операция требует монопольного доступа, то есть все пользователи должны выйти.