# Задание к занятию «Регистры сведений» ## Задача 1. «Цены» ### Описание задачи Создать периодический регистр сведений «Цены» для хранения цен номенклатуры с историей. ### Требования к результату Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий с новым регистром «Цены», который: * содержит измерение Номенклатура, ресурс Цена и реквизит Установил; * является периодическим с точностью до секунды; * скрыт из командного интерфейса. В форме списка справочника «Номенклатура» должен находиться динамический список с ценами и соответствующая ему таблица. Список должен быть отобран по активному товару (услуге) и упорядочен по убыванию дат. При создании новых записей регистра Цены в реквизит Установил должен автоматически подставляться текущий сотрудник. ### Процесс выполнения 1. Создать регистр сведений «Цены», в котором: * указать периодичность «До секунды»; * добавить ведущее измерение «Номенклатура», ресурс «Цена» и реквизит «Установил» (СправочникСсылка.Сотрудники); * снять флажок «Использовать стандартные команды», чтобы скрыть его из командного интерфейса (мы сделаем интерфейс лучше, чем предоставляет платформа автоматически); * в модуле набора записей реализовать обработчик события ОбработкаЗаполнения, в котором: * обойти все записи как элементы коллекции ЭтотОбъект; * для каждой записи заполнить реквизит Установил значением по умолчанию (текущим сотрудником). 2. Включить в состав роли БазовыеПрава. 3. В форме списка справочника «Номенклатура» из предыдущих заданий: * создать динамический список «Цены» с основной таблицей «РегистрСведений.Цены»; * вывести его таблицей формы под таблицей с группами номенклатуры; * в обработчике ПриАктивизацииСтроки таблицы с элементами номенклатуры установить отбор по измерению «Номенклатура» аналогично отбору элементов при активизации группы; * поскольку установка отбора динамического списка — операция популярная, лучше создать для неё процедуру в общем модуле, например, ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(). ## Задача 2. «История цен» ### Описание задачи Создать отчёт, выводящий историю цен номенклатуры. ### Требования к результату Выгрузка информационной базы (.dt) с Отчётом «История цен», который: * построен на СКД; * на первом уровне группировок выводит номенклатуру по иерархии, а на уровне детальных записей — период, упорядоченный по убыванию, цену и сотрудника, установившего её. ### Процесс выполнения Создать отчёт «История цен», в котором: * создать основную схему компоновки данных; * добавить в неё набор данных — запрос; * открыв «Конструктор запроса», добавить таблицу «РегистрыСведений.Цены» со всеми её полями; * на закладке «Настройка» в варианте «Основной» добавить группировки: * Номенклатура — Иерархия (под корнем «Отчёт»); * Пустую (детальные записи, под группировкой «Номенклатура»); * в «Выбранные поля» перетащить поля Номенклатура, Период, Установил и Цена; * на закладке «Сортировка» добавить сортировку по номенклатуре (по возрастанию) и по периоду (по убыванию); * проверить отчёт в режиме Предприятия.