Запись под контролем
Задачи пользователя - Адаптация типовых решений
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
В приведенном примере реализован механизм контроля записи документов по определенным договорам без изменений в конфигурации поставщика.
Задача: Надо предупредить пользователя, что он пытается (записать, перепровести) документ в котором используется договор "взятый под контроль" - проведение документов по нему нежелательно (вообще или на дату).
Реализация:
1) Создан справочник "ПодКонтролем" - в котором хранятся ссылки на контролируемые договора
2) Создана подписка на событие "КонтрольДоговоров" - событие "ПередЗаписью". Внимание в прилагаемом примере - нужно добавить все виды документы по которым вы хотите контролировать запись в "Источник" подписки на событие.
3) В общем модуле "мой" процедура "ЗаписьДокументовПоДоговоруПередЗаписью" - назначенная обработчиком события "КонтрольДоговоров"
4) Добавлена общая форма "ФормаПодКонтролем" предупреждения пользователя (От стандартного диалога "Вопрос" отказался из за его "интерфейсной похожести" на другие сообщения, что не обращает внимания пользователя на "серьезность ситуации")
Пример в прилагаемом файле конфигурации. Можно объединять, но не забыть назначить Источники подписке на событие и удалить Документ1 (использован для заполнения свойства Источник подписки на событие).
При желании в процедуру "ЗаписьДокументовПоДоговоруПередЗаписью" можно добавить
ЗаписьЖурналаРегистрации("Изменен документ по договору под контролем",УровеньЖурналаРегистрации.Информация,Метаданные.Справочники.ДоговорыКонтрагентов,Источник,"Проведен документ "+Источник+" пользователем "+СокрЛП(ПараметрыСеанса.ТекущийПользователь),РежимТранзакцииЗаписиЖурналаРегистрации.Независимая);
Для отслеживания данного события в журнале регистрации.
В принципе если добавть тип значения в справочник "ПодКонтролем" и СсылкуЛюбогоВида и немного переписать модуль - то можно контролировать любые объекты конфигурации.
Вступайте в нашу телеграмм-группу Инфостарт