1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/homework-4-5.md
2020-05-09 19:45:55 +03:00

4.4 KiB

Задание к занятию "Запись и чтение регистров"

Задача 1 "Установка цен"

Описание задачи

Создать обработку для пакетного изменения цен номенклатуры.

Требования к результату

Конфигурация из предыдущих заданий с обработкой УстановкаЦен, которая содержит:

  • Таблицу значений и таблицу формы Номенклатура (с единственной колонкой Номенклатура).
  • Переключатель с тремя вариантами установки цен:
    • Фиксированная цена (с полем ввода цены рядом)
    • Процент от текущей (с полем ввода процента рядом)
    • Удаление цен
  • Кнопку и команду Установить, по которой обрабатываются цены номенклатуры из списка. Цены устанавливаются текущей датой. Изменение цены на процент должно исходить от последней цены и позволять как увеличить, так и уменьшить цену. Удаление должно удалять цены за любой период. Установка цен, фиксированной и процентом, должно оставлять историю нетронутой.

Процесс выполнения

  • Создать обработку УстановкаЦен и создать ее единственную и основную форму.
  • Добавить реквизит ВариантУстановки (Число) и перетащить его на форму, сделав полем переключателя. В список выбора добавить элементы:
    • 0 - Фиксированная цена
    • 1 - Процент от текущей
    • 2 - Удаление цен.
  • Добавить реквизиты ФиксированнаяЦена, ПроцентОтТекущей (Число) и перетащить их на форму как поля ввода.
  • Объединить поле переключателя и поля ввода в группы так, чтобы поля ввода были справа от соответствующих вариантов. Возможно, придется изменить интервалы между элементами.
  • Реализовать обработчик события ПриИзменении переключателя ВариантУстановки так, чтобы доступным оставалось лишь поле ввода, соответствующее выбранному варианту. Сделать ПроцентОтТекущей недоступным по умолчанию, чтобы это соответствовало варианту по умолчанию (0).
  • Добавить таблицу значений Номенклатура с единственной колонкой Номенклатура и перетащить ее на форму таблицей формы. Скрыть заголовок колонки, бессмысленный в этом случае.
  • Добавить команду и кнопку Установить, а в обработчике команды, вызвав серверную процедуру:
    • Получить элементы справочника Номенклатура, как выбранные непосредственно, так и находящиеся в выбранных пользователем группах. Далее, в зависимости от варианта:
      • Фиксированная цена - для каждого элемента создать запись в регистре Цены на текущую дату.
      • Процент от текущей - для каждого элемента прочитать записи и, найдя последнюю, изменить цену на указанный процент и создать запись на текущую дату.
      • Удаление цен - для каждого элемента записать пустой набор записей с отбором по нему.