Групповое завершение задач при закрытии сделки в УТ 11.5
Задачи пользователя - Корректировка данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Что делает расширение
Триггеров два, и оба ведут к одному и тому же групповому завершению задач.
| Действие пользователя | Поведение системы |
|---|---|
| Меняет статус сделки на «Проиграна» | Сразу задаёт вопрос «Закрыть невыполненные задачи привязанные к сделке?» |
| Ставит галку «Закрыта» вручную (при статусе «Выиграна») | Задаёт тот же вопрос |
| Меняет статус на «Выиграна» без галки «Закрыта» | Вопрос не задаётся — сделка ещё не закрывается |
Далее:
| Ответ | Что происходит |
|---|---|
| Да | Все невыполненные задачи сделки помечаются выполненными; сделка записывается; в сценарии «Проиграна» дополнительно ставится галка «Закрыта» и заполняется причина проигрыша «Более неактуально» |
| Нет | Ничего не меняется: задачи остаются в работе, реквизиты сделки — как были |
Что проставляется в задачах
Каждая незакрытая задача сделки получает:
Выполнена = Истина;
ДатаИсполнения = ТекущаяДатаСеанса();
РезультатВыполнения = "Закрыта автоматически при закрытии сделки <сделка>";
Связь задачи со сделкой — стандартный реквизит Задача.ЗадачаИсполнителя.Предмет.
После закрытия пользователь видит в панели сообщений результат: «Закрыто задач по сделке: 4» — или «Невыполненных задач по сделке не найдено».
Две детали, о которых просят отдельно
- Вопрос немодальный. Используется
ПоказатьВопроссОписаниеОповещения, а неВопрос(). Это принципиально: модальные вызовы в веб-клиенте запрещены, а расширение должно работать и там. - Сделка записывается сама. По ответу «Да» вызывается типовой метод формы
Записать(), поэтому результат не потеряется, если пользователь закроет карточку без сохранения. Заодно отрабатывают штатные проверки заполнения.
Как это выглядит для пользователя
Сценарий «Проиграна». Открываем сделку, меняем статус на «Проиграна». Поверх формы — вопрос с двумя кнопками. Нажимаем «Да»: сделка тут же записывается, галка «Закрыта» стоит, причина проигрыша — «Более неактуально», в панели сообщений «Закрыто задач по сделке: N». Заходим в задачи — все, что висели по сделке, закрыты с результатом «Закрыта автоматически при закрытии сделки …».
Сценарий «Выиграна». Меняем статус на «Выиграна» — вопрос не появляется, сделка ещё не закрыта. Ставим галку «Закрыта» — теперь появляется вопрос. «Да» — задачи закрыты, сделка записана.
Сценарий «Нет». Тот же путь, но на вопрос отвечаем «Нет» — задачи не трогаем, сделку можно закрыть вручную и позже.
Права на задачи
Задачи закрываются под текущим пользователем. Если у него нет прав на изменение задачи (роли ИзменениеВыполнениеЗадач, УдаленныйДоступOData) или срабатывает ограничение «только исполнитель», конкретная задача не закроется — по ней будет сообщение «Задача … не закрыта: …», остальные закроются. Именно ради этого цикл обёрнут в Попытка.
Проверено на УТ 11.5.27.81, платформа 8.3.27.2130.
Вступайте в нашу телеграмм-группу Инфостарт