КонстантаМенеджерЗначения.<Имя константы>.ЭтотОбъект

Свойства · ThisObject

Тип: КонстантаМенеджерЗначения.<Имя константы>. Содержит сам объект базы данных. Предназначено для получения объекта в модуле объекта.

Полное описание, параметры и ограничения

КонстантаМенеджерЗначения.<Имя константы>.ЭтотОбъект (ConstantValueManager.<Constant name>.ThisObject)

КонстантаМенеджерЗначения.<Имя константы> (ConstantValueManager.<Constant name>)

ЭтотОбъект (ThisObject)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: КонстантаМенеджерЗначения.<Имя константы>.
Содержит сам объект базы данных. Предназначено для получения объекта в модуле объекта.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Изменить заголовок в менеджере константы, не сохраняя

МенеджерЗначения отделяет значение в памяти от значения базы. Повторное чтение возвращает сохранённое значение.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

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

  2. Константы → Добавить: УчебныйЗаголовок (Строка длиной 100, Проверка заполнения Показывать ошибку) и УчебныйЛимит (Число 9,0, неотрицательное, Проверка заполнения Не проверять).

  3. Модули менеджеров значений констант и модули набора констант оставьте пустыми; внешние вызовы и подписки на записи не создавайте. Обновите конфигурацию базы данных.

  4. Вставьте фрагмент в тело серверной ВыполнитьПример() Экспорт. Каждую задачу запускайте отдельно в собственной учебной базе.

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

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

  1. Получить читает сохранённую константу, а СоздатьМенеджерЗначения создаёт объект работы с ней.

  2. Прочитать загружает значение в свойство Значение менеджера.

  3. Присваивание Значение меняет только экземпляр. ДополнительныеСвойства хранит служебный контекст этого объекта.

  4. ПроверитьЗаполнение проверяет собственный непустой учебный заголовок, но не выполняет запись.

  5. Повторный Получить подтверждает, что база не изменилась. Прочитать заменяет несохранённую правку значением базы.

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

  1. Шесть проверок Истина.

  2. Сохранённый заголовок до/после одинаковый, новое учебное название в базу не попало.

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

Показан редактор значения константы в памяти и явное отбрасывание несохранённой правки.

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

  1. Прочитать может потерять несохранённые изменения экземпляра; в уроке это сделано намеренно.

  2. ДополнительныеСвойства не становится новой константой и не сохраняется автоматически.

  3. Нельзя использовать этот код с заголовками рабочих организаций без отдельной задачи и проверки.

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

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

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

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

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