You've already forked 1c-homeworks
							
							
				mirror of
				https://github.com/netology-code/1c-homeworks.git
				synced 2025-10-30 23:43:50 +02:00 
			
		
		
		
	Домашнее задание 6.7
This commit is contained in:
		| @@ -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. Проверяем формирование отчета в пользовательском режиме. | ||||
| ### Пример внешнего вида отчета | ||||
|  | ||||
|  | ||||
| ### Подсказка: [результат выполнения домашнего задания](Examples/homework-6-7-example.md) | ||||
| ## Критерии оценки | ||||
|  | ||||
| Домашнее задание проверяется экспертом. | ||||
|  | ||||
| Успешным выполнением считается корректно реализованный отчет "Анализ выгрузки" | ||||
							
								
								
									
										
											BIN
										
									
								
								img/homework-6-7-1.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											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
									
								
							
							
						
						
									
										
											BIN
										
									
								
								reference-data/export.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user