ОбъектМетаданных: Таблица.ПоляБлокировкиДанных

Свойства · DataLockFields

Тип: СписокПолей. Список полей, по которым возможна блокировка таблицы.

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

ОбъектМетаданных: Таблица.ПоляБлокировкиДанных (MetadataObject: Table.DataLockFields)

ОбъектМетаданных: Таблица (MetadataObject: Table)

ПоляБлокировкиДанных (DataLockFields)

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

Использование:
Только чтение.
Описание:
Тип: СписокПолей.
Список полей, по которым возможна блокировка таблицы.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Примечание:
Не рекомендуется использовать поля следующих видов:
Строка неограниченной длины,

Поле ТипЗначения плана видов характеристик,

ХранилищеЗначения.

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

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

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

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

Проверить соответствие полей внешнему источнику

Разделяем имя Товары в конфигурации, имя guide_books в источнике, поля ключа и поле версии. Ни строка данных, ни SQL-запрос здесь не выполняются.

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

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

Подготовка

  1. Используйте отдельную учебную конфигурацию Учебная85 без расширений, не рабочие КА2/УНФ/УТ. В Конфигураторе создайте Внешние источники данных → УчебныйВнешний → Таблицы → Товары. Строку подключения оставьте пустой: упражнения читают только метаданные, внешняя СУБД не требуется.

  2. Для таблицы задайте вид Таблица, тип ОбъектныеДанные, имя в источнике guide_books, ТолькоЧтение=Истина. В её Полях создайте Код (Строка 20, имя book_code), Наименование (Строка 100, имя book_name), Количество (Число 9.0, имя book_quantity) и Версия (Число 15.0, имя book_version). Это описание учебного источника, не команда создания SQL-таблицы.

  3. В ПоляКлюча и ПоляБлокировкиДанных включите Код, ПолеПредставления=Наименование, ПолеВерсииДанных=Версия, ПолеРодителя не задавайте. ВводПоСтроке: Код и Наименование. Для Количество запретите Null, задайте заполнение 0 и Подсказку «Количество книг». Для Наименование задайте Синоним «Название книги». СозданиеПриВводе оставьте без использования.

  4. Модули и справку оставьте пустыми, не создавайте обработчики подключения и команды записи. Обновите только эту учебную конфигурацию. Фрагменты запускайте отдельно на сервере в учебной обработке: они не обращаются к данным источника и не меняют метаданные.

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

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

  1. Вид Таблица означает имя физического источника. ВыражениеВИсточникеДанных используется для другого вида, выражения языка внешней СУБД.

  2. Тип ОбъектныеДанные описывает работу с объектными строками, а не доказательство разрешения записи.

  3. Поля содержит четыре описания колонок. ПоляКлюча и ПоляБлокировкиДанных — отдельные списки, Код ищется в каждом из них.

  4. ПолеПредставления и ПолеВерсииДанных возвращают описания полей; отсутствие проверяется до чтения Имя.

  5. В учебной таблице иерархический родитель не настроен. Его значение-заполнитель диагностируем только по типу.

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

  1. Девять сравнений Истина; выражение и тип родителя диагностические.

  2. Количество описаний 4, ключ Код, представление Наименование, версия Версия.

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

Проверена карта собственных метаданных без обращения к внешним данным.

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

  1. Поле версии не создаёт автоматически столбец rowversion внешней СУБД.

  2. ВыражениеВИсточникеДанных не является текстом запроса языка 1С.

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

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

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

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

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