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

63 lines
5.2 KiB
Markdown
Raw Normal View History

2020-04-13 19:08:37 +02:00
# Формы, их реквизиты и данные
## Задание 1
### Описание задачи
Создать форму внешней обработки «Приглашение на вечеринку».
2020-04-13 19:08:37 +02:00
### Требование к результату
Форма внешней обработки, позволяющая ввести имя гостя и параметры его размещения: «Буду с ночёвкой», «Что ест», «Что пьёт». При нажатии команды «Сохранить» выдаётся предупреждение вида «<Имя> принял приглашение. Ест <Что ест>, пьёт <что пьёт>. Спальное место <потребуется/не потребуется>».
2020-04-13 19:08:37 +02:00
### Процесс выполнения
1. Создайте внешнюю обработку и добавьте в неё реквизиты:
2020-04-13 19:08:37 +02:00
* Имя (строка).
* Что ест (строка).
* Что пьёт (строка).
* БудетСНочёвкой (булево).
2020-04-13 19:08:37 +02:00
2. Создайте основную форму внешней обработки и разместите на ней реквизиты обработки.
3. Создайте в форме команду «Сохранить» и в обработчике команды создайте вывод текста в виде предупреждения, использовав обращение к данным формы вида «Объект.<Имя реквизита обработки>».
2020-04-13 19:08:37 +02:00
## Задание 2
### Описание задачи
Развитие обработки «Приглашение на вечеринку».
2020-04-13 19:08:37 +02:00
### Требование к результату
Поля «Имя», «Что ест», «Что пьёт» должны быть обязательны для заполнения и должны подчёркиваться пунктирной линией, если не заполнены. Если нажата кнопка «Сохранить», а одно из обязательных полей не заполнено — должно выдаваться окно с указанием незаполненного реквизита.
2020-04-13 19:08:37 +02:00
Результат выполнения должен быть сохранён в отдельной обработке с именем «Задание 2.epf».
2020-04-13 19:08:37 +02:00
### Процесс выполнения
1. Скопируйте обработку — результат выполнения задания 1. Назовите её «Задание 2».
2. Укажите для полей «Имя», «Что ест», «Что пьёт», что свойство «Проверка заполнения» имеет значение «Выдавать ошибку».
3. В процедуре обработчике команды «Сохранить» вызовите метод *ПроверитьЗаполнение*. Выводите окно с текстом, аналогичным прошлому заданию только в том случае, если проверка пройдена.
2020-04-13 19:08:37 +02:00
## Задание 3
2020-04-13 19:08:37 +02:00
### Описание задачи
Работа с данными формы и преобразование в прикладные объекты. Закрепление знаний о различии между данными формы и общими объектами.
2020-04-13 19:08:37 +02:00
### Требование к результату
Внешняя обработка с табличным полем, имеющим колонки «Товар» и «Сумма». При нажатии кнопки «Объединить строки» должна происходить свёртка, т. е. группировка таблицы по одинаковым значениям поля «Товар».
2020-04-13 19:08:37 +02:00
### Порядок выполнения
1. Создайте новую внешнюю обработку.
2. Создайте основную форму внешней обработки.
3. В реквизитах формы создайте новый реквизит «Товары» с типом *ТаблицаЗначений*. Добавьте в него колонки «Товар» (строка) и «Сумма» (число 18.2).
4. Добавьте на форму команду «Объединить строки» и обработчик команды.
5. Добавьте в модуль формы процедуру с директивой *НаСервере* с именем «СвёрткаСтрок».
6. Конвертируйте таблицу «Товары» (`ДанныеФормы`) в универсальную коллекцию `ТаблицаЗначений`.
7. Используйте штатный метод «Свернуть» таблицы значений, чтобы выполнить свёртку одинаковых товаров и сложение сумм по ним. Используйте синтакс-помощника для корректного применения метода «ТаблицаЗначений.Свернуть».
8. Конвертируйте полученную таблицу обратно в данные формы.