diff --git a/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.dt b/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.dt new file mode 100644 index 0000000..4ad03f0 Binary files /dev/null and b/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.dt differ diff --git a/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.md.txt b/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.md.txt new file mode 100644 index 0000000..15ff504 --- /dev/null +++ b/04. Справочники и регистры сведений/04. Регистры сведений/homework-4-4.md.txt @@ -0,0 +1,60 @@ +# Задание к занятию "Регистры сведений" + +## Задача 1 "Цены" + +### Описание задачи + +Создать периодический регистр сведений "Цены" для хранения цен номенклатуры с историей. + +### Требования к результату + +Выгрузка информационной базы (.dt) с конфигурацией из предыдущих заданий с новым регистром "Цены", который: + +* содержит измерение Номенклатура, ресурс Цена и реквизит Установил; +* является периодическим с точностью до секунды; +* скрыт из командного интерфейса. + +В форме списка справочника "Номенклатура" должен находиться динамический список с ценами и соответствующая ему таблица. +Список должен быть отобран по активному товару (услуге) и упорядочен по убыванию дат. +При создании новых записей регистра Цены в реквизит Установил должен автоматически подставляться текущий сотрудник. + +### Процесс выполнения + +* Создать регистр сведений "Цены", в котором: + * Указать периодичность "До секунды"; + * Добавить ведущее измерение "Номенклатура", ресурс "Цена" и реквизит "Установил" (СправочникСсылка.Сотрудники); + * Снять флажок "Использовать стандартные команды", чтобы скрыть его из командного интерфейса (мы сделаем интерфейс лучше, чем предоставляет платформа автоматически); + * В модуле набора записей реализовать обработчик события ОбработкаЗаполнения, в котором: + * обойти все записи как элементы коллекции ЭтотОбъект + * для каждой записи заполнить реквизит Установил значением по умолчанию (текущим сотрудником); +* Включить в состав роли БазовыеПрава; +* В форме списка справочника "Номенклатура" из предыдущих заданий: + * Создать динамический список "Цены" с основной таблицей "РегистрСведений.Цены"; + * Вывести его таблицей формы под таблицей с группами номенклатуры; + * В обработчике ПриАктивизацииСтроки таблицы с элементами номенклатуры установить отбор по измерению "Номенклатура", аналогично отбору элементов при активизации группы; + * Поскольку установка отбора динамического списка - операция популярная, лучше создать для нее процедуру в общем модуле, например, ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(). + +## Задача 2 "История цен" + +### Описание задачи + +Создать отчет, выводящий историю цен номенклатуры. + +### Требования к результату + +Выгрузка информационной базы (.dt) с Отчетом "История цен", который: +* построен на СКД; +* на первом уровне группировок выводит номенклатуру по иерархии, а на уровне детальных записей - период, упорядоченный по убыванию, цену и сотрудника, установившего ее. + +### Процесс выполнения + +* Создать отчет "История цен", в котором: + * Создать основную схему компоновки данных; + * Добавить в нее набор данных - запрос; + * Открыв "Конструктор запроса", добавить таблицу "РегистрыСведений.Цены" со всеми ее полями. + * На закладке "Настройка", в варианте "Основной", добавить группировки: + * Номенклатура - Иерархия (под корнем "Отчет"). + * Пустую (детальные записи, под группировкой "Номенклатура"). + * В "Выбранные поля" перетащить поля Номенклатура, Период, Установил и Цена. + * На закладке "Сортировка" добавить сортировку по номенклатуре (по возрастанию) и по периоду (по убыванию). + * Проверить отчет в режиме Предприятия.