mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-16 07:10:14 +02:00
8.5 KiB
8.5 KiB
Элементы управления
Задание 1
Описание задачи
Создать форму с полями ввода различных типов.
Требование к результату
Форма внешней обработки с полями ввода, привязанными к разным типам элементов управления.
Процесс выполнения
- Создайте внешнюю обработку, добавьте в неё основную форму.
- На форме разместите реквизиты с типом: «Строка», «Булево», «Дата», «Число».
- Строковый реквизит отобразите на форме в виде поля надписи без заголовка (только значение), установив свойство «Положение заголовка» в «Нет».
- Строковый реквизит также отобразите на форме в виде поля ввода.
- Реквизит типа «Булево» отобразите на форме в виде флажка.
- Реквизит типа «Булево» также отобразите на форме в виде элемента «Поле ввода» с позициями «Так точно» и «Никак нет», соответствующими значениям Истина и Ложь. Воспользуйтесь для этого свойством «Список выбора» элемента управления «Поле ввода». Обратите внимание на различное поведение поля при установленном и снятом флажке «Режим выбора из списка». Выберите наиболее подходящий задаче вариант значения флажка «Режим выбора из списка».
- Реквизит типа «Число» отобразите на форме без кнопки «Калькулятор» (кнопка выбора). Также задайте свойство «Формат» так, чтобы число отображалось без группировки разрядов и с отделением дробной части числа дефисом. Пример: 25520-71.
- Реквизит типа «Дата» отобразите в виде обязательного поля ввода. Используйте для этого признак «Автоотметка незаполненного».
Задание 2
Описание задачи
Обработчики событий поля ввода. Механика выбора значений.
Требование к результату
Внешняя обработка с двумя формами. Из поля ввода первой формы по кнопке выбора должна открываться вторая форма. В ней пользователь может ввести новый текст. Выбранное значение должно попасть в поле ввода первой формы.
Процесс выполнения
- Создайте внешнюю обработку. Добавьте в неё основную форму. Назовите её «ПерваяФорма».
- Добавьте в обработку ещё одну форму, при создании укажите тип «Произвольная форма». Назовите её «ВтораяФорма».
- В первой форме разместите строковый реквизит «ВажныеДанные» и добавьте его на форму в виде элемента управления «Поле ввода».
- Установите свойство «Кнопка выбора» для этого поля в значение «Да», а флаг «Редактирование текста» снимите.
- Добавьте полю ввода обработчик события «НачалоВыбора».
- Во второй форме добавьте параметр «ТекущееЗначение» строкового типа. Укажите, что форма должна блокировать окно владельца.
- Во второй форме добавьте текстовое поле «НовоеЗначение» и команду «Применить». Текстовому полю установите признак «Многострочное».
- Во второй форме создайте обработчик «ПриСозданииНаСервере», в котором обеспечьте присваивание полю «НовоеЗначение» значение параметра «ТекущееЗначение».
- Также во второй форме создайте обработчик команды «Применить», в котором с помощью метода «ОповеститьОВыборе» передайте в первую форму значение, указанное в поле «НовоеЗначение».
- Сделайте так, чтобы команда «Применить» выдавала ошибку, если поле «НовоеЗначение» не заполнено, при этом вторая форма закрываться не должна. Т.е. если пользователь оставляет НовоеЗначение пустым, нажимает ОК - выводится предупреждение об ошибке, форма остается открытой, для исправления ошибки
- В обработчике события укажите СтандартнаяОбработка = Ложь, после добавьте вызов метода ОткрытьФорму, открывающий вторую форму и передающий в неё в качестве владельца сам элемент управления, событие которого мы обрабатывам (параметр
Элемент
обработчика события) и текущее значение поля «ВажныеДанные». - Добавьте полю ввода «ВажныеДанные» обработчик события «ОбработкаВыбора». В обработчике присвойте полю «ВажныеДанные» значение входящего параметра «ВыбранноеЗначение».
Задание 3
Описание задачи
Изучение табличного поля.
Требование к результату
Форма с табличным полем, колонки которого расположены в нестандартной группировке.
Порядок выполнения
- Создайте новую внешнюю обработку.
- Создайте основную форму внешней обработки.
- В реквизитах формы создайте новый реквизит «Товары» с типом ТаблицаЗначений. Добавьте в него колонки:
- Товар (строка).
- Количество (число 18.2).
- Сумма (число 18.2).
- СуммаНДС (число 18.2).
- Добавьте таблицу на форму.
- Добавьте с помощью кнопки (+) в колонки таблицы группу колонок с группировкой «Вертикальная».
- Сделайте так, чтобы в форме поля «Количество» и «Сумма» находились друг под другом, поместив их в группу колонок.
- Добавьте обработчик события «ПередОкончаниемРедактирования» табличного поля «Товары». В обработчике напишите алгоритм вычисления суммы НДС (20% от суммы). Сумма НДС должна попасть в поле «СуммаНДС» при окончании редактирования строки. Для получения редактируемой строки используйте свойство «ТекущиеДанные» элемента управления таблицы.