# Задание к занятию "Внешние отчеты, обработки и расширения" ## Задача 1 "Создание внешней обработки" ### Описание задачи Создать внешнюю обработку **Калькулятор** с четырьмя арифметическими действиями ### Требования к результату Результат - файл внешней обработки (.epf), в которой будут: - два реквизита формы **Результат** и **Значение**; - два соответствующих им поля ввода; - четыре команды: **Сложить**, **Вычесть**, **Разделить** и **Умножить** и четыре кнопки. Команды должны проводить соответствующее арифметическое действие, помещая его результатат в реквизит **Результат**. ### Процесс выполнения 1. Вызовем команду "Новый" из подменю "Файл" и выберем вид документа "Внешняя обработка". 2. Дадим ей имя **Калькулятор** и создадим форму, нажав на кнопку с лупой. 3. На форму обработки добавим два реквизита типа "Число": **Значение** и **Результат**. 4. Перетащим их на форму, где они станут полями ввода. 5. Добавим команды **Сложить**, **Вычесть**, **Разделить** и **Умножить**. 6. Перетащим команды на форму, чтобы они стали кнопками. 7. Из контекстного меню каждой кнопки создадим обработчик, выбрав пункт "<Действие команды>" с вариантом "Создать на клиенте". 8. В коде каждого обработчика (в процедурах с именем "Сложить", "Вычесть", "Разделить", "Умножить") напишем, заменив "+" на нужную операцию: Результат = Результат + Значение; 9. Сохраним обработку как файл "Калькулятор.epf". ## Задача 2 "Создание внешнего отчета" ### Описание задачи Создать внешний отчет "Лекции", который выведет все лекции курса в виде детальных записей. В качестве конфигурации нужно использовать конфигурацию "Курс 1С Разработчик (демо)" из прошлых лекций (https://github.com/netology-code/1c-homeworks/blob/master/1c-developer-demo.dt). ### Требования к результату Результат - файл внешнего отчета (*.erf) с единственным набором данных, содержащим поля: - **Наименование** - **Дата** - **Модуль** Отчет должен выводить детальные записи с колонками "Наименование", "Дата" и "Модуль". ### Процесс выполнения 1. Вызовем команду "Новый" из подменю "Файл" и выберем вид документа "Внешний отчет". 2. Назовем его **Лекции** и создадим основную схему компоновки данных, нажав на кнопку с лупой. 3. Добавим единственный набор данных типа **Запрос** и откроем "Конструктор запроса". 4. В таблицу "Поля" перетащим нужные нам в отчете реквизиты справочника **Лекции**: **Модуль**, **Наименование** и **Дата**: ![Конструктор](https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6-1.png) Закроем конструктор. 5. Перейдем на закладку "Настройка" и под корнем "Отчет" добавим группировку без указания поля группировки (конструктор назовет ее "Детальные записи"): ![Группировки](https://github.com/netology-code/1c-homeworks/blob/master/homework-1-6-2.png) 6. На закладке "Выбранные поля" перетащим вправо, из таблицы "Доступные поля", поля **Наименование**, **Дата** и **Модуль**. 7. Сохраним отчет в файл "Лекции.erf". # Критерии оценки ## Зачет 1. Форма предоставленных файлов соответсвует требованиям задач, предоставлено 2 файла (внешний отчет и внешняя обработка) 2. Внешняя обработка содержит необходимые поля и кнопки, математические операции выполняются корректно 3. Внешний отчет выводит информацию о лекциях в составе **Наименование**, **Дата** и **Модуль** ## На доработку 1. Предоставлены результаты решения не всех задач 2. В обработке нет необходимых полей или команд, либо математические операции выполняются с ошибками 3. В отчете не выводятся все элементы справочника Лекции или состав полей отличается от перечисленного в задаче