You've already forked 1c-homeworks
mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2025-11-23 22:22:23 +02:00
Домашние задания 6.1 - 6.6
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте новую информационную базу.
|
||||
2. Загрузить в нее [выгрузку тренажера](/simulator/queries.dt)
|
||||
2. Загрузите в нее [выгрузку тренажера](/simulator/queries.dt)
|
||||
3. Запустите базу в пользовательском режиме.
|
||||
4. Подготовьте текст запроса, удовлетворяющий заданию, в поле "Решение"
|
||||
- Условие задания выводится справа от поля "Решение"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
В поле статуса каждой задачи должно быть указано "Решение верно".
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте новую информационную базу и загрузить в нее [выгрузку тренажера](/simulator/queries.dt). Либо используйте базу, полученную по итогам предыдущего задания.
|
||||
1. Используйте базу, полученную по итогам предыдущего задания.
|
||||
3. Запустите базу в пользовательском режиме.
|
||||
4. Подготовьте текст запроса, удовлетворяющий заданию, в поле "Решение"
|
||||
- Условие задания выводится справа от поля "Решение"
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Изучите структуру конфигурации в конфигураторе. Какие есть справочники, документы, регистры. Как они друг с другом связаны.
|
||||
2. Запустите пользовательский режим и для задач 3.1 - 3.5 составьте текст запроса, удовлетворяющий условиям.
|
||||
2. Запустите пользовательский режим и для задач 3.1 - 3.4 составьте текст запроса, удовлетворяющий условиям.
|
||||
3. Проверьте текст запроса через встроенный механизм проверки.
|
||||
4. Реализуйте алгоритм для работы обработки "2.6. Динамический текст запроса"
|
||||
4. Реализуйте алгоритм для работы обработки "3.5. Ежемесячные документы"
|
||||
|
||||
## Задача 1 "Решение задач 3.1 - 3.4 самоучителя запросов"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
В поле статуса каждой задачи должно быть указано "Решение верно".
|
||||
|
||||
### Процесс выполнения
|
||||
1. Создайте новую информационную базу и загрузить в нее [выгрузку тренажера](/simulator/queries.dt). Либо используйте базу, полученную по итогам предыдущего задания.
|
||||
1. Используйте базу, полученную по итогам предыдущего задания.
|
||||
3. Запустите базу в пользовательском режиме.
|
||||
4. Подготовьте текст запроса, удовлетворяющий заданию, в поле "Решение"
|
||||
- Условие задания выводится справа от поля "Решение"
|
||||
@@ -48,9 +48,9 @@
|
||||
1. Используйте базу из предыдущего задания
|
||||
2. Откройте в конфигураторе модуль объекта обработки Задание_3_5 и реализуйте в процедуре "ЗаполнитьСписокДоговоров" алгоритм заполнения табличной части обработки. Подсказки для реализации содержатся в комментарии внутри процедуры:
|
||||
1. Необходимо выбрать все договоры с типом Абонентская плата. Если заполнено поле ОтборОтветственный, то необходимо выбирать только те договоры, в которых этот сотрудник указан ответственным.
|
||||
2. Если в месяце, указанном в поле Период была создана продажа с предопределенной номенклатурой Абонентская плата, то в поле Продажа вывести ссылку на эту продажу. Если продаж несколько, то договоры не должны дублироваться.
|
||||
3. Если продажи нет или если в продаже сумма отличается от суммы в константе. Размер абонентской платы, то поставить флажок Создать продажу
|
||||
4. Вся подготовка данных должна выполняться в одном запросе. Не следует реализовывать постобработку, например, получать значение константы или проставлять флажок СоздатьПродажу
|
||||
2. Если в месяце, указанном в поле Период была создана продажа с предопределенной номенклатурой Абонентская плата, то в поле Продажа вывести ссылку на эту продажу. Если продаж несколько, то договоры не должны дублироваться, в поле продажа можно вывести любой документ из введенных по этому договору за этот период.
|
||||
3. Если продажи нет или если в продаже сумма отличается от суммы в константе "Размер абонентской платы", то поставить флажок Создать продажу
|
||||
4. Вся подготовка данных должна выполняться в одном запросе. Не следует реализовывать постобработку, например, получать значение константы или расчитывать алгоритмом на встроенном языке значение флажка СоздатьПродажу
|
||||
3. Запустите приложение в пользовательском режиме, перейдите в раздел "Дополнительные задания" и нажмите на ссылку "3.5. Ежемесячные документы". Протестируйте работу обработки на данных июня 2023г. Убедитесь, что если для договора в указанном периоде создана продажа с корректной суммой, то флажок СоздатьПродажу не устанавливается.
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
@@ -1,39 +1,47 @@
|
||||
# Задание к занятию "Объединения и подзапросы"
|
||||
|
||||
## Задача "Информация по контрагенту"
|
||||
Данное задание является самостоятельным. Проверка автоматическая в тренажере.
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Научиться применять объединения и подзапросы.
|
||||
2. Научиться обращаться к виртуальным таблицам регистров.
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установить платформу 1С:Предприятие версии 8.3.22 или больше.
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Изучите структуру конфигурации в конфигураторе. Какие есть справочники, документы, регистры. Как они друг с другом связаны.
|
||||
2. Запустите пользовательский режим и для задач 4.1 - 4.8 составьте текст запроса, удовлетворяющий условиям.
|
||||
3. Проверьте текст запроса через встроенный механизм проверки.
|
||||
|
||||
## Задача 1 "Решение задач 4.1 - 4.8 самоучителя запросов"
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать внешнюю обработку ИнформацияПоКонтрагенту. Обработка формирует и выводит на экран Табличный документ с информацией по контрагенту. В обработке выбирается контрагент для формирования информации.
|
||||
Составьте тексты запросов, удовлетворящих условиям задач в тренажере.
|
||||
|
||||
### Требования к результату
|
||||
|
||||
Прикрепить .epf файл внешней обработки для формирования информации по контрагенту и .dt выгруженной базы с данными.
|
||||
|
||||
В поле статуса каждой задачи должно быть указано "Решение верно".
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте базу, полученную по итогам предыдущего задания.
|
||||
3. Запустите базу в пользовательском режиме.
|
||||
4. Подготовьте текст запроса, удовлетворяющий заданию, в поле "Решение"
|
||||
- Условие задания выводится справа от поля "Решение"
|
||||
- Для подготовки текста запроса можно воспользоваться конструктором запросов
|
||||
5. Проверьте решение с помощью команды "Проверить"
|
||||
6. Перейдите к следующей задаче с помощью команды "Далее >>"
|
||||
- Можно перейти к произвольному заданию, нажав на название текущего задания
|
||||
|
||||
1. Сформировать внешнюю обработку ИнформацияПоКонтрагенту.epf.
|
||||
2. В обработку добавить реквизит формы Контрагент с типом Справочники.Контрагенты.
|
||||
3. В конфигурацию добавить общий макет ИнформацияПоКонтрагенту типа табличный документ.
|
||||
4. Создать команду Вывести информацию и соответствующую кнопку на форму.
|
||||
5. Перекрыть действие команды и реализовать следующее:
|
||||
* Если реквизит Контрагент не заполнен, выдавать соответствующее сообщение и дальше не продолжать;
|
||||
* Создать текст запроса который будет посекционно выводить информацию по выбранному контрагенту в общий макет ИнформацияПоКонтрагенту;
|
||||
* В первую секцию выводить наименование контрагента, ИНН, и КПП из справочника Контрагенты;
|
||||
* Во вторую секцию выводить контактную информацию по контрагенту из табличной части КонтактнаяИнформация из справочника Контрагенты;
|
||||
* Будем считать что контрагент является и поставщиком и покупателем. Поэтому в третью секцию выводить Товар, Количество проданного товара и Количество поступившего
|
||||
товара из документов Поступление и Реализация;
|
||||
* При формировании текста запроса учитывать следующие особенности:
|
||||
- использовать один запрос;
|
||||
- для получения контактной информации использовать ЛЕВОЕ СОЕДИНЕНИЕ, чтобы получить сведения о контрагентах и без контактной информации;
|
||||
- товар в запросе должен быть объединен в одну колонку как для продажи так и для поступления;
|
||||
- для получения количества проданного и поступившего товара использовать ПОЛНОЕ СОЕДИНЕНИЕ в подзапросе по товару;
|
||||
- При полном соединении не должны присутствовать значения Null;
|
||||
- Правильно использовать группировки и агрегатные функции в подзапросе;
|
||||
- для соединения с подзапросом установить связь со справочником Контрагенты используя ВНУТРЕННЕЕ СОЕДИНЕНИЕ;
|
||||
- Результат запроса можно обрабатывать только на свертку через выгрузку в таблицу значений;
|
||||
6. Создать примеры в справочниках и документах. Протестировать формирование табличный документа.
|
||||
7. Для реализации и поступления тестировать на нескольких документах. Товары в табличной части должны отличаться.
|
||||
При решении задач учитывайте, что необходимо максимально использовать параметры виртуальных таблиц регистров. Использование отбора в секции ГДЕ вместо параметров виртуальной таблицы будет считаться ошибкой.
|
||||
|
||||
### Подсказка: [результат выполнения домашнего задания](Examples/homework-6-4-example.md)
|
||||
## Критерии оценки
|
||||
|
||||
Домашнее задание проверяется экспертом.
|
||||
|
||||
Успешным выполнением считается появление статуса "Решение верно" для всех задач из диапазона 4.1. - 4.8
|
||||
|
||||
@@ -1,29 +1,63 @@
|
||||
# Задание к занятию "Временные таблицы и пакетные запросы"
|
||||
|
||||
## Задача "Скидки для Реализации"
|
||||
Все задачи обязательны к выполнению.
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Научиться использовать временные таблицы и пакеты запросов
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установить платформу 1С:Предприятие версии 8.3.22 или больше.
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Изучите структуру конфигурации в конфигураторе. Какие есть справочники, документы, регистры. Как они друг с другом связаны.
|
||||
2. Реализуйте алгоритм расчета себестоимости при продаже товаров.
|
||||
3. Запустите пользовательский режим и для задач 5.1 - 5.3 составьте текст запроса, удовлетворяющий условиям.
|
||||
4. Проверьте текст запроса через встроенный механизм проверки.
|
||||
|
||||
## Задача 1 "Расчет себестоимости товаров"
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать простой механизм подстановки скидки в табличную часть документа Реализация. Сумму рассчитывать с учетом скидки.
|
||||
Необходимо реализовать возможность хранения и расчета себестоимости для остатков товаров
|
||||
|
||||
### Требования к результату
|
||||
|
||||
Прикрепить .dt выгруженной базы с данными.
|
||||
В регистре сведений Остатки товаров добавлен ресурс Сумма. В документах Покупка и Продажа реализован алгоритм заполнения этого ресурса при проведении.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте базу, полученную по итогам предыдущего задания.
|
||||
2. Добавить в регистр накопления Остатки товаров ресурс Сумма - Число (15, 2), Неотриательное.
|
||||
3. Добавить в обработку проведения документа Покупка заполнение ресурса Сумма при проведении. Сумма заполняется соответствующим значением из табличной части.
|
||||
4. Переработать обработку проведения документа Продажа:
|
||||
- Перед выполнением запроса к базе данных необходимо записать пустой набор движений в регистр Остатки товаров.
|
||||
- В запросе необходимо получить остатки на дату документа по количеству и сумме.
|
||||
- Если товара не хватает, то не даем проводить документ. Пользователю выводим соообщение с информацией о том какого товара в каком количестве не хватает. Сообщение должно быть привязано к ячейке таблицы, в которую введено количество недостающего товара.
|
||||
- При формировании движений необходимо рассчитывать себестоимость как "СуммаОстаток / КоличествоОстаток * Количество".
|
||||
- Необходимо учитывать, что в документе может быть несколько строк с одним и тем же товаров.
|
||||
- Необходимо учитывать проблему копеек при расчете себестоимости, то есть если количество товара в документе равно остатку, то списываемую сумму не вычисляем математически, а просто списываем полный остаток.
|
||||
- В ресурс Сумма записываем рассчитанную себестоимость товара, который продаем.
|
||||
|
||||
1. Создать простой справочник Номенклатурная группа без иерархии.
|
||||
2. В справочник номенклатура добавить реквизит Номенклатурная группа.
|
||||
3. Создать документ "Скидки номенклатуры". В шапку вывести дату и номер документа.
|
||||
4. Добавить табличную часть документа с реквизитами - Объект - составного типа (Номенклатурная группа, Номенклатура), Процент скидки - тип числовой.
|
||||
5. Добавить периодический регистр сведений Скидки номенклатуры с измерением Объект (тип как в документе) и ресурсом Процент скидки.
|
||||
6. Делать движения в регистр при проведении документа Скидки номенклатуры;
|
||||
7. В табличную часть документа Реализация добавить реквизит Автоматическая скидка.
|
||||
8. В табличную часть добавить команду Применить скидку. В этом случае реализовать:
|
||||
* Если для номенклатуры из табличной части документа, установлена скидка в регистре сведений на дату документа, то заполнять ее в поле
|
||||
Автоматическая скидка и пересчитывать сумму с учетом скидки;
|
||||
* Если для номенклатуры не установлена скидка, а установлена для номенклатурной группы то применять скидку для номенклатурной группы.
|
||||
Имеется ввиду значение скидки для реквизита Номенклатурная группа Номенклатуры в табличной части документа;
|
||||
* Поиск скидок осуществлять через временные таблицы пакетного запроса с использованием менеджера временных таблиц;
|
||||
## Задача 2 (со звёздочкой) "Решение задач 5.1 - 5.3 самоучителя запросов"
|
||||
|
||||
### Подсказка: [результат выполнения домашнего задания](Examples/homework-6-5-example.md)
|
||||
### Описание задачи
|
||||
Составьте тексты запросов, удовлетворящих условиям задач в тренажере.
|
||||
|
||||
### Требования к результату
|
||||
В поле статуса каждой задачи должно быть указано "Решение верно".
|
||||
|
||||
### Процесс выполнения
|
||||
1. Запустите базу в пользовательском режиме.
|
||||
2. Подготовьте текст запроса, удовлетворяющий заданию, в поле "Решение" для задание 5.1 - 5.3
|
||||
- Условие задания выводится справа от поля "Решение"
|
||||
- Для подготовки текста запроса можно воспользоваться конструктором запросов
|
||||
3. Проверьте решение с помощью команды "Проверить"
|
||||
4. Перейдите к следующей задаче с помощью команды "Далее >>"
|
||||
- Можно перейти к произвольному заданию нажав на название текущего задания
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
Домашнее задание проверяется экспертом.
|
||||
|
||||
Успешным выполнением считается появление статуса "Решение верно" для всех задач из диапазона 5.1. - 5.3 и корректная работа алгоритма работы с себестооимостью.
|
||||
|
||||
@@ -1,23 +1,50 @@
|
||||
# Задание к занятию "Основы СКД"
|
||||
|
||||
## Задача "Отчет Продажи по контрагентам"
|
||||
Все задачи обязательны к выполнению.
|
||||
Любые вопросы по решению задач задавайте в чате учебной группы.
|
||||
|
||||
## Цель задания
|
||||
|
||||
1. Научиться формировать отчеты с использованием СКД
|
||||
|
||||
## Чеклист готовности к домашнему заданию
|
||||
|
||||
- [ ] Установить платформу 1С:Предприятие версии 8.3.22 или больше.
|
||||
|
||||
## Инструкция к заданию
|
||||
|
||||
1. Изучите структуру конфигурации в конфигураторе. Какие есть справочники, документы, регистры. Как они друг с другом связаны.
|
||||
2. Реализуйте отчет
|
||||
|
||||
## Задача 1 "Отчет Маржинальность продаж товаров за период"
|
||||
|
||||
### Описание задачи
|
||||
|
||||
Создать отчет Продажи по контрагентам на СКД.
|
||||
Необходимо реализовать возможность хранения и расчета себестоимости для остатков товаров
|
||||
|
||||
### Требования к результату
|
||||
|
||||
Прикрепить файл внешнего отчета и выгрузку информационной базы (.dt)
|
||||
В регистре сведений Остатки товаров добавлен ресурс Сумма. В документах Покупка и Продажа реализован алгоритм заполнения этого ресурса при проведении.
|
||||
|
||||
### Процесс выполнения
|
||||
1. Используйте базу, полученную по итогам предыдущего задания. Убедитесь, что в регистре Остатки товаров и Продажи есть движения, и что в регистре Остатки товаров корректно рассчитана себестоимость. При необходимости перепроведите документы.
|
||||
2. Создайте новый отчет и включите его в подсистему Дополнительные задания.
|
||||
3. Создайте основную схему компоновки данных отчета.
|
||||
4. Реализуйте запрос, который будет получать информацию о себестоимость продаж товаров и количестве проданного из виртуальной таблицы Обороты регистра накопления Остатки товаров и информацию о сумме продаж из виртуальной таблицы Обороты регистра накопления Продажи
|
||||
5. Добавьте вычисляемые поля Прибыль и Маржинальная рентабельности. Прибыль расчитывается как "СуммаПродаж - Себестоимость". Маржинальная рентабельность рассчитывается как "Прибыль / СуммаПродаж * 100" и учитывается в процентах. В формуле реализуйте проверку на 0 в делителе.
|
||||
6. Настройте ресурсы:
|
||||
- Прибыль, Себестоимость, Сумму продаж и Количество можно просто суммировать
|
||||
- Маржинальную рентабельность необходимо рассчитывать по формуле "Сумма(Прибыль) / Сумма(СуммаПродаж) * 100"
|
||||
7. Добавьте параметр Период с типом Стандартный период. Настройке расчет параметров НачалоПериода и КонецПериода по выражению от Периода и ограничте их использование.
|
||||
8. На закладке настройки:
|
||||
- Добавьте группировку по Номенклатуре с учетом Иерархии
|
||||
- Добавьте в состав пользовательских настроек параметр Период
|
||||
- Добавьте в выбранные поля Количество, Себестоимость, СуммуПродаж, Прибыль и Маржинальную рентабельность.
|
||||
- С помощью условного формления выделите красным фоном строки отчета, где маржинальная рентабельность менее 20%, а так же ограничьте количество символов после запятой в колонке Маржинальная рентабельность двумя.
|
||||
|
||||
1. Создать внешний отчет.
|
||||
2. В свойстве отчета Основная схема компоновки данных нажать на кнопку Открыть схему компоновки данных.
|
||||
3. Добавить источник запрос и в нем реализовать получение данных из табличной части документа реализация. Данные по реализации получать за определенный период.
|
||||
4. В отчет вывести группировку по полю Контрагент.
|
||||
5. Для контрагентов вывести общую сумму продажи.
|
||||
6. Для каждого контрагента показать строки по номенклатуре.
|
||||
7. В этих строках отобразить поле: Номенклатура, и для каждой номенклатуры вывести количество, среднюю цену и сумму продажи.
|
||||
### Пример внешнего вида отчета
|
||||

|
||||
|
||||
### Подсказка: [результат выполнения домашнего задания](Examples/homework-6-6-example.md)
|
||||
## Критерии оценки
|
||||
|
||||
Домашнее задание проверяется экспертом.
|
||||
|
||||
Успешным выполнением считается корректно реализованный отчет "Маржинальность продаж товаров за период"
|
||||
BIN
img/homework-6-6-1.png
Normal file
BIN
img/homework-6-6-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
Binary file not shown.
Reference in New Issue
Block a user