mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-30 08:06:56 +02:00
18316b6bf0
Требование - dt-файл
61 lines
5.5 KiB
Markdown
61 lines
5.5 KiB
Markdown
# Задание к занятию "Регистры сведений"
|
|
|
|
## Задача 1 "Цены"
|
|
|
|
### Описание задачи
|
|
|
|
Создать периодический регистр сведений "Цены" для хранения цен номенклатуры с историей.
|
|
|
|
### Требования к результату
|
|
|
|
Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий с новым регистром "Цены", который:
|
|
|
|
* содержит измерение Номенклатура, ресурс Цена и реквизит Установил;
|
|
* является периодическим с точностью до секунды;
|
|
* скрыт из командного интерфейса.
|
|
|
|
В форме списка справочника "Номенклатура" должен находиться динамический список с ценами и соответствующая ему таблица.
|
|
Список должен быть отобран по активному товару (услуге) и упорядочен по убыванию дат.
|
|
При создании новых записей регистра Цены в реквизит Установил должен автоматически подставляться текущий сотрудник.
|
|
|
|
### Процесс выполнения
|
|
|
|
* Создать регистр сведений "Цены", в котором:
|
|
* Указать периодичность "До секунды";
|
|
* Добавить ведущее измерение "Номенклатура", ресурс "Цена" и реквизит "Установил" (СправочникСсылка.Сотрудники);
|
|
* Снять флажок "Использовать стандартные команды", чтобы скрыть его из командного интерфейса (мы сделаем интерфейс лучше, чем предоставляет платформа автоматически);
|
|
* В модуле набора записей реализовать обработчик события ОбработкаЗаполнения, в котором:
|
|
* обойти все записи как элементы коллекции ЭтотОбъект
|
|
* для каждой записи заполнить реквизит Установил значением по умолчанию (текущим сотрудником);
|
|
* Включить в состав роли БазовыеПрава;
|
|
* В форме списка справочника "Номенклатура" из предыдущих заданий:
|
|
* Создать динамический список "Цены" с основной таблицей "РегистрСведений.Цены";
|
|
* Вывести его таблицей формы под таблицей с группами номенклатуры;
|
|
* В обработчике ПриАктивизацииСтроки таблицы с элементами номенклатуры установить отбор по измерению "Номенклатура", аналогично отбору элементов при активизации группы;
|
|
* Поскольку установка отбора динамического списка - операция популярная, лучше создать для нее процедуру в общем модуле, например, ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка().
|
|
|
|
## Задача 2 "История цен"
|
|
|
|
### Описание задачи
|
|
|
|
Создать отчет, выводящий историю цен номенклатуры.
|
|
|
|
### Требования к результату
|
|
|
|
Выгрузка информационной базы (.dt) с Отчетом "История цен", который:
|
|
* построен на СКД;
|
|
* на первом уровне группировок выводит номенклатуру по иерархии, а на уровне детальных записей - период, упорядоченный по убыванию, цену и сотрудника, установившего ее.
|
|
|
|
### Процесс выполнения
|
|
|
|
* Создать отчет "История цен", в котором:
|
|
* Создать основную схему компоновки данных;
|
|
* Добавить в нее набор данных - запрос;
|
|
* Открыв "Конструктор запроса", добавить таблицу "РегистрыСведений.Цены" со всеми ее полями.
|
|
* На закладке "Настройка", в варианте "Основной", добавить группировки:
|
|
* Номенклатура - Иерархия (под корнем "Отчет").
|
|
* Пустую (детальные записи, под группировкой "Номенклатура").
|
|
* В "Выбранные поля" перетащить поля Номенклатура, Период, Установил и Цена.
|
|
* На закладке "Сортировка" добавить сортировку по номенклатуре (по возрастанию) и по периоду (по убыванию).
|
|
* Проверить отчет в режиме Предприятия.
|