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