mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-24 08:02:20 +02:00
d7bb46f31b
Правки от редактора по ДЗ 3.1-3.4 и по Курсовой работе.
63 lines
5.2 KiB
Markdown
63 lines
5.2 KiB
Markdown
# Формы, их реквизиты и данные
|
|
|
|
## Задание 1
|
|
|
|
### Описание задачи
|
|
|
|
Создать форму внешней обработки «Приглашение на вечеринку».
|
|
|
|
### Требование к результату
|
|
|
|
Форма внешней обработки, позволяющая ввести имя гостя и параметры его размещения: «Буду с ночёвкой», «Что ест», «Что пьёт». При нажатии команды «Сохранить» выдаётся предупреждение вида «<Имя> принял приглашение. Ест <Что ест>, пьёт <что пьёт>. Спальное место <потребуется/не потребуется>».
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Создайте внешнюю обработку и добавьте в неё реквизиты:
|
|
|
|
* Имя (строка).
|
|
* Что ест (строка).
|
|
* Что пьёт (строка).
|
|
* БудетСНочёвкой (булево).
|
|
|
|
2. Создайте основную форму внешней обработки и разместите на ней реквизиты обработки.
|
|
3. Создайте в форме команду «Сохранить» и в обработчике команды создайте вывод текста в виде предупреждения, использовав обращение к данным формы вида «Объект.<Имя реквизита обработки>».
|
|
|
|
## Задание 2
|
|
|
|
### Описание задачи
|
|
|
|
Развитие обработки «Приглашение на вечеринку».
|
|
|
|
### Требование к результату
|
|
|
|
Поля «Имя», «Что ест», «Что пьёт» должны быть обязательны для заполнения и должны подчёркиваться пунктирной линией, если не заполнены. Если нажата кнопка «Сохранить», а одно из обязательных полей не заполнено — должно выдаваться окно с указанием незаполненного реквизита.
|
|
|
|
Результат выполнения должен быть сохранён в отдельной обработке с именем «Задание 2.epf».
|
|
|
|
### Процесс выполнения
|
|
|
|
1. Скопируйте обработку — результат выполнения задания 1. Назовите её «Задание 2».
|
|
2. Укажите для полей «Имя», «Что ест», «Что пьёт», что свойство «Проверка заполнения» имеет значение «Выдавать ошибку».
|
|
3. В процедуре обработчике команды «Сохранить» вызовите метод *ПроверитьЗаполнение*. Выводите окно с текстом, аналогичным прошлому заданию только в том случае, если проверка пройдена.
|
|
|
|
## Задание 3
|
|
|
|
### Описание задачи
|
|
|
|
Работа с данными формы и преобразование в прикладные объекты. Закрепление знаний о различии между данными формы и общими объектами.
|
|
|
|
### Требование к результату
|
|
|
|
Внешняя обработка с табличным полем, имеющим колонки «Товар» и «Сумма». При нажатии кнопки «Объединить строки» должна происходить свёртка, т. е. группировка таблицы по одинаковым значениям поля «Товар».
|
|
|
|
### Порядок выполнения
|
|
|
|
1. Создайте новую внешнюю обработку.
|
|
2. Создайте основную форму внешней обработки.
|
|
3. В реквизитах формы создайте новый реквизит «Товары» с типом *ТаблицаЗначений*. Добавьте в него колонки «Товар» (строка) и «Сумма» (число 18.2).
|
|
4. Добавьте на форму команду «Объединить строки» и обработчик команды.
|
|
5. Добавьте в модуль формы процедуру с директивой *НаСервере* с именем «СвёрткаСтрок».
|
|
6. Конвертируйте таблицу «Товары» (`ДанныеФормы`) в универсальную коллекцию `ТаблицаЗначений`.
|
|
7. Используйте штатный метод «Свернуть» таблицы значений, чтобы выполнить свёртку одинаковых товаров и сложение сумм по ним. Используйте синтакс-помощника для корректного применения метода «ТаблицаЗначений.Свернуть».
|
|
8. Конвертируйте полученную таблицу обратно в данные формы.
|