Потребовалось небольшое логирование для одного документа.
Решил реализовать задачу через регистр сведений.
Два вопроса.
1. Как заполнить регистр данными до записи в него?

2. Как добавить данные "пользователя" который работает с документом в регистр.
---
заполнить структуру со значениями реквизитов в момент открытия и сравнивать при изменении или при изменении реквизита получать данные из запроса.
---
конфигурация самописная или типовая? если типовая, то какая и какой документ?
---
Это типовая с изменениями. БИТ Управление медицинским центром. Документ Заявка
---
1. При изменении реквизита, например, делать запись в регистре. В чем сложность?
2. Что такое "данные пользователя"? СправочникСсылка.Пользователь?
---
СправочникСсылка
Пользователь который открывал этот документ.

(2) При изменении реквизита, например, делать запись в регистре. В чем сложность?
А как получить реквизит который был до изменения.
---
заполнить структуру со значениями реквизитов в момент открытия и сравнивать при изменении или при изменении реквизита получать данные из запроса.
---
В процедуре "ПередЗаписью" в документе, создаю структуру.
(4)
В общем считаю, это наиболее легким решением для моего уровня.
Создаю Структуру в процедуре перед записью.
Логи = Новый Структура();
Логи.Вставить("Примечание", Ссылка.Примечание);
Такую же структуру создам в процедуре при записи.
Затем необходимо будет сравнить значения. Наверное стоит сперва перевести значения в две строки и сравнивать. В этом загвоздка теперь
И если значения не совпадают кладу их в регистр.
---
А зачем вам нужно получать реквизит до изменения для логирования? Смысл в том что у вас последнее зафиксированное состояние "чего-вам-там-нужно" уже записано в регистре. Или я чего то не понимаю?
---
Некий пользователь открывает документ, что-то изменяет и перезаписывает.
Задача стоит следующая. Через кнопку которая доступна "избранным", необходимо посмотреть, кто менял этот документ и что было до изменения.
---
Ну в БСП доступен хороший функционал "Версионирование документа". Или же вы сами делаете такой простенький функционал, где фиксируете данные в регистр именно после записи документа. А перед записью вам фиксировать состояние не надо, т.к. в регистре после предыдущей записи его состояния уже все записано и можно сравнить будет. Вам нужно все при записи фиксировать.
---
В Процедуре перед записью создаю структуру
Логи = Новый Структура ();
Логи.Вставить ("Примечание", Ссылка.Примечание); // здесь получаем значение до записи.

Затем идем в процедуру При записи
Здесь вставляем в структуру
Логи.Вставить ("Примечание", Примечание); // добавляем значения после записи.

В итоге получаем структуру со след данными
 "Примечание", Ссылка.Примечание; // данные до записи
 "Примечание", Примечание; // данные после записи

СтрокаДо ="";
СтрокаПосле = "";
Затем через цикл для каждого через конкатенацию собираем две строки

Для Каждого ЭлСтруктуры из Логи цикл
   СтрокаДо = Строка(ЭлСтруктуры.Ключ) + ": " + Строка(ЭлСтруктуры.Значение)) + Символ.ПС;
   СтрокаПосле = // не знаю как

КонецЦикла;
Затем сравниваю две строки. Если они разные добавляю эти строки в регистр.
вопросы след.
1. Мы можем в одной структуре писать одинаковые ключи.
2. Как собрать данные в СтрокеПосле
---
Так, впринципе понятно становится что вы где используете.
Вы разделяете логику на две процедуры "ПередЗаписью" и "ПриЗаписи". Но почему вам самый распространенный метод не подходит, который я выше описал? Пример как должен быть: Шаг1 - У вас есть "Документ", вы его записали/провели и залогировали нужные данные в Регистре (уже есть информация о его состоянии / его реквизитов). Шаг2 - При повторном проведении/записи документа в процедуре "ПередЗаписью" вы сравниваете последние данные регистра с его текущими данными и в случае расхождения делаете новую запись.
А вы вместо этого хотите заносить данные в регистр, но при этом сравниваете его состояние то что у пользователя и то что еще не затерлось в базе (в моменте "ПередЗаписью"), а нужно то что у пользователя и с регистром.
---
По сути я хочу сделать журнал логов лишь по определенному документу.
---
Хранение историю изменений при записи? Это разве не типовой функционал в большинстве конфигураций?