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