Тип: Строка. Содержит описание администратора. Предназначено для визуального отображения.
Полное описание, параметры и ограничения
АдминистрированиеАдминистратор.Описание (AdministrationAdministrator.Description)
АдминистрированиеАдминистратор (AdministrationAdministrator)
Описание (Description)
Доступен, начиная с версии 8.3.14.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит описание администратора. Предназначено для визуального отображения.
Доступность:
Тонкий клиент, сервер, толстый клиент, интеграция.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Подготовить нового администратора, не регистрируя его
СоздатьАдминистратораКластера возвращает объект с пустыми свойствами. Заполняем его в памяти и проверяем, что список зарегистрированных администраторов не изменился.
Где и как запускать
Внешняя обработка с управляемой формой, подключение к отдельному учебному ras. Подготовка объекта в памяти; регистрация не выполняется.
Подготовка
Только отдельный учебный кластер 1С:Предприятия 8.5.1.1343 с уже настроенным ras совместимой версии. Не подключайтесь к рабочему серверу для обучения.
Создайте внешнюю обработку с управляемой формой. Добавьте реквизиты АдресRAS (Строка), ПортRAS (Число), ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера (Строка). Выведите поля на форму; у элементов ввода паролей в свойствах включите Режим пароля (PasswordMode).
АдресRAS относится к машине серверного выполнения кода. Пример для ras на этой же тестовой машине: 127.0.0.1 и порт 1545; подтвердите фактические адрес и порт у администратора.
Используйте законные учётные данные учебного агента и кластера. Оставлять имя и пароль пустыми можно только если соответствующие администраторы не зарегистрированы и среда допускает такую аутентификацию.
При первом запуске оставьте ИдентификаторКластера пустым: код выведет идентификаторы и имена кластеров. Скопируйте идентификатор нужного учебного кластера в поле и повторите.
Вставьте клиентскую процедуру и серверную функцию отдельно на уровне модуля формы. Код не запускает ras и не настраивает учётные записи.
Добавьте реквизиты ИмяНовогоАдминистратора и ПарольНовогоАдминистратора типа Строка; пароль скрывайте при вводе.
Создайте команду ПодготовитьАдминистратора и кнопку. Используйте новое учебное имя, не совпадающее с рабочим администратором.
Не добавляйте в код вызов Записать: эта задача намеренно ограничена подготовкой объекта.
&НаКлиенте
Процедура ПодготовитьАдминистратора(Команда)
Результат = ПодготовитьАдминистратораНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИмяНовогоАдминистратора, ПарольНовогоАдминистратора);
Сообщить(Результат);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПодготовитьАдминистратораНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИмяНовогоАдминистратора, ПарольНовогоАдминистратора)
Сервер = Новый АдминистрированиеСервера(АдресRAS, ПортRAS);
Сервер.ВыполнитьАутентификацию(ПарольАгента, ИмяАгента);
Кластеры = Сервер.ПолучитьКластеры();
Если Не ЗначениеЗаполнено(ИдентификаторКластера) Тогда
Строки = Новый Массив;
Для Каждого Элемент Из Кластеры Цикл
Строки.Добавить(Строка(Элемент.ИдентификаторКластера) + " — " + Элемент.Имя);
КонецЦикла;
Если Строки.Количество() = 0 Тогда
Возврат "Кластеров нет";
КонецЕсли;
Возврат СтрСоединить(Строки, Символы.ПС);
КонецЕсли;
Кластер = Неопределено;
Для Каждого Элемент Из Кластеры Цикл
Если НРег(Строка(Элемент.ИдентификаторКластера)) = НРег(СокрЛП(ИдентификаторКластера)) Тогда
Кластер = Элемент;
Прервать;
КонецЕсли;
КонецЦикла;
Если Кластер = Неопределено Тогда
ВызватьИсключение "Указанный учебный кластер не найден";
КонецЕсли;
Кластер.ВыполнитьАутентификацию(ИмяАдминистратораКластера, ПарольАдминистратораКластера);
Если Не ЗначениеЗаполнено(ИмяНовогоАдминистратора) Или Не ЗначениеЗаполнено(ПарольНовогоАдминистратора) Тогда
ВызватьИсключение "Заполните имя и учебный пароль нового администратора";
КонецЕсли;
До = Кластер.ПолучитьАдминистраторовКластера().Количество();
НовыйАдминистратор = Кластер.СоздатьАдминистратораКластера();
НовыйАдминистратор.Имя = ИмяНовогоАдминистратора;
НовыйАдминистратор.Описание = "Учебный объект, регистрация не выполняется";
НовыйАдминистратор.АутентификацияСтандартная = Истина;
НовыйАдминистратор.АутентификацияОС = Ложь;
НовыйАдминистратор.ПользовательОС = "";
НовыйАдминистратор.Пароль = ПарольНовогоАдминистратора;
После = Кластер.ПолучитьАдминистраторовКластера().Количество();
Возврат СтрШаблон("Подготовлен %1. Зарегистрировано до: %2, после: %3. Записать не вызывался.",
НовыйАдминистратор.Имя, До, После);
КонецФункцииРазбор по шагам
До подготовки читаем количество зарегистрированных администраторов.
СоздатьАдминистратораКластера создаёт описание с пустыми свойствами, не регистрационную запись.
Заполняем имя, описание, пароль и разрешаем стандартную аутентификацию; ОС-аутентификацию здесь отключаем.
Пароль только присваивается: его не читаем обратно и не выводим.
Повторное чтение списка показывает, что подготовка без Записать не регистрирует объект.
Как проверить результат
Количество до и после должно совпасть при отсутствии параллельных изменений администраторами.
Учебное имя не должно появиться в зарегистрированных администраторах.
Пустое имя или пароль дают понятное исключение до создания описания.
Ожидаемый результат
Создан и заполнен объект-описание администратора в памяти; список зарегистрированных администраторов не изменяется.
На что обратить внимание
Вызов Записать уже изменяет сервер — это отдельная операция с отдельными проверками.
Не сохраняйте настоящий рабочий пароль в учебном файле или настройках обработки.
Параллельные изменения другим администратором могут изменить счётчик независимо от этого кода.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Прочитать администраторов учебного кластера через ras
Полная цепочка: соединение с ras, аутентификация агента, выбор кластера, аутентификация кластера, чтение администраторов. Изменений и регистрации нет.
Где и как запускать
Управляемая форма внешней обработки, серверный вызов к ras учебного сервера. Это административный сценарий только для чтения, не упражнение в рабочей базе.
Подготовка
Только отдельный учебный кластер 1С:Предприятия 8.5.1.1343 с уже настроенным ras совместимой версии. Не подключайтесь к рабочему серверу для обучения.
Создайте внешнюю обработку с управляемой формой. Добавьте реквизиты АдресRAS (Строка), ПортRAS (Число), ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера (Строка). Выведите поля на форму; у элементов ввода паролей в свойствах включите Режим пароля (PasswordMode).
АдресRAS относится к машине серверного выполнения кода. Пример для ras на этой же тестовой машине: 127.0.0.1 и порт 1545; подтвердите фактические адрес и порт у администратора.
Используйте законные учётные данные учебного агента и кластера. Оставлять имя и пароль пустыми можно только если соответствующие администраторы не зарегистрированы и среда допускает такую аутентификацию.
При первом запуске оставьте ИдентификаторКластера пустым: код выведет идентификаторы и имена кластеров. Скопируйте идентификатор нужного учебного кластера в поле и повторите.
Вставьте клиентскую процедуру и серверную функцию отдельно на уровне модуля формы. Код не запускает ras и не настраивает учётные записи.
Создайте команду ПоказатьАдминистраторов, кнопку и одноимённый обработчик.
&НаКлиенте
Процедура ПоказатьАдминистраторов(Команда)
Результат = ПоказатьАдминистраторовНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера);
Сообщить(Результат);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПоказатьАдминистраторовНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера)
Сервер = Новый АдминистрированиеСервера(АдресRAS, ПортRAS);
Сервер.ВыполнитьАутентификацию(ПарольАгента, ИмяАгента);
Кластеры = Сервер.ПолучитьКластеры();
Если Не ЗначениеЗаполнено(ИдентификаторКластера) Тогда
Строки = Новый Массив;
Для Каждого Элемент Из Кластеры Цикл
Строки.Добавить(Строка(Элемент.ИдентификаторКластера) + " — " + Элемент.Имя);
КонецЦикла;
Если Строки.Количество() = 0 Тогда
Возврат "Кластеров нет";
КонецЕсли;
Возврат СтрСоединить(Строки, Символы.ПС);
КонецЕсли;
Кластер = Неопределено;
Для Каждого Элемент Из Кластеры Цикл
Если НРег(Строка(Элемент.ИдентификаторКластера)) = НРег(СокрЛП(ИдентификаторКластера)) Тогда
Кластер = Элемент;
Прервать;
КонецЕсли;
КонецЦикла;
Если Кластер = Неопределено Тогда
ВызватьИсключение "Указанный учебный кластер не найден";
КонецЕсли;
Кластер.ВыполнитьАутентификацию(ИмяАдминистратораКластера, ПарольАдминистратораКластера);
Администраторы = Кластер.ПолучитьАдминистраторовКластера();
Строки = Новый Массив;
Для Каждого Администратор Из Администраторы Цикл
Строки.Добавить(СтрШаблон("%1; %2; стандартная=%3; ОС=%4; пользователь ОС=%5",
Администратор.Имя, Администратор.Описание,
Администратор.АутентификацияСтандартная, Администратор.АутентификацияОС,
Администратор.ПользовательОС));
КонецЦикла;
Если Строки.Количество() = 0 Тогда
Возврат "Администраторы кластера не зарегистрированы";
КонецЕсли;
Возврат СтрСоединить(Строки, Символы.ПС);
КонецФункцииРазбор по шагам
Конструктор использует endpoint ras, не порт рабочего процесса информационной базы.
У агента порядок аргументов аутентификации — пароль, имя; у кластера — имя, пароль. Они различаются.
Пустой идентификатор запускает только вывод доступных кластеров; выбранный кластер ищем явно по идентификатору.
ПолучитьАдминистраторовКластера возвращает настоящие объекты АдминистрированиеАдминистратор.
Выводим имя, описание и способы аутентификации, но не пароль. Записать и Удалить не вызываются.
Как проверить результат
При пустом идентификаторе выводится список кластеров; после выбора — администраторы именно этого кластера.
Сравните имена с консолью администрирования учебного сервера.
Несуществующий идентификатор даёт понятную ошибку; код не выбирает автоматически первый кластер.
Ожидаемый результат
Получен список администраторов и разрешённых способов аутентификации без изменения настроек сервера.
На что обратить внимание
Наличие ras и сетевого доступа обязательно; доступность типа в платформе не означает, что endpoint настроен.
Пароли храните только во временных реквизитах формы, не в исходниках и не в журнале сообщений.
Аутентификация агента не заменяет аутентификацию администратора кластера.
Используйте локальное доверенное соединение или защищённый канал; не открывайте ras в публичный интернет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.