Не понимаю, почему мой код выдаёт ошибку
Не понимаю, почему мой код выдаёт ошибку, я студент, так что ошибка может быть очень тупой, но я уже не знаю что делать
Кучу времени уже потратил на различные форумы и видео по 1С, но так и не понял, как решить мою проблему с кодом. Вот сам код.
Код в текстовом формате.
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Пользователь.Логин КАК Логин,
| Пользователь.УникальныйИдентификатор КАК УникальныйИдентификатор
|ИЗ
| Справочник.Пользователь КАК Пользователь
|ГДЕ
| Пользователь.Логин = &Логин";
Запрос.УстановитьПараметр("Логин", Объект.Логин);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() тогда
Если Результат.Количество() = 0 ИЛИ ТекущийОбъект.УникальныйИдентификатор = Результат.УникальнйыйИдентификатор тогда
ПользовательСсылка = ПользовательИнформационнойБазы.НайтиПоУникальномуИдентификатору(Текущий.УникальныйИдентификатор);
Если ПользовательСсылка = Неопределено тогда
НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
НовыйПользователь.Имя = Объект.Логин;
НовыйПользователь.Пароль = Объект.Пароль;
НовыйПользователь.ПолноеИмя = Объект.Наименование;
Если Объект.Роль = Перечисления.Роли.Администратор тогда
НовыйПользователь.Роль.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Директор тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Директор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Замерщик тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Замерщик);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер тогда
НовыйПользователь.Роли.Добавить (Метаданные.Роли.Мастер);
КонецЕсли;
НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
НовыйПользователь.Записать();
ТекущийОбъект.УникльныйИдентификатор = НовыйПользователь.УникальныйИдентификатор;
Иначе
ПользовательСсылка.Пароль = Объект.Пароль;
ПользовательСсылка.ПолноеИмя = Объект.Наименование;
ПользовательСсылка.Роли.очистить();
Если Объект.Роль = Перечисления.Роли.Администратор тогда
ПользовательСсылка.Роли.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер тогда
ПользовательСсылка.Роли.Добавить (Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = перечисления.Роли.Мастер тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
КонецЕсли;
Иначе
Сообщ = Новый СообщениеПользователю;
Сообщ.Текст = "Пользователь с таким именем уже существует";
Сообщ.Сообщить();
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Иначе
НовыйПользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
НовыйПользователь.Имя = Объект.Логин;
НовыйПользователь.Пароль = Объект.Пароль;
НовыйПользователь.ПолноеИмя = Объект.Наименование;
Если Объект.Роль = Перечисления.Роли.Администратор тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Администратор);
ИначеЕсли Объект.Роль = Перечисления.Роли.Менеджер тогда
ПользовательСсылка.Роли.Добавить (Метаданные.Роли.Менеджер);
ИначеЕсли Объект.Роль = перечисления.Роли.Мастер тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
ИначеЕсли Объект.Роль = Перечисления.Роли.Мастер тогда
НовыйПользователь.Роли.Добавить(Метаданные.Роли.Мастер);
КонецЕсли;
НовыйПользователь.ПоказыватьВСпискеВыбора = Ложь;
НовыйПользователь.Записать();
ТекущийОбъект.УникальныйИдентификатор = НовыйПользователь.УникальныйИдентификатор;
КонецЕсли;