ОбъектМетаданных: Реквизит.ИспользованиеХраненияВХранилищеДвоичныхДанных

Свойства · BinaryDataStorageLocationUse

Тип: ИспользованиеХраненияВХранилищеДвоичныхДанных. Режим использования хранилища двоичных данных для хранения данных типа ХранилищеЗначения.

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

ОбъектМетаданных: Реквизит.ИспользованиеХраненияВХранилищеДвоичныхДанных (MetadataObject: Attribute.BinaryDataStorageLocationUse)

ОбъектМетаданных: Реквизит (MetadataObject: Attribute)

ИспользованиеХраненияВХранилищеДвоичныхДанных (BinaryDataStorageLocationUse)

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

Использование:
Чтение и запись.
Описание:
Тип: ИспользованиеХраненияВХранилищеДвоичныхДанных.
Режим использования хранилища двоичных данных для хранения данных типа ХранилищеЗначения.
Доступность:

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

См. также:
ОбъектМетаданных: Реквизит, свойство ПолеИспользованияХраненияВХранилищеДвоичныхДанных

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

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

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

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

Проверить политику файлового реквизита и управляющее поле

Для подготовленных файловых реквизитов читаем два новых свойства метаданных 8.3.26+. Отличаем режим хранения от Булево-поля, управляющего записью.

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

Полный серверный модуль собственной учебной конфигурации 8.5.1.1343. Нет применения настроек или удаления данных хранилища.

Подготовка

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

  2. Добавьте справочник УчебныеФайлы и три реквизита: Данные и Предпросмотр с типом ХранилищеЗначения, ИспользоватьВнешнееХранение с типом Булево. Обновите только свою учебную базу. Сами записи справочника создавать не нужно.

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

  4. Упражнения с Новый СоставХранимыхДанныхХранилищаДвоичныхДанных и параметрами подключения меняют только собственные объекты в памяти. Нет установки состава, записи менеджера, резервного копирования или физической очистки.

  5. Для диагностики настоящего хранилища нужен отдельно подготовленный администратором учебный сервер. Код различает отсутствие поддержки платформой и ошибку чтения состояния, не включает сервис автоматически.

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

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

  1. Оба свойства метаданных доступны с 8.3.26. Справка указывает для них Чтение и запись, однако этот урок только читает существующую настройку.

  2. ИспользованиеХраненияВХранилищеДвоичныхДанных — системный режим, а не текущее содержимое файла или право пользователя.

  3. ПолеИспользованияХраненияВХранилищеДвоичныхДанных при назначении содержит метаданные Булево-реквизита. Сначала проверяем возможное отсутствие, затем его тип.

  4. Чтобы исследовать непустую ветку, настройте это свойство в Конфигураторе только своего учебного Данные на собственный реквизит ИспользоватьВнешнееХранение, если оно доступно в вашей подготовленной схеме.

  5. Новый ХранилищеЗначения создаёт своё содержимое в памяти. Это не подключение к отдельному сервису и не подтверждение физического размещения файла.

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

  1. Показан реальный режим и наличие/отсутствие управляющего поля. При назначенном поле проверка Булево — Истина.

  2. Контроль собственного содержимого — Истина. Не создано записей справочника и не изменена политика хранения.

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

Ученик различает настройку схемы, управляющий реквизит и реальное сохранение двоичных данных.

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

  1. Свойство метаданных поля не является значением Булево конкретного элемента справочника.

  2. ХранилищеЗначения и отдельное хранилище двоичных данных — не один и тот же объект.

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

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

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

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

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