Имя: Пароль:
1C
1С v8
Запись в регистр сведений Версии объектов
0 Barry
 
08.12.22
01:15
Здравствуйте!

Мне нужно записать комментарий в регистр сведений Версии объектов. Если кому не сложно набросайте пожалуйста пример.

Есть обработка, в ней есть выбор документа и текстовое поле для комментария. При выборе нужного документа, необходимо чтобы при проведении документа, в регистр сведений Версии объектов записывался комментарий указанный в текстовом поле. Но есть один нюанс, нужно чтобы он записывался только для того пользователя который провел документ, т.е для текущего.
1 Сергиус
 
08.12.22
01:49
(0)Процедура ЗаписатьДанныеТекущейВерсии(Ссылка, ОбменДаннымиЗагрузка = Ложь)
    Перем НомерПоследнейВерсии;
    
    УстановитьПривилегированныйРежим(Истина);
    
        Если Ссылка.Ответственный <> Пользователи.ТекущийПользователь() Тогда
            Возврат;
    КонецЕсли;
  
    Если Не ОбъектВерсионируется(Ссылка, НомерПоследнейВерсии) Тогда
        Возврат;
    КонецЕсли;
    
    ВерсияОбъекта = Новый ХранилищеЗначения(ДанныеДляХранения(Ссылка), Новый СжатиеДанных(9));
    
    НаборЗаписей = РегистрыСведений.ВерсииОбъектов.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Объект.Установить(Ссылка);
    НаборЗаписей.Отбор.НомерВерсии.Установить(НомерПоследнейВерсии);
    НаборЗаписей.Прочитать();
    
    Для Каждого Запись Из НаборЗаписей Цикл
        Запись.ВерсияОбъекта = ВерсияОбъекта;
    КонецЦикла;
    
    Если ОбменДаннымиЗагрузка Тогда
        НаборЗаписей.ДополнительныеСвойства.Вставить("РегистрироватьНаУзлахПлановОбменаПриОбновленииИБ", Ложь);
    КонецЕсли;
    НаборЗаписей.Записать();
КонецПроцедуры
2 Сергиус
 
08.12.22
01:50
+(1)Ну и внутри там комментарий пиши: Запись.Комментарий = Комментарий;
3 Dmitrii
 
гуру
08.12.22
10:17
(1) Зачем такие извращения? В БСП предусмотрена запись комментария из дополнительных свойств объекта.
Если нужно записать комментарий, в допсвойства объекта перед записью надо добавить элемент "ВерсионированиеОбъектовКомментарийКВерсии".

(0) В том месте кода, где ты проводишь документ, перед строкой МойДокументОбъект.Записать(РежимЗаписиДокумент.Проведение) добавь такую строку.

МойДокументОбъект.ДополнительныеСвойства.Вставить("ВерсионированиеОбъектовКомментарийКВерсии", ТекстКомментария);


>> нужно чтобы он записывался только для того пользователя который провел документ, т.е для текущего.

Эту фразу я не понял.
4 Barry
 
08.12.22
19:22
(3) ты лучший! спасибо!!!
Ошибка? Это не ошибка, это системная функция.