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