Ошибка изменения пользователя обновлятором

Скрипт по созданию пользователей спотыкался, если пользователь менял себе название пользователя (полное наименование). Выдавал ошибку:

16:56:51 {Модуль C:\Users\User\AppData\Roaming\Updater1C\Data\Temp\Updater1C\Script.os / Ошибка в строке: 488 / Внешнее исключение (System.Runtime.InteropServices.COMException): Ошибка при выполнении обработчика - 'ПередЗаписью'

Пользователь в скрипте искался кодом:

ТекПользователь = v8.Справочники.Пользователи.НайтиПоНаименованию(ОбновляемыеСвойства.ПолноеИмя, истина);
ПользовательСуществует = v8.ЗначениеЗаполнено(ТекПользователь);

Сделал доработку, чтобы использовался более продвинутый встроенный способ:

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

И все заработало.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *