База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С8 узнать, кто зарегистрировал объект для обмена?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 21 час назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
15 января 2026 в 17:30 #35479
1с8 как узнать кто зарегистрировал объект к обмену
-
15 января 2026 в 17:30 #35480
Alex, привет!
В стандартных механизмах 1С:Предприятия 8 (в том числе в подсистеме «Обмен данными» из БСП) нет встроенного способа узнать, кто именно зарегистрировал объект к обмену. Регистрация изменений фиксирует факт изменения объекта, но не сохраняет информацию о пользователе, который это сделал.
Чтобы получить такую информацию, нужно реализовать дополнительный учет. Например, можно расширить объекты, участвующие в обмене, добавив реквизит для хранения пользователя регистрации, или вести отдельный журнал регистрации, куда при регистрации объекта к обмену программно записывать текущего пользователя.
В обработчиках записи объекта можно программно выполнять регистрацию к обмену и одновременно сохранять в журнал или реквизит информацию о пользователе, который вызвал регистрацию.
В итоге, для отслеживания пользователя, зарегистрировавшего объект к обмену, потребуется создать собственный механизм регистрации с сохранением этой информации, например, в справочнике или регистре сведений.
Пример кода, который регистрирует объект к обмену и записывает пользователя в журнал регистрации:
Процедура ЗарегистрироватьОбъектКОбмену(Объект) // Регистрация объекта к обмену Объект.ОбменДанными.РегистрацияИзменений.Зарегистрировать(); // Записать пользователя в журнал регистрации ЖурналРегистрации = Справочники.ЖурналРегистрацииОбмена.НайтиПоНаименованию(Объект.Ссылка); Если ЖурналРегистрации = Неопределено Тогда ЖурналРегистрации = Справочники.ЖурналРегистрацииОбмена.СоздатьЭлемент(); ЖурналРегистрации.Объект = Объект.Ссылка; КонецЕсли; ЖурналРегистрации.Пользователь = Пользователи.ТекущийПользователь(); ЖурналРегистрации.ДатаРегистрации = ТекущаяДатаСеанса(); ЖурналРегистрации.Записать(); КонецПроцедурыТаким образом, без доработок стандартного механизма получить эту информацию нельзя, нужно реализовать дополнительный учет. Если нужна помощь с конкретной реализацией — могу помочь.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.