1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-16 07:10:14 +02:00

Домашнее задание 6.7

This commit is contained in:
Matvey Seregin 2023-06-11 22:48:56 +03:00
parent 6f4316495f
commit f1a923c1bd
3 changed files with 42 additions and 29 deletions

View File

@ -1,41 +1,54 @@
# Задание к занятию "Работа с СКД"
Данное задание является необязательным. Вы может его выполнить, чтобы лучше разобраться в теме.
Все задачи обязательны к выполнению.
Любые вопросы по решению задач задавайте в чате учебной группы.
## Задача "Отчет Продажи по контрагентам"
## Цель задания
1. Научиться формировать отчеты с использованием СКД
## Чеклист готовности к домашнему заданию
- [ ] Установить платформу 1С:Предприятие версии 8.3.22 или больше.
## Задача 1 (со звёздочкой) Анализ выгрузки
### Описание задачи
Создать отчет Продажи по контрагентам на СКД. Запрос используем из предыдущего задания. Добавляем набор данных - объект. Имя набора данных - ОтчетПоПродажам.
Из модуля отчета организовать заполнение отчета из таблицы значений с возможностью выполнения расшифровки.
Партнер передает информацию о продажах наших товаров за период в виде архива. Необходимо реализовать отчет для анализа данных архива, предоставленных партнером.
### Требования к результату
В отчете вместо набора данных Запрос использовать набор данных Объект. Переопределить событие (создать обработку события) ПриКомпоновкеРезультата модуля объекта отчета для передачи ТЗ в СКД. Прикрепить файл внешнего отчета и выгрузку информационной базы (.dt).
Внешний отчет, который позволяет выбрать архив, получает из него данные и формирует отчет.
### Процесс выполнения
1. Скачайте и изучите [Пример архива](reference-data/export.zip), который отправляет поставщик
2. Создайте внешний отчет, добавьте реквизит отчета АдресДанных, тип - строка.
3. Создайте форму внешнего отчета, добавьте на форму команду Загрузить данные. При выполнении команды необходимо предлагать пользователю выбрать zip-файл, когда файл выбрать - сохранять его во временном хранилище. Адрес временного хранилища необходимо сохранить в реквизите отчета АдресДанных.
4. Назначьте обработчик события ПриКомпоновкеРезультата в модуле объекта отчета и реализуйте алгоритм:
- Отключите стандартную обработку
- Проверьте заполнения АдресаДанных - если он пустой необходимо показать ошибку "Для формирования отчета необходимо выбрать файл архива"
- Получите архив из временного хранилища
- Получите имя временного файла и создайте новый каталог с этим именем с помощью методов ПолучитьИмяВременногоФайла() и СоздатьКаталог()
- Распакуйте архив в новый каталог с помощью объекта ЧтениеZipФайла
- Создайте таблицу значений для хранения данных файлов, добавьте колонки исходя из содержимого файлов и целевого внешнего вида отчета
- Найдите все файлы в каталоге с помощью метода НайтиФайлы()
- Прочитайте данные каждого файла с помощью Табличного документа и добавьте эти данные в таблицу значений
- Удалите временные файлы
- Сформируйте отчет программно вызывая объекты СКД с передачей сформированной таблицы значений как внешнего набора данных
5. Создайте Основную схему компоновки данных
- Добавьте в качества источника НаборДанных: Объект
- Заполните колонки набора данных исходя из целевого внешнего вида отчета
- Заполните ресурсы исходя из целевого внешнего вида отчета
- Заполните настройки отчета исходя из целевого внешнего вида
6. Проотестируйте работу отчета
- Откройте отчет в любой информационной базе
- Выберите в качестве файла [Пример архива](reference-data/export.zip)
- Сформируйте отчет и сравните с примеров внешнего вида отчета
1. Изменяем внешний отчета из прошлого задания;
2. Перекрыть событие ПриКомпоновкеРезультата() в модуле отчета. Убрать стандартную обработку;
3. Создать запрос с текстом из предыдущего задания с параметром ограничения по дате;
3. Получаем настройки компоновщика настроек. Создаем объект - ПараметрКомпоновкиДанных и из коллекции ПараметрыДанных
из полученных настроек функцией НайтиЗначениеПараметра() возвращаем объект ЗначениеПараметраКомпоновкиДанных и устанавливаем значение параметра для запроса
свойством Значение;
4. Выгружаем результат запроса в таблицу значений;
5. Для доступа к расшифровке в отчете - использовать параметр события ДанныеРасшифровки() при вызвове метода Выполнить() компоновщика макета
и Инициализировать() процессора компоновки данных.
6. Создаем объект КомпоновщикМакетаКомпоновкиДанных и функцией Выполнить() возвращаем результат в переменную.
7. Создаем структуру - Название объекта в СКД и таблица значений с данными;
8. Создаем и инициализируем объект ПроцессорКомпоновкиДанных;
9. Очищаем параметр ДокументРезультат;
10. Через объект ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент устанавливаем ДокументРезультат и выводим объект ПроцессорКомпоновкиДанных;
11. В схеме компоновки данных добавляем набор данных - объект;
12. Задаем имя объекта которое совпадает с наименованием ключа структуры с ТЗ;
13. Создаем поля на вкладке Наборы данных - количество и имена полей должны совпадать с колонками переданной таблицы значений;
14. Определяем правильный тип полей;
15. Делаем настройки для полей как в прошлом задании;
16. Проверяем формирование отчета в пользовательском режиме.
### Пример внешнего вида отчета
![Пример внешнего вида отчета](img/homework-6-7-1.png)
### Подсказка: [результат выполнения домашнего задания](Examples/homework-6-7-example.md)
## Критерии оценки
Домашнее задание проверяется экспертом.
Успешным выполнением считается корректно реализованный отчет "Анализ выгрузки"

BIN
img/homework-6-7-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
reference-data/export.zip Normal file

Binary file not shown.