ИспользованиеХраненияВХранилищеДвоичныхДанных.НеИспользовать

Свойства · DontUse

Не использовать запись в хранилище двоичных данных.

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

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

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

НеИспользовать (DontUse)

Доступен, начиная с версии 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. ХранилищеЗначения и отдельное хранилище двоичных данных — не один и тот же объект.

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

Подготовить собственный состав хранения двух файловых полей

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

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

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

Подготовка

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

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

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

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

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

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

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

  1. Добавить принимает метаданные реквизита, ресурса или константы, содержащей ХранилищеЗначения. Не передаём туда весь справочник или строковый Артикул.

  2. Метаданные и Хранение элемента читаются отдельно. Первая настройка запрещает использование хранения для собственного поля Данные, вторая допускает его для Предпросмотр только в проекте состава.

  3. Количество и порядок известны, потому что состав создан самим уроком. Индекс второго элемента равен 1; Получить не вызывается у пустой коллекции.

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

  5. Нет УстановитьСоставХранимыхДанных или Записать. Новые правила не применяются к базе и не переносят двоичные данные.

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

  1. Семь контрольных Истина. Состав содержит только два подготовленных вами поля.

  2. После запуска записи справочника и конфигурация реального сервиса не изменились.

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

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

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

  1. Длинный общий тип Метаданные в описании элемента не означает, что Добавить принимает любой объект конфигурации.

  2. Созданный состав не является подтверждением доступности сервера хранения.

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

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

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

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

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