Добавить в корзинуПозвонить
Найти в Дзене
Piter Melnikov

1С: "Предприятие". Объект конфигурации Регистр сведений

Назначение объекта конфигурации Регистр сведений Для чего нужен периодический регистр сведений?
Обратите внимание, что при работе с документом Оказание услуги в режиме отладки вы выбирали услугу, а затем указывали цену. Очевидно, что каждая услуга перечня услуг оказываемых предприятием, должна имеет определенную стоимость, т.е. стоимость услуги является неотъемлемым атрибутом самой услуги. Поэтому цену следует добавить в качестве реквизита справочника Номенклатура. Вместе с тем стоимость услуг может меняться во времени. Может сложиться ситуация, когда требуется внести изменения или уточнения в ранее проведенный документ. Если к этому моменту в справочнике будет новая цена, то получить правильную стоимость услуги будет невозможно. Для того, чтобы избежать таких ситуаций и предназначен объект конфигурации Регистр сведений. Объект конфигурации Регистр сведений является прикладным. Он предназначен для описания структуры хранения данных в нескольких измерениях. Его особенностью являет
Оглавление

Назначение объекта конфигурации Регистр сведений

Для чего нужен периодический регистр сведений?
Обратите внимание, что при работе с документом
Оказание услуги в режиме отладки вы выбирали услугу, а затем указывали цену. Очевидно, что каждая услуга перечня услуг оказываемых предприятием, должна имеет определенную стоимость, т.е. стоимость услуги является неотъемлемым атрибутом самой услуги. Поэтому цену следует добавить в качестве реквизита справочника Номенклатура.

Вместе с тем стоимость услуг может меняться во времени. Может сложиться ситуация, когда требуется внести изменения или уточнения в ранее проведенный документ. Если к этому моменту в справочнике будет новая цена, то получить правильную стоимость услуги будет невозможно. Для того, чтобы избежать таких ситуаций и предназначен объект конфигурации Регистр сведений.

Объект конфигурации Регистр сведений является прикладным. Он предназначен для описания структуры хранения данных в нескольких измерениях. Его особенностью является то, что он может хранить данные с привязкой по времени. Регистр сведений, использующий привязку ко времени, называют Периодическим регистром сведений.

Создание периодического регистра сведений Цены

Создадим периодический регистр сведений, для хранения развернутых во времени розничные цены материалов и стоимости услуг. Для создания периодического регистра сведений выполните операции:
· в режиме конфигурации создайте новый объект конфигурации
Регистр сведений;
· присвойте имя созданному объекту –
Цены, установите периодичность этого регистра в пределах секунды;
· перейдите на закладку
Данные и создайте измерение регистра Номенклатура с типом СправочникСсылка.Номенклатура, укажите, что это измерение будет ведущим (рис. 1). Свойство Ведущее говорит о том, что запись регистра сведений нужна только тогда, пока существует этот объект;

Рис. 1.
Рис. 1.

· создайте в объекте Регистр сведений новый ресурс Цена со свойствами: тип – Число, длина 15, точность 2, неотрицательное (рис. 2);

Рим. 2.
Рим. 2.

· запустите режим отладки и убедитесь в правильной работе периодического регистра сведений Цены (рис. 3).

Рис. 3.
Рис. 3.

Создание функции Розничная цена

Функция предназначена для того, чтобы возвращать текущую розничную цену номенклатуры. Для создания функции выполните операции:
· откройте конфигуратор, в ветке
Общие> Общие модули создайте объект конфигурации Модуль и присвойте ему имя РаботаСоСправочниками;
· поместите в созданный модуль код, приведенный в листинге 1.

Листинг 1.
Листинг 1.

Параметрами функции являются:
·
Актуальная дата – параметр типа Дата определяет точку на оси времени, в которой необходимо получить значение розничной цены;
-
ЭлементНоменклатуры – ссылка на элемент справочника Номенклатура, для которого нужно получить розничную цену.

В теле процедуры сначала создается вспомогательный объект Отбор. Посредством его будут определяться те записи регистра сведений, в которых измерение Номенклатура равно переданной в процедуру ссылке на элемент справочника.

В следующей строке кода выполняется обращение к менеджеру регистра сведений Цены (РегистрыСведений.Цены) с помощью метода ПолучитьПоследнее, который возвращает значения ресурсов наиболее поздней записи регистра, соответствующей передаваемой дате (Актуальная дата) и значениям измерений регистра (Отбор).

Остается проверить, как работает созданная функция, но для этого прежде всего нужно создать процедуру автоматического заполнения цены в документе.

Автоматическое заполнение цены в документе Оказание услуги

При создании документа ОказаниеУслуги необходимо обеспечить автоматическое заполнение поля Цена после того как будет выбрана услуга.
При этом цена услуги должна определяться исходя из даты создаваемого документа. Выполните операции:
· откройте в конфигураторе форму документа
ОказаниеУслуги;
· откройте свойства поля
Номенклатура;
· в списке свойств найдите событие
ПриИзменении и нажмите на значок Лупа;
· в открывшейся заготовке процедуры поместите код, приведенный в листинге 2.

Листинг 2.
Листинг 2.

Выполните проверку работы документа после всех сделанных добавлений:
· запустите 1С: Предприятие в режиме отладки;
· откройте регистр сведений
Цены;
· для какого либо наименования товара добавьте с новой датой новую цену (рис. 4).

Рис. 4.
Рис. 4.

· откройте документ Оказание услуги №1;
· установите новую дату расхода товара;
· в колонке
Номенклатура повторите выбор товара - автоматически установится новое значение цены (рис. 5, 6).

Рис. 5.
Рис. 5.
Рис. 6.
Рис. 6.

Таким образом, в документе появляется актуальная на указанный момент времени актуальная цена.

В следующей статье рассмотрим назначение и технологию работы с объектом конфигурации Перечисление.