В предыдущей статье мы добавили общий реквизит ко всем справочникам нашей конфигурации, для того чтобы знать кто создал этот объект справочника. Теперь мы создадим подписку на событие и укажем, какой информацией заполнить этот реквизит.
Дальше все просто, источником события будут выступать все справочники, событие на которое будем реагировать это обработчик «ПередЗаписью» а код до банального простой смотрим скриншот.
Таким чином каждый раз перед записью объекта у нас будет переписываться автор объекта, желательно конечно указать и когда это произошло, добавим к автору еще и дату записи.
Процедура АвтоматичнеЗбереженняАвтораПередЗаписью(Источник, Отказ) Экспорт // Вставити вміст обробника. Источник.АвторОбєкту = ИмяПользователя() +" ; "+ строка (текущаядата()); КонецПроцедуры
Прекрасно. Теперь подумаем где еще можно использовать обще реквизиты?
Во первых с помощью общих реквизитов можно ко всем документам в конфигурации добавить реквизит «Комментарий», реквизит «автор» а также другие реквизиты, которые вам надо.
У общих реквизитов есть еще один интересный параметр «Разделение данных». Данный механизм позволяет определить данные, которые мы хотим показать пользователю. Например, чтобы ни один из менеджеров не знал всех клиентов компании, мы будем показывать ему только тех клиентов, которых он внес в базу, с какими он работает. Давайте постараемся добавить данный функционал в базу. Для начала нам нужно будет указать, что мы будем использовать разделение данных, система автоматически предложит создать параметры сеанса по умолчанию.
После этого нам остается только установить параметры сеанса в модуле сеанса:
Приведем пример, как выглядит справочник контрагентов без использования «Разделения данных» и с ним:
Без разделения
С разделением
Обратите внимание что Реквизит «Ответсвенный» в первом контрагенте не найден, поскольку автором данного реквизита был кто-то другой.
Классический пример разделения учета – по организациям, показывать пользователям только те документы, которые относиться к соответствующей организации.
Мы с вами воспользовались механизмом «Параметры сеанса», давайте коротко разберемся, что это такое. По сути дела параметры сеанса это глобальные переменные, которые устанавливаются при начале работы системы. Как правило, это происходит в «Модуле сеанса», обратите внимание, что параметры сеанса создаются исключительно програмными методами.
После того как мы установили «Параметры сеанса» мы можем обратиться к данному параметру из любого модуля системы простым
ПараметрыСеанса.АвторОбєктуЗначение
Соответственно чтобы поменять параметры сеанса пользователь должен выйти и зайти в программу по новой.