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