Версия для печати темы (https://pro1c.org.ua/index.php?s=378e7c5e4b8284e73d4fb3067a6ae29e&showtopic=36674)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Проблема с записью в общие реквизиты документа

Автор: andrew76 18.04.17, 16:05

Добрый всем вечер !

Возникла необходимость записать определённое значение в общий реквизит "Исправил" Документа ПлатежноеПоручение.
Общий реквизит "Исправил" имеет ссылочный тип.Ссылка на Справочник пользователей 1С. При попытке обновить ОбщийРеквизит "Исправил" туда записывается текущий Пользователь 1С,админ-в моём случае( я захожу в 1с под админом).
Как в реквизит "Исправил" записать другое (можно пустое значение) -нужное мне имя пользователя ?

//...выбрать документы
ТекДок=Выборка.ПолучитьОбъект();
ТекДок.Исправил=Неопределено;
ТекДок.Записать();

Автор: Petre 18.04.17, 16:18

andrew76 @ Сегодня, 16:05 * ,
Если после строки записи остановиться отладчиком, чему равно значение "ТекДок.Исправил"?

Автор: Bernet 18.04.17, 16:21

andrew76 @ Сегодня, 17:05 * ,
Попробуйте так:

ТекДок=Выборка.ПолучитьОбъект();
ТекДок.Исправил=Справочники.Пользователи.ПУстаяСсылка(); // если надо пустое значение или можете найти пользователя по наименованию/коду.
ТекДок.Записать(РежимЗаписиДокумента.Запись);

Автор: andrew76 19.04.17, 7:13

Цитата(Petre @ 18.04.17, 19:18) *
Если после строки записи остановиться отладчиком, чему равно значение "ТекДок.Исправил"?



Значение равно "Администратор".А если смотреть отладчиком до метода Записать,тогда всё правильно работает.

Цитата(andrew76 @ 19.04.17, 9:48) *
Попробуйте так:
ТекДок=Выборка.ПолучитьОбъект();
ТекДок.Исправил=Справочники.Пользователи.ПУстаяСсылка(); // если надо пустое значение или можете найти пользователя по наименованию/коду.
ТекДок.Записать(РежимЗаписиДокумента.Запись);


Так тоже не работает.

Автор: sava1 19.04.17, 7:28

В модуле документа или на Подписки смотрели ?

Автор: andrew76 19.04.17, 8:00

В модуле подписки есть:

Процедура ЗаписьОбщихРеквизитовПриЗаписи(Источник, Отказ) Экспорт
    Если Источник.Модифицированность() Тогда
        Если Метаданные.ОбщиеРеквизиты.Создал.Состав.Найти(Метаданные.НайтиПоТипу(ТипЗнч(Источник)).Имя).Использование = Метаданные.СвойстваОбъектов.ИспользованиеОбщегоРеквизита.Использовать Тогда
            Если ЗначениеНеЗаполнено(Источник.Создал) Тогда
                Источник.Создал = ПараметрыСеанса.ПользовательСсылка;
            КонецЕсли;
            Источник.Исправил = ПараметрыСеанса.ПользовательСсылка;
            Источник.Изменен = ТекущаяДатаНаСервере();
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры



Попробовать временно отменить строчку что-ли ? :

Источник.Исправил = ПараметрыСеанса.ПользовательСсылка;

Автор: sava1 19.04.17, 8:21

Цитата(andrew76 @ 19.04.17, 9:00) *
Попробовать временно отменить строчку что-ли ? :

конечно

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua