mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
71 lines
8.0 KiB
Markdown
71 lines
8.0 KiB
Markdown
# Элементы управления
|
|
|
|
## Задание 1
|
|
|
|
### Описание задачи
|
|
|
|
Создать форму с полями ввода различных типов
|
|
|
|
### Требование к результату
|
|
|
|
Форма внешней обработки с полями ввода, привязанными к разным типам элементов управления
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Создайте внешнюю обработку, добавьте в нее основную форму
|
|
2. На форме разместите реквиты с типом: "Строка", "Булево", "Дата", "Число"
|
|
3. Строковый реквизит отобразите на форме в виде поля надписи без заголовка (только значение), установив свойство "Положение заголовка" в "Нет"
|
|
4. Строковый реквизит также отобразите на форме в виде поля ввода
|
|
5. Реквизит типа "Булево" отобразите на форме в виде флажка
|
|
6. Реквизит типа "Булево" также отобразите на форме в виде элемента "Поле ввода" с позициями "Так точно" и "Никак нет", соответствующими значениям Истина и Ложь Воспользуйтесь для этого свойством "Список выбора" элемента управления "Поле ввода". Обратите внимание на различное поведение поля при установленном и снятом флажке "Режим выбора из списка". Выберите наиболее подходящий задаче вариант значения флажка "Режим выбора из списка"
|
|
7. Реквизит типа "Число" отобразите на форме без кнопки "калькулятор" (кнопка выбора). Также задайте свойство "Формат" таким образом, чтобы число отображалось без группировки разрядов и с отделением дробной части числа дефисом. Пример: "25520-71"
|
|
8. Реквизит типа "Дата" отобразите в виде поля ввода в виде обязательного поля ввода. Используйте для этого признак "Автоотметка незаполненного"
|
|
|
|
## Задание 2
|
|
|
|
### Описание задачи
|
|
|
|
Обработчики событий поля ввода. Механика выбора значений
|
|
|
|
### Требование к результату
|
|
|
|
Внешняя обработка с двумя формами. Из поля ввода первой формы по кнопке выбора должна открываться вторая форма. В ней пользователь может ввести новый текст. Выбранное значение должно попасть в поле ввода первой формы.
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Создайте внешнюю обработку. Добавьте в нее основную форму. Назовите ее "ПерваяФорма".
|
|
2. Добавьте в обработку еще одну форму, при создании укажите тип "Произвольная форма". Назовите ее "ВтораяФорма"
|
|
3. В первой форме разместите строковый реквизит "ВажныеДанные" и добавьте его на форму в виде элемента управления "Поле ввода"
|
|
4. Установите свойство "Кнопка выбора" для данного поля в значение "Да", а флаг "Редактирование текста" снимите.
|
|
5. Добавьте полю ввода обработчик события "НачалоВыбора"
|
|
6. Во второй форме добавьте параметр "ТекущееЗначение" строкового типа. Укажите, что форма должна блокировать окно владельца
|
|
7. Во второй форме добавьте текстовое поле "НовоеЗначение" и команду "Применить". Текстовому полю установите признак "Многострочное"
|
|
8. Во второй форме создайте обработчик "ПриСозданииНаСервере" в котором обеспечьте присваивание полю "НовоеЗначение" значение параметра "ТекущееЗначение"
|
|
9. Также во второй форме создайте обработчик команды "Применить" в котором с помощью метода "ОповеститьОВыборе" передайте в первую форму значение, указанное в поле "НовоеЗначение"
|
|
10. Сделайте так, чтобы команда "Применить" выдавала ошибку, если поле "НовоеЗначение" не заполнено
|
|
11. В обработчике события укажите СтандартнаяОбработка = Ложь, после чего добавьте вызов метода ОткрытьФорму, открывающий вторую форму и передающий в нее в качестве владельца сам элемент управления, событие которого мы обрабатывам (параметр `Элемент` обработчика события) и текущее значение поля "ВажныеДанные"
|
|
12. Добавьте полю ввода "ВажныеДанные" обработчик события "ОбработкаВыбора". В обработчике присвойте полю "ВажныеДанные" значение входящего параметра "ВыбранноеЗначение"
|
|
|
|
# Задание 3
|
|
|
|
### Описание задачи
|
|
|
|
Изучение табличного поля
|
|
|
|
### Требование к результату
|
|
|
|
Форма с табличным полем, колонки которого расположены в нестандартной группировке
|
|
|
|
### Порядок выполнения
|
|
|
|
1. Создайте новую внешнюю обработку
|
|
2. Создайте основную форму внешней обработки
|
|
3. В реквизитах формы создайте новый реквизит "Товары" с типом ТаблицаЗначений. Добавьте в него колонки
|
|
* "Товар" (строка)
|
|
* "Количество" (число 18.2)
|
|
* "Сумма" (число 18.2)
|
|
* "СуммаНДС" (число 18.2)
|
|
5. Добавьте таблицу на форму
|
|
6. Добавьте с помощью кнопки (+) в колонки таблицы группу колонок с группировкой "Вертикальная"
|
|
7. Сделайте так, чтобы в форме поля Количество и Сумма находились друг-под-другом, поместив их в группу колонок
|
|
8. Добавьте обработчик события "ПередОкончаниемРедактирования" табличного поля "Товары". В обработчике напишите алгоритм вычисления суммы НДС (20% от суммы). Сумма НДС должна попасть в поле "СуммаНДС" при окончании редактирования строки. Для получения редактируемой строки воспользуйтесь свойством ТекущиеДанные элемента управления таблицы. |