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