Создать описание собственного учебного вида без сохранения

Учебные задачи

ОписаниеНастроек не является самим набором настроек. Стандартное хранилище при сохранении использует только его Представление.

Где и как запускать

Полный серверный общий модуль только собственной отдельной учебной базы; сохранение здесь реальное.

Подготовка

  1. Только собственная отдельная учебная база 8.5.1.1343 с конфигурацией УчебнаяКонфигурацияСинтаксиса. Не запускайте уроки сохранения в КА2/УНФ/УТ/БП или их рабочем сеансе.

  2. В своей учебной базе создайте пользователя с точным именем guide-owned-user и войдите под ним. В собственной учебной роли разрешите СохранениеДанныхПользователя. Не расширяйте права рабочего пользователя.

  3. Создайте общий модуль УчебноеХранилищеНастроек с флагом Сервер. Каждый урок — отдельный полный модуль с ВыполнитьПример() Экспорт, вызванный из серверной учебной команды.

  4. Уроки сохранения действительно пишут настройки в учебную базу. Новый ключ объекта содержит собственный UUID; перед записью проверяется отсутствие записи, после опыта удаляется только созданная запись.

  5. Личный вариант использует стандартное хранилище общих настроек текущего учебного пользователя; вариант по умолчанию — только ХранилищеСистемныхНастроек.

  6. При ошибке очистки сохраните сообщение с собственным ключом для точечной проверки в этой учебной базе. Не удаляйте все настройки и не подставляйте Неопределено в аргументы удаления.

Процедура ВыполнитьПример() Экспорт
    ПользовательУрока = ИмяПользователя();
    Если ПользовательУрока <> "guide-owned-user" Тогда
        ВызватьИсключение "Войдите под собственным учебным пользователем guide-owned-user";
    КонецЕсли;
    КлючОбъекта = "guide-owned-settings-" + Строка(Новый УникальныйИдентификатор);
    КлючНастроек = "guide-book-view";
    Описание = Новый ОписаниеНастроек;
    Описание.КлючОбъекта = КлючОбъекта;
    Описание.КлючНастроек = КлючНастроек;
    Описание.Пользователь = ПользовательУрока;
    Описание.Представление = "Учебный вид Книга, количество 3";
    Описание.ДополнительныеСвойства.Вставить("Источник", "Собственная учебная обработка");
    Сообщить(ТипЗнч(Описание) = Тип("ОписаниеНастроек"));
    Сообщить(Описание.КлючОбъекта = КлючОбъекта);
    Сообщить(Описание.КлючНастроек = "guide-book-view");
    Сообщить(Описание.Пользователь = "guide-owned-user");
    Сообщить(Описание.Представление = "Учебный вид Книга, количество 3");
    Сообщить(Описание.ДополнительныеСвойства.Источник = "Собственная учебная обработка");
    Сообщить("Описание создано только в памяти; сохранение этим уроком не выполняется");
КонецПроцедуры

Разбор по шагам

  1. Проверяем точную учебную конфигурацию и текущего учебного пользователя до подготовки данных.

  2. Новый ключ объекта содержит UUID; имя конкретного варианта задаётся отдельно как guide-book-view.

  3. Заполняем КлючОбъекта, КлючНастроек, Пользователь и Представление только нового объекта описания.

  4. ДополнительныеСвойства только для чтения как свойство, но её собственную структуру можно дополнить Вставить.

  5. Ничего не сохраняем. Поля описания не подменяют отдельные аргументы владения в методах менеджера.

Как проверить результат

  1. Шесть проверок Истина, затем сообщение, что описание осталось в памяти.

  2. Никакой новый вариант настройки в базе этим уроком не создан.

Ожидаемый результат

Разобрана разница описания, технических ключей и будущих данных настройки.

На что обратить внимание

  1. Представление — пользовательская подпись, не технический ключ.

  2. ДополнительныеСвойства нельзя считать автоматически сохранёнными стандартным менеджером: он использует только Представление.

  3. Не создавайте пользователя/роли в рабочей базе ради примера.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.