Расширение поля формы для поля переключателя.ВысотаЭлемента

Свойства · ItemHeight

Тип: Число. Содержит высоту каждого элемента. Указывается в строках. 0 - высота определяется автоматически.

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

Расширение поля формы для поля переключателя.ВысотаЭлемента (Form field extension for a radio button field.ItemHeight)

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

ВысотаЭлемента (ItemHeight)

Не применяется в интерфейсе «Версия 8.5»

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

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

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

Примечание:
При виде переключателя отличном от Тумблер управляет высотой заголовка элемента.
Использование в версии:

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

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

Не применяется в интерфейсе «Версия 8.5»

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

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

Выбрать самовывоз или доставку и рассчитать итог

Настоящий переключатель связан с собственным числовым реквизитом. Два значения 1 и 2 имеют разные представления и разные доплаты.

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

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

Подготовка

  1. В отдельной учебной базе платформы 8.5.1.1343 создайте внешнюю обработку УчебныеЭлементы85, пустую управляемую форму и назначьте её основной. Используйте тонкий клиент Windows.

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

  3. Не создавайте перечисленные в коде реквизиты, поля и кнопку вручную: они добавляются при создании формы. Каждый урок запускайте в отдельной копии формы.

  4. Сохраните свою EPF и откройте её в учебной базе через Файл → Открыть. Код не читает рабочие заказы и не требует справочника товаров.

  5. Реквизит формы хранит значение, а ПолеФормы его отображает. ПутьКДанным связывает две части; неизвестного свойства Поле.Значение здесь нет.

  6. Расчёты используют собственные 3 книги по 250 и учебные условия. Они ничего не записывают в базу, не создают файлов и не вызывают сеть.

  7. Запуск и вид в 1С не проверены. Учитывайте интерфейс вашей учебной базы: Версия8_5 и Такси по-разному используют некоторые свойства.

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

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Поле = Элементы.УчебныйПереключатель;
    Если ТипЗнч(УчебныйВыбор) <> Тип("Число") Тогда
        ВызватьИсключение "Код варианта должен быть числом";
    КонецЕсли;
    Если УчебныйВыбор <> 1 И УчебныйВыбор <> 2 Тогда
        ВызватьИсключение "Выберите учебный вариант 1 или 2";
    КонецЕсли;
    Доплата = 0;
    Если УчебныйВыбор = 2 Тогда
        Доплата = 150;
    КонецЕсли;
    СуммаКниг = 3 * 250;
    Итого = СуммаКниг + Доплата;
    Сообщить(СуммаКниг = 750);
    Сообщить(Итого - Доплата = СуммаКниг);
    Сообщить(СтрШаблон("Книги: %1; доплата: %2; итого: %3", СуммаКниг, Доплата, Итого));
    Сообщить(Поле.СписокВыбора.Количество() = 2);
    Сообщить(Поле.СписокВыбора.Получить(0).Значение = 1);
    Сообщить(Поле.СписокВыбора.Получить(1).Значение = 2);
КонецПроцедуры

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

  1. Создаём числовой реквизит УчебныйВыбор и поле вида ПолеПереключателя. Начальное значение 1 соответствует самовывозу.

  2. Возвращённый СписокВыбора доступен только для чтения как свойство, но его собственный метод Добавить наполняет список двумя вариантами.

  3. Первый параметр Добавить — сохранённое значение, второй — видимая подпись. Индекс 0 первого элемента не равен его учебному значению 1.

  4. В Версия8_5 используется Ориентация.Вертикально и игнорируется КоличествоКолонок. В Такси ориентация игнорируется, а две колонки задаются другим свойством.

  5. После выбора кнопка проверяет допустимость кода и прибавляет к собственным 750 ровно 0 или 150. Она не оформляет доставку.

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

  1. Сначала нажмите кнопку: ожидаются итог 750 и пять Истина. Выберите доставку и нажмите снова: 900, доплата 150.

  2. Проверьте два варианта в том интерфейсе, который активен в учебной базе. Не ожидайте двух колонок в Версия8_5.

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

Два реальных значения интерфейса участвуют в конкретном расчёте; значения, подписи и индексы разведены.

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

  1. Горизонтально не поддерживается для этого переключателя: не копируйте ориентацию полосы регулирования.

  2. СписокВыбора = Новый СписокЗначений запрещён: свойство только для чтения. Пустой список скрывает поле.

  3. Действия ВыбратьВариант принадлежат тестируемому полю автоматизации, а не этому обычному элементу формы.

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

Включить подарочную упаковку булевым тумблером

Тумблер меняет своё булево значение. Режим Текст отображает Да/Нет; код вычисляет собственную доплату 50, не анализируя видимую подпись.

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

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

Подготовка

  1. В отдельной учебной базе платформы 8.5.1.1343 создайте внешнюю обработку УчебныеЭлементы85, пустую управляемую форму и назначьте её основной. Используйте тонкий клиент Windows.

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

  3. Не создавайте перечисленные в коде реквизиты, поля и кнопку вручную: они добавляются при создании формы. Каждый урок запускайте в отдельной копии формы.

  4. Сохраните свою EPF и откройте её в учебной базе через Файл → Открыть. Код не читает рабочие заказы и не требует справочника товаров.

  5. Реквизит формы хранит значение, а ПолеФормы его отображает. ПутьКДанным связывает две части; неизвестного свойства Поле.Значение здесь нет.

  6. Расчёты используют собственные 3 книги по 250 и учебные условия. Они ничего не записывают в базу, не создают файлов и не вызывают сеть.

  7. Запуск и вид в 1С не проверены. Учитывайте интерфейс вашей учебной базы: Версия8_5 и Такси по-разному используют некоторые свойства.

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

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Поле = Элементы.УчебныйПереключатель;
    Если ТипЗнч(УчебныйВыбор) <> Тип("Булево") Тогда
        ВызватьИсключение "Учебный выбор должен быть булевым";
    КонецЕсли;
    Доплата = 0;
    Если УчебныйВыбор Тогда
        Доплата = 50;
    КонецЕсли;
    СуммаКниг = 3 * 250;
    Итого = СуммаКниг + Доплата;
    Сообщить(СуммаКниг = 750);
    Сообщить(Итого - Доплата = СуммаКниг);
    Сообщить(СтрШаблон("Книги: %1; доплата: %2; итого: %3", СуммаКниг, Доплата, Итого));
    Сообщить(Поле.СписокВыбора.Количество() = 2);
    Сообщить(Поле.ОдинаковаяШиринаКолонок = Истина);
    Сообщить(Поле.ШиринаЭлемента = 18);
КонецПроцедуры

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

  1. Создаём булевый реквизит, начальное Ложь. Список содержит именно Ложь и Истина, а не строковые слова Да и Нет.

  2. ВидПереключателя.Тумблер включает другой режим этого же поля. ОтображениеТумблера.Текст в 8.5.1 задаёт подписи Да/Нет.

  3. ШиринаЭлемента используется для тумблера только при ОдинаковаяШиринаКолонок = Истина. Поэтому обе настройки задаются вместе.

  4. ВысотаЭлемента задаётся в строках, нулевая ВысотаЗаголовкаЭлемента означает автоматический выбор. Размеры не объявляются пикселями.

  5. Нажатие кнопки рассчитывает 750 при выключенной упаковке или 800 при включённой. Фиксированные 50 — собственный учебный тариф.

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

  1. При Ложь ожидаются итог 750 и пять Истина; при Истина — доплата 50, итог 800 и те же проверки.

  2. В Версия8_5 осмотрите тумблер и его сегменты. В Такси свойство РастягиватьПоГоризонтали игнорируется; точный внешний вид проверяется вручную.

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

Булевый выбор влияет на учебный расчёт независимо от подписей и геометрии тумблера.

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

  1. Текст Да/Нет — представление режима, а не введённые пользователем строковые данные.

  2. Неопределено для ОдинаковаяШиринаКолонок трактуется как Ложь: при нём ширина сегмента не используется.

  3. Настройки размера задаём на сервере создания формы; изменение ряда свойств на клиенте требует обращения к серверу.

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

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

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

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

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