1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00

Черновик домашки 3.3

This commit is contained in:
Andrei Ovsiankin 2020-04-18 19:30:28 +03:00
parent 5b83bd002f
commit 9ceca8ab5b

71
homework-3-3.md Normal file
View File

@ -0,0 +1,71 @@
# Элементы управления
## Задание 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% от суммы). Сумма НДС должна попасть в поле "СуммаНДС" при окончании редактирования строки. Для получения редактируемой строки воспользуйтесь свойством ТекущиеДанные элемента управления таблицы.