122. Создайте функцию, которая будет возвращать актуальную розничную цену номенклатуры: в ветке Общие | Общие модули создайте новый объект конфигурации Модуль и назовите его РаботаСоСправочниками
123. Разместите код:
Пример 21.1.
Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт //создать вспомогательный объект Отбор Отбор = Новый Структура("Номенклатура",ЭлементНоменклатуры); //получить актуальные значения ресурсов регистра ЗначенияРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор); Возврат ЗначенияРесурсов.Цена; КонецФункции
Для получения розничной цены мы будем передавать в функцию два параметра:
АктуальнаяДата - параметр типа Дата, который будет определять точку на оси времени, на которуой нас интересует значение розничной цены
ЭлементНоменклатуры - ссылка на элемент справочника "Номенклатура", для которого мы хотим получить розничную цену.
В теле процедуры мы создаем сначала вспомогательный объект Отбор, с помощью которого определяем, что нас будут интересовать записи регистра, в которых измерение "Номенклатура" равно переданной в процедуру ссылке на элемент справочника.
Во второй строке мы обращаемся р менеджеру регистра сведений "Цены" (РегистрыСведений.Цены) и выполняем метод ПолучитьПоследнее(), который возвращает нам значения ресурсов наиболее поздней записи регистра, которая соответствует передаваемой дате ("АктуальнаяДата") и значениям измерений регистра ("Отбор").
Значения ресурсов возвращаются в структуре, поэтому в следующей строке мы получаем искомую нами розничную цену просто указав имя нужного нам ресурса регистра через точку (ЗначенияРесурсов.Цена).