Тип: РежимАвтонумерацииОбъектов. Определяет, переиспользовать или нет автоматически полученные номера объектов, если они не записаны в базу данных.
Полное описание, параметры и ограничения
ОбъектМетаданныхКонфигурация.РежимАвтонумерацииОбъектов (ConfigurationMetadataObject.ObjectAutonumerationMode)
ОбъектМетаданныхКонфигурация (ConfigurationMetadataObject)
РежимАвтонумерацииОбъектов (ObjectAutonumerationMode)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: РежимАвтонумерацииОбъектов.
Определяет, переиспользовать или нет автоматически полученные номера объектов, если они не записаны в базу данных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Составить карту режимов нумерации, блокировок и хранения
Диагностика исходных условий конфигурации не должна превращаться в изменение инфраструктуры. Показываем значения и типы пяти разных режимов.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте отдельную НОВУЮ пустую файловую базу на 8.5.1.1343. Корневое имя конфигурации УчебныйПаспорт85. Рабочие конфигурации не меняйте.
Режим совместимости Не использовать; основной запуск Управляемое приложение. Пользовательские назначения общих форм, хранилища настроек, дополнительные словари и основные роли не задавайте. Расширения не устанавливайте.
Обновите конфигурацию БД. В собственной обработке создайте серверный обработчик ВыполнитьПример() Экспорт; фрагмент вставляйте внутрь него. Каждую задачу запускайте отдельно.
Задачи только читают настройки схемы. Не вызываются сохранение настроек, запись данных, смена прав, публикация сервисов или чтение секретов.
Режимы = Новый Структура;
Режимы.Вставить("Автонумерация", Метаданные.РежимАвтонумерацииОбъектов);
Режимы.Вставить("Блокировки", Метаданные.РежимУправленияБлокировкойДанных);
Режимы.Вставить("СовместимостьХранилища", Метаданные.РежимХранилищаДвоичныхДанных);
Режимы.Вставить("БлочноеХранение", Метаданные.РежимИспользованияБлочногоХраненияДвоичныхДанных);
Режимы.Вставить("ТабличныеПространства", Метаданные.РежимИспользованияТабличныхПространствБазыДанных);
Для Каждого Режим Из Режимы Цикл
Сообщить(Режим.Ключ + ": " + Строка(Режим.Значение));
Сообщить("Тип: " + Строка(ТипЗнч(Режим.Значение)));
КонецЦикла;
Сообщить(Режимы.Количество() = 5);Разбор по шагам
РежимАвтонумерацииОбъектов задаёт политику использования автоматически полученных, но не записанных номеров.
РежимУправленияБлокировкойДанных — настройка конфигурации, не перечень установленных сейчас блокировок.
РежимХранилищаДвоичныхДанных относится к совместимости с хранилищем, БлочноеХранение — другая настройка.
Режим табличных пространств читается без создания/изменения пространств СУБД.
Структура содержит фактические значения перечислений. Не заменяем их заранее выдуманными строками.
Как проверить результат
Последняя проверка даёт Истина; для каждого из пяти режимов выведены значение и тип.
Сверьте значения с Конфигуратором: после запуска ни один режим, номер объекта или блокировка не изменился.
Ожидаемый результат
Получена карта пяти независимых настроек для дальнейшего анализа совместимости.
На что обратить внимание
Этот вывод не измеряет скорость, параллельность или доступность сервиса хранения.
Файловая база не является проверкой эксплуатации табличных пространств в клиент-серверной базе.
Не меняйте рабочие режимы хранения/блокировок по результатам одного учебного вывода.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить политику освобождения номеров перед разработкой обмена
Режим относится к автоматически полученным номерам незаписанных объектов. Он не обещает безразрывную нумерацию и не превращает номер документа во внешний идентификатор запроса.
Где и как запускать
Полный серверный модуль соответствующей учебной копии КА2 или УТ 10.3. Никаких операций перепроведения или изменения настроек.
Подготовка
Последовательность ПартионныйУчет взята из C:\claude\UT10_3\XML_UT_10_3\Sequences\ПартионныйУчет.xml. Используйте отдельную учебную копию именно этой УТ 10.3 на установленной платформе 8.5.1.1343, не рабочую базу.
Для первых двух уроков о режимах конфигурации используйте отдельную копию КА2 Progress. Для последующих пяти — копию указанной УТ 10.3. Не смешивайте имена и настройки разных конфигураций.
В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока и вызовите ВыполнитьПример() из своей серверной команды. В обычной конфигурации можно вызвать серверную процедуру из собственной учебной обработки.
Только чтение схемы и собственные значения в памяти: нет проведения, восстановления последовательности, изменения границ, назначения номеров или переключения совместимости.
Процедура ВыполнитьПример() Экспорт
Варианты = Метаданные.СвойстваОбъектов;
Режим = Метаданные.РежимАвтонумерацииОбъектов;
Если Режим = Варианты.РежимАвтонумерацииОбъектов.ОсвобождатьАвтоматически Тогда
Сообщить("Автоматически полученные номера незаписанных объектов могут переиспользоваться по установленной политике");
ИначеЕсли Режим = Варианты.РежимАвтонумерацииОбъектов.НеОсвобождатьАвтоматически Тогда
Сообщить("Автоматическое освобождение таких номеров не включено");
Иначе
ВызватьИсключение "Неизвестный режим автонумерации";
КонецЕсли;
УчебныйЗапрос = Новый Структура("Идентификатор,НомерДокумента", "guide-request-01", "000123");
Сообщить(УчебныйЗапрос.Идентификатор <> УчебныйЗапрос.НомерДокумента);
Сообщить(ТипЗнч(УчебныйЗапрос.НомерДокумента) = Тип("Строка"));
Сообщить("Для защиты от повторной загрузки нужен отдельный контракт внешнего идентификатора, не предположение по номеру");
КонецПроцедурыРазбор по шагам
Читаем фактический РежимАвтонумерацииОбъектов конфигурации, сравнивая с контейнером вариантов. Не заявляем заранее значение, которое не сериализовано явно в предоставленном XML.
Оба варианта определяют переиспользование автоматически полученных номеров, если объект ещё не записан. Это не команда освобождения уже существующего документа.
Учебная структура содержит отдельный идентификатор запроса и строковый номер. Номер 000123 сохраняет ведущие нули и не подменяет guide-request-01.
Реальная идемпотентность обмена требует внешнего стабильного ключа и соответствующего контроля записи. Этот диагностический урок не создаёт документ или журнал ключей.
Как проверить результат
Выведена одна ветка реального режима и две контрольные Истина для собственной учебной структуры.
Ни один номер не получен, не освобождён и не изменён.
Ожидаемый результат
Ученик понимает границы политики автонумерации и не строит защиту обмена на неверном предположении о номере.
На что обратить внимание
Пропуск номера сам по себе не доказывает потерю документа.
Автонумерация не гарантирует уникальность внешнего запроса интеграции.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.