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

Сначала мы создадим функцию, которая будет возвращать нам актуальную розничную цену номенклатуры.

Откроем конфигуратор, в ветке Общие ► Общие модули со­здадим новый объект конфигурации Модуль и назовем его РаботаСоСправочниками. (рис. 8.5.)

Рис. 8.5. Создание общего модуля РаботаСоСправочниками

Поместим в нем следующий текст (листинг 1).

Листинг 1. Функция РозничнаяЦена()

Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт

// Создать вспомогательный объект Отбор

Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);

//Получить актуальные значения ресурсов регистра

ЗначенияРесурсов =

РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);

Возврат ЗначенияРесурсов.Цена;

КонецФункции

Для получения розничной цены мы будем передавать в функ­цию два параметра:

• АктуальнаяДата - параметр типа Дата определяет точку на оси времени, в которой нас интересует значение розничной цены

• ЭлементНоменклатуры - ссылка на элемент справочника Номенклатура, для которого мы хотим получить розничную цену.

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

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

Значения ресурсов возвращаются в объекте Структура, по­этому в следующей строке мы получаем искомую нами рознич­ную цену, просто указав имя нужного нам ресурса регистра через точку (ЗначенияРесурсов.Цена).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: