ААА5 Заказ-наряд, значимые события
Читают тему
Вход в личный кабинет
Для получения доступа к форуму необходимо
авторизоваться
или
зарегистрироваться
на сайте.
{{ formTitle ? formTitle : 'Заказ обратного звонка' }}
{{ formDescription }}
Сообщить об ошибке
Есть следующая задача:
есть статус заказ-наряда "Ожидание решения клиента", нам нужно, чтобы когда мастер сохраняет заказ-наряд с данным статусом - автоматически создавалось напоминание(напомнить ровно через час после записи Заказ-наряда) для мастера.
В программе есть механизм значимых событий, есть ли возможность реализовать данную задачу с его помощью?
или как то по другому, не меняя при этом конфигурации
мнение разработчиков тоже очень хочется услышать...
1. В Правах и настройках для Компании ставим право 10012 "Активность значимых событий" в Истину.
2. Создаем в Справочники-Значимые события новый элемент справочника, заполняем приблизительно как на рис.1.
3. Чтобы не создавать дублирующихся напоминаний при каждой полседующей записи Заказ-наряда - в закладке Условия добавляем произвольное условие со следующим текстом:
Если (СОКРЛП(Объект.Состояние.Наименование)="Ожидание решения клиента") Тогда
Результат = Истина;
Иначе
Результат=Ложь;
КонецЕсли;
Если Результат=Истина Тогда
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| Напоминания.Объект,
| Напоминания.ДатаНачала
| ИЗ
| РегистрСведений.Напоминания КАК Напоминания
| ГДЕ
| Напоминания.Объект = &Заказчик
| И Напоминания.Тема = &Тема
| И Напоминания.ДатаНачала МЕЖДУ &ДатаНачала И &ДатаОкончания";
Запрос.УстановитьПараметр("Заказчик", Объект.Заказчик);
Запрос.УстановитьПараметр("Тема", "Созвониться с клиентом о решении");
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ТекущаяДата()));
Результат=Запрос.Выполнить().Выбрать();
Если Результат.Количество()>0 Тогда
Результат = Ложь;
КонецЕсли;
КонецЕсли;
4. На закладке Действия добавляем действие "Создать напоминание". Настройки как на Рис .2
Произвольный код в поле Дата начала (чтобы напоминание пришло через час):
ДатаНапоминания = ТекущаяДата()+3600;
Произвольный код в поле Содержание (чтобы мастеру был виден Заказ-наряд в напоминании):
Содержание = Строка(ОбъектИсточник.Ссылка);
Произвольный код в поле Получатели напоминания (получатель будет Мастер из Заказ-наряда, но чтобы работало у пользователя должен быть прописан сотрудник в справочнике Пользователи, т.к. напоминание создается Пользователю, а мастер-это сотрудник):
Пользователь = Неопределено;
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| Пользователи.Ссылка
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Сотрудник = &Сотрудник";
Запрос.УстановитьПараметр("Сотрудник", ОбъектИсточник.Мастер);
ВыборкаПользователя = Запрос.Выполнить().Выбрать();
Если ВыборкаПользователя.Следующий() Тогда
Пользователь=ВыборкаПользователя.Ссылка;
КонецЕсли;
Соответственно в всплывающем напоминании у мастера будет ссылка на Заказчика, по которой он может открыть справочник и посмотреть контактный телефон, и в содержании Заказ-наряд.
Как то так.
Прикрепленные файлы