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

62 lines
5.1 KiB
Markdown
Raw Normal View History

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