Расширение поля формы для поля календаря.РастягиватьПоГоризонтали

Свойства · HorizontalStretch

Тип: Булево. Указывает возможность растягивания календаря по горизонтали. Истина - растягивание разрешено.

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

Расширение поля формы для поля календаря.РастягиватьПоГоризонтали (Form field extension for a calendar field.HorizontalStretch)

Расширение поля формы для поля календаря (Form field extension for a calendar field)

РастягиватьПоГоризонтали (HorizontalStretch)

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

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Указывает возможность растягивания календаря по горизонтали.
Истина - растягивание разрешено.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Изменение свойства на клиенте требует обращения к серверу.

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

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

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

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

Задать размеры календаря в месяцах и строках

ШиринаВМесяцах — два месяца; ВысотаВМесяцах=0 включает размер Высота. Ширина только читается, присваивания ей нет.

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

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

Подготовка

  1. Создайте отдельную внешнюю обработку с пустой управляемой основной формой. Каждый урок — полный модуль отдельной копии.

  2. В событиях формы свяжите ПриСозданииНаСервере с процедурой из кода. Не создавайте УчебнаяДата, УчебныйКалендарь и проверочную кнопку вручную.

  3. Код создаёт свой календарь и реквизит Дата с начальным значением 04.10.2026. Нет документов, регистров, файлов или календарей рабочего времени базы.

  4. Для размеров в месяцах нужен режим совместимости выше Версия8_3_2. Здесь предполагается учебная база на 8.5.1.1343 без старого режима совместимости.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("УчебнаяДата", Новый ОписаниеТипов("Дата")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    ЭтаФорма.УчебнаяДата = Дата(2026, 10, 4);
    Календарь = Элементы.Добавить("УчебныйКалендарь", Тип("ПолеФормы"));
    Календарь.Вид = ВидПоляФормы.ПолеКалендаря;
    Календарь.ПутьКДанным = "УчебнаяДата";
    Календарь.Заголовок = "Собственная учебная дата";
    Календарь.НачалоПериодаОтображения = Дата(2026, 10, 1);
    Календарь.КонецПериодаОтображения = Дата(2026, 11, 30);
    Календарь.РежимВыделения = РежимВыделенияДаты.Одиночный;
    Календарь.АвтоМаксимальнаяВысота = Ложь;
    Календарь.АвтоМаксимальнаяШирина = Ложь;
    Календарь.МаксимальнаяВысота = 16;
    Календарь.МаксимальнаяШирина = 70;
    Календарь.ВысотаВМесяцах = 0;
    Календарь.Высота = 9;
    Календарь.ШиринаВМесяцах = 2;
    Календарь.РастягиватьПоГоризонтали = Истина;
    Календарь.РастягиватьПоВертикали = Ложь;

    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить учебный календарь";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Календарь = Элементы.УчебныйКалендарь;
    Сообщить(Календарь.ШиринаВМесяцах = 2 И Календарь.ВысотаВМесяцах = 0);
    Сообщить(Календарь.Высота = 9);
    Сообщить(Календарь.Ширина);
    Сообщить(Не Календарь.АвтоМаксимальнаяВысота И Не Календарь.АвтоМаксимальнаяШирина);
    Сообщить(Календарь.МаксимальнаяВысота = 16 И Календарь.МаксимальнаяШирина = 70);
    Сообщить(ЭтаФорма.УчебнаяДата = Дата(2026, 10, 4));
КонецПроцедуры

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

  1. Автоматические максимумы выключены, поэтому используются явные ограничения 16 и 70.

  2. ВысотаВМесяцах=0 передаёт управление свойству Высота, которое задаётся в строках.

  3. ШиринаВМесяцах=2 задаёт месячную ширину в подходящем режиме совместимости. Нельзя считать это 2 пикселями.

  4. Ширина только для чтения; вывод её значения диагностический. Растяжение не меняет выбранную дату.

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

  1. Первое, второе, четвёртое, пятое и шестое сообщения Истина; третье — фактическая Ширина.

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

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

Месячные размеры, строки и ограничения представлены без записи в readonly-свойство.

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

  1. В старом режиме совместимости месячные размеры могут не применяться.

  2. Количество показанных месяцев зависит также от места в форме и позиции выбранной даты.

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

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

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

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

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