Установка срока эскалации задач в ДО
Задачи пользователя - Адаптация типовых решений
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
В конфигурации Документооборот можно установить правила эскалации задач, по задачам, которые:
1. Просрочены на время T.
2. Будут просрочены через время Т.
3. Не выполнены за время T.
Стандартное минимальное время Т кратно одному часу.
Расширение позволяет указать время для правил эскалации задач кратно минуте.
На форму элемента справочника "Правила эскалации задач" добавлен реквизит "СрокМинут".
Код формы элемента справочника "Правила эскалации задач"
&НаСервере
Процедура Расш2_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
СрокМинут = Цел( (Объект.Ссылка.Срок - 86400*СрокДней- 3600*СрокЧасов) /60);
КонецПроцедуры
&НаСервере
Процедура Расш2_ПередЗаписьюНаСервереВместо(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.Срок = СрокДней * 86400 + СрокЧасов * 3600 + СрокМинут * 60;
ПеренестиПроцессыВТабличнуюЧасть(ТекущийОбъект.Процессы, "ДеревоПроцессов");
КонецПроцедуры
&НаСервере
Процедура Расш2_ОбработкаПроверкиЗаполненияНаСервереВместо(Отказ, ПроверяемыеРеквизиты)
Если Объект.ВариантСрока <> Перечисления.ВариантыСрокаПравилЭскалацииЗадач.ЗадачаПросрочена
И СрокДней = 0 И СрокЧасов = 0 И СрокМинут = 0 Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Укажите сроки!'"),,,,Отказ);
КонецЕсли;
Если КоличествоПроцессов = 0 Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
НСтр("ru = 'Не указано для каких процессов сработает правило эскалации'"),,"ДеревоПроцессов",,Отказ);
КонецЕсли;
ИсключаемыеРеквизиты = Новый Массив;
Если Объект.Действие <> Перечисления.ДействияПравилЭскалацииЗадач.Перенаправление Тогда
ИсключаемыеРеквизиты.Добавить("НаправлениеЭскалации");
КонецЕсли;
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, ИсключаемыеРеквизиты);
КонецПроцедуры
Протестировано на версии ДО 2.1.34.1.
Вступайте в нашу телеграмм-группу Инфостарт