ДопустимаяДлина

Темы платформы · AllowedLength

Определяет варианты ограничений длины строки. Используется для определения свойства ДопустимаяДлина и в конструкторе объекта КвалификаторыСтроки, если задается длина строки отличная от нуля.

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

ДопустимаяДлина (AllowedLength)

ДопустимаяДлина (AllowedLength)

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

Значения
Переменная (Variable)
Фиксированная (Fixed)

Описание:

Определяет варианты ограничений длины строки. Используется для определения свойства ДопустимаяДлина и в конструкторе объекта КвалификаторыСтроки, если задается длина строки отличная от нуля.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Возможен обмен с сервером. Данный объект может быть сериализован в/из XML. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: AllowedLength.

См. также:
КвалификаторыСтроки, свойство ДопустимаяДлина
КвалификаторыСтроки, конструктор На основании описания строки
ОбъектМетаданных: ПланВидовРасчета, свойство ДопустимаяДлинаКода
ОбъектМетаданных: Задача, свойство ДопустимаяДлинаНомера
ОбъектМетаданных: БизнесПроцесс, свойство ДопустимаяДлинаНомера
ОбъектМетаданных: Справочник, свойство ДопустимаяДлинаКода
ОбъектМетаданных: Документ, свойство ДопустимаяДлинаНомера
ОбъектМетаданных: ПланВидовХарактеристик, свойство ДопустимаяДлинаКода
ОбъектМетаданных: ПланОбмена, свойство ДопустимаяДлинаКода

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

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

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

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

Задать точность цены, длину кода и дату без времени

ОписаниеТипов задаёт ограничения значений, квалификаторы уточняют конкретный тип. Приведение значения не заменяет проверку исходного ввода.

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

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

Подготовка

  1. Можно выполнить на сервере; данные заданы константами, файлы и справочники не нужны.

  2. Точность числа 10 включает целую и дробную части; 2 разряда отведены дробной части.

ПараметрыЧисла = Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Неотрицательный);
ТипЦены = Новый ОписаниеТипов("Число", ПараметрыЧисла);
ПараметрыСтроки = Новый КвалификаторыСтроки(8, ДопустимаяДлина.Переменная);
ТипКода = Новый ОписаниеТипов("Строка", , ПараметрыСтроки);
ПараметрыДаты = Новый КвалификаторыДаты(ЧастиДаты.Дата);
ТипДня = Новый ОписаниеТипов("Дата", , , ПараметрыДаты);
Сообщить(ТипЦены.СодержитТип(Тип("Число")));
Сообщить(ТипЦены.СодержитТип(Тип("Строка")));
Цена = ТипЦены.ПривестиЗначение(12.346);
Код = ТипКода.ПривестиЗначение("ABC-123456");
День = ТипДня.ПривестиЗначение(Дата(2026, 10, 2, 14, 30, 0));
Сообщить(Цена);
Сообщить(Код);
Сообщить(Час(День));
Сообщить(ТипЦены.КвалификаторыЧисла.Разрядность);
Сообщить(ТипЦены.КвалификаторыЧисла.РазрядностьДробнойЧасти);
Сообщить(ТипЦены.КвалификаторыЧисла.ДопустимыйЗнак);
Сообщить(ТипКода.КвалификаторыСтроки.Длина);
Сообщить(ТипКода.КвалификаторыСтроки.ДопустимаяДлина);
Сообщить(ТипДня.КвалификаторыДаты.ЧастиДаты);
Для Каждого ДопустимыйТип Из ТипЦены.Типы() Цикл
    Сообщить(ДопустимыйТип);
КонецЦикла;

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

  1. Создаём квалификаторы отдельно и передаём их в правильные позиции конструктора ОписаниеТипов.

  2. СодержитТип проверяет допустимый тип, но ещё не проверяет конкретное введённое значение.

  3. ПривестиЗначение округляет число, ограничивает строку и убирает время из даты.

  4. Читаем ограничения обратно и обходим массив Типы.

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

  1. Проверки типа дают Истина и Ложь; цена получается 12,35, код ABC-1234.

  2. Час приведённой даты равен 0; свойства квалификаторов показывают 10, 2 и длину 8.

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

Цена, код и дата приведены к заданным ограничениям.

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

  1. Для пользовательского ввода сначала сообщайте о слишком длинном коде: молчаливое обрезание может создать дубликаты.

  2. ПривестиЗначение может вернуть значение по умолчанию при неподходящем вводе; не используйте его как единственную проверку корректности.

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

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

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

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

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