Разработка и Конфигурация · 11 мин
Как создать задачу в 1С:Предприятие
Разбираем, как создать задачу в 1С:Предприятие: в пользовательском режиме и в конфигураторе, настройка реквизитов, адресации, форм и типичные ошибки.
Слово «задача» в 1С:Предприятие понимается двояко. В пользовательском режиме типовых конфигураций (1С:Документооборот, 1С:Управление нашей фирмой, 1С:ERP) задача — это поручение сотруднику с исполнителем, сроком и описанием. В конфигураторе «Задача» — это самостоятельный объект метаданных, который описывает поручения, возникающие в ходе бизнес-процессов: согласование, проверка, исполнение.
Прежде чем приступать к работе, определите, какой сценарий вам нужен. Если требуется просто поставить поручение коллеге — достаточно пользовательского режима, дорабатывать конфигурацию не придётся. Если задачи должны создаваться автоматически по маршруту согласования или вам нужен собственный вид задач с особыми реквизитами — потребуется работа в конфигураторе и, как правило, объект «Бизнес-процесс», который будет порождать задачи.
Ниже разобраны оба пути: создание задачи в готовой типовой конфигурации и создание объекта «Задача» в конфигураторе с настройкой реквизитов, адресации и форм. Также рассмотрены проверка результата, типичные ошибки и ограничения, о которых стоит знать заранее.
Определяемся со сценарием: пользовательский режим или конфигуратор
Пользовательский сценарий подходит, если в вашей конфигурации уже есть механизм задач: 1С:Документооборот, 1С:УНФ, 1С:КА, 1С:ERP и ряд отраслевых решений содержат его «из коробки». Вы создаёте задачу как обычный элемент данных, без изменения конфигурации, и можете сразу передать её исполнителю.
Сценарий конфигуратора нужен, когда типового механизма нет или он не закрывает потребность: требуется свой набор реквизитов, особая маршрутизация по ролям, автоматическое создание задач при наступлении событий. Это уже доработка, которая выполняется на копии базы и требует аккуратности при последующих обновлениях конфигурации.
Как выбрать действие
Создаём задачу в пользовательском режиме типовой конфигурации
Точное расположение команд зависит от конфигурации, но общая логика одинакова. В 1С:Документооборот перейдите в раздел «Задачи» и нажмите «Создать». В 1С:УНФ список задач находится в разделе «Компания» или «CRM» в зависимости от настроек. В некоторых конфигурациях задачу можно создать прямо из документа — по кнопке «Создать на основании».
Заполните обязательные поля: тема или наименование задачи, исполнитель (конкретный пользователь или роль), срок исполнения и описание. Если задача связана с документом или контрагентом, укажите предмет — это позволит исполнителю открыть связанный объект одним кликом и не искать его вручную.
После записи задача появится в списке исполнителя — обычно в списке «Мои задачи» или «Задачи мне». Признак успешного создания: задача видна в вашем списке исходящих задач, у исполнителя она отображается как новая (невыполненная), при настроенных оповещениях исполнитель получает уведомление.
- 1Откройте раздел «Задачи» (или «Мои задачи») в вашей конфигурации
- 2Нажмите «Создать» и выберите вид задачи, если их несколько
- 3Заполните тему, исполнителя, срок и описание
- 4Укажите предмет задачи — документ или справочник, к которому она относится
- 5Запишите и закройте форму, проверьте появление задачи у исполнителя
Если кнопки «Создать» нет
Отсутствие команды создания чаще всего означает недостаток прав. Проверьте, назначена ли вашему пользователю роль, дающая доступ к задачам (например, «Добавление и изменение задач»). Второй вариант — механизм задач отключён в настройках программы: в ряде конфигураций его включают функциональные опции в разделе администрирования.
Создаём объект «Задача» в конфигураторе
Откройте конфигуратор и в дереве конфигурации найдите ветку «Общие → Задачи». Вызовите контекстное меню и выберите «Добавить». На закладке «Основные» задайте имя (латиницей, без пробелов, например «ЗадачаСогласования») и синоним — он будет показан пользователям. Здесь же укажите длину наименования задачи и автонумерацию.
На закладке «Адресация» настраивается маршрутизация — ключевая особенность объекта «Задача». Укажите регистр сведений адресации (например, связывающий пользователей с ролями и подразделениями), реквизиты адресации (роль, подразделение) и параметр «Текущий исполнитель». Именно адресация позволяет выдать задачу не конкретному человеку, а роли — тогда её увидят все подходящие сотрудники, а кто-то один примет её в работу.
На закладке «Данные» добавьте реквизиты задачи: предмет (ссылка на документ), описание, результат выполнения, срок. Реквизиты адресации добавляются отдельно — они участвуют в маршрутизации. Учтите: состав реквизитов продумывайте заранее, добавление новых полей в уже используемый объект безболезненно, а вот удаление реквизита с данными приведёт к их потере при реструктуризации.
Настраиваем формы и связываем задачу с бизнес-процессом
По умолчанию платформа генерирует формы задачи автоматически, но для реальной работы их обычно дорабатывают. На закладке «Формы» создайте основную форму задачи: вынесите на неё описание, исполнителя, срок, предмет и команды «Выполнено» / «Отклонить». Для формы списка полезно добавить колонки срока и состояния, чтобы исполнитель сразу видел просроченные задачи.
Сама по себе задача — пассивный объект: её кто-то должен создать. Вручную это делается из списка задач, но чаще задачи порождает бизнес-процесс. Создайте объект «Бизнес-процесс», на карте маршрута добавьте точки действий и в свойствах каждой точки укажите вашу задачу. Тогда при старте бизнес-процесса платформа автоматически сформирует задачи по маршруту и раздаст их исполнителям согласно адресации.
Альтернатива бизнес-процессу — программное создание задачи из кода, например при записи документа. Это проще для одиночных поручений, но логика маршрута оказывается размазанной по обработчикам и сложнее сопровождается.
НоваяЗадача = Задачи.ЗадачаСогласования.СоздатьЗадачу();
НоваяЗадача.Наименование = "Согласовать договор № " + Документ.Номер;
НоваяЗадача.Предмет = Документ.Ссылка;
НоваяЗадача.Роль = Справочники.РолиИсполнителей.Согласующий;
НоваяЗадача.Дата = ТекущаяДатаСеанса();
НоваяЗадача.СрокИсполнения = ТекущаяДатаСеанса() + 86400 * 3;
НоваяЗадача.Записать();Создание задачи из бизнес-процесса
В модуле бизнес-процесса задачи создаются автоматически при переходе карты маршрута на точку действия — писать код не требуется, если используется стандартная привязка задачи к точке. Код понадобится только для нестандартной логики: условного выбора исполнителя, расчёта срока по календарю, заполнения дополнительных реквизитов из данных бизнес-процесса.
Проверяем результат и права доступа
После обновления конфигурации базы данных войдите в режим предприятия под тестовым пользователем и проверьте полный цикл: задача создаётся (вручную или бизнес-процессом), отображается в списке исполнителя, открывается, выполняется командой «Выполнено». Отдельно проверьте ролевую адресацию: задача, назначенная на роль, должна быть видна всем пользователям с этой ролью и исчезать из общего списка после принятия в работу одним из них.
Частая проблема — пользователь не видит задачи из-за прав. Убедитесь, что в ролях конфигурации для нового объекта «Задача» установлены права на чтение, добавление и изменение, а для регистра сведений адресации — права на чтение и запись. Если используется RLS (ограничение доступа на уровне записей), проверьте шаблоны ограничений: слишком строгий шаблон может скрывать задачи даже от исполнителей.
Как проверить результат
Задача записывается без ошибок и появляется в списке
Ошибка прав доступа или задача не видна после записи
Задачу видят все пользователи роли, один принимает в работу
Задача не видна никому или видна лишним пользователям
Команда «Выполнено» закрывает задачу, бизнес-процесс идёт дальше
После выполнения задача остаётся активной или процесс зависает
Обновление базы прошло без ошибок, старые задачи открываются
Ошибки при обновлении, пропали данные реквизитов
Типичные ошибки и ограничения
Самая распространённая ошибка — создание объекта «Задача» без бизнес-процесса и без кода создания: объект есть, а порождать задачи некому, и механизм оказывается бесполезным. Вторая ошибка — неверно настроенный регистр адресации: если записи в регистре не заполнены, ролевая маршрутизация не сработает, и задачи «повиснут» без исполнителей.
Третья группа проблем связана с поддержкой. Добавление собственного объекта в типовую конфигурацию требует включения возможности изменения и усложняет будущие обновления: при каждом обновлении конфигурации поставщиком придётся выполнять сравнение и объединение. Если доработка небольшая, рассмотрите расширение конфигурации — оно позволяет добавить объекты, не снимая основную конфигурацию с полной поддержки.
Помните и об ограничениях платформы: задача не может существовать без исполнителя в смысле маршрутизации — если адресация не определена, назначать её придётся вручную. Также стандартный механизм оповещений о новых задачах в ряде конфигураций требует отдельной настройки (почтовые уведомления, система взаимодействия), сам по себе он пользователя не уведомит.
Что важно запомнить
В типовой конфигурации задача создаётся в пользовательском режиме через раздел задач с указанием исполнителя, срока и предмета. В конфигураторе объект «Задача» добавляется в ветке «Общие → Задачи», требует настройки адресации, реквизитов и форм, а порождается обычно бизнес-процессом. Все доработки выполняйте на копии базы, по возможности используйте расширение, а результат проверяйте полным циклом: создание, видимость у исполнителя, выполнение.
Частые вопросы
Чем задача отличается от бизнес-процесса в 1С?
Задача — это единичное поручение конкретному исполнителю или роли. Бизнес-процесс — это маршрут, карта последовательных и параллельных шагов, которая автоматически создаёт задачи на каждом шаге. Задача может существовать и без бизнес-процесса (созданная вручную или из кода), но автоматическая маршрутизация возможна только через бизнес-процесс.
Можно ли создать задачу программно, без бизнес-процесса?
Да. Используется метод менеджера задач СоздатьЗадачу() с последующим заполнением реквизитов и вызовом Записать(). Такой подход подходит для одиночных поручений, например при записи документа, но сложную маршрутизацию с ветвлениями удобнее реализовывать бизнес-процессом.
Почему исполнитель не видит назначенную ему задачу?
Основные причины: недостаточно прав на объект «Задача» или на регистр адресации, не заполнены записи регистра адресации для роли, сработало ограничение доступа на уровне записей (RLS), либо в форме списка установлен отбор, скрывающий задачу. Проверяйте причины в этом порядке, начиная с прав.
Можно ли добавить задачи в типовую конфигурацию, не снимая её с поддержки?
Да, через механизм расширений конфигурации. Расширение позволяет добавлять собственные объекты и изменять формы, не изменяя основную конфигурацию, поэтому обновления поставщика устанавливаются штатно. Ограничение: расширения имеют ряд технических рамок, и не всякую доработку в них можно реализовать.
Что произойдёт с существующими задачами при изменении объекта в конфигураторе?
При добавлении новых реквизитов данные сохранятся, новые поля будут пустыми. При удалении или изменении типа реквизита данные в нём будут потеряны при реструктуризации. Именно поэтому перед обновлением конфигурации базы данных обязательно делается резервная копия, а изменения сначала проверяются на копии рабочей базы.
Как уведомить исполнителя о новой задаче?
Платформа сама по себе не отправляет уведомления. В типовых конфигурациях используйте встроенные механизмы: настройку почтовых уведомлений или систему взаимодействия. В собственной разработке уведомление добавляется кодом — например, отправкой письма или сообщения при записи задачи.