1С-Предприятие 8.0. Практическое пособие разработчика

       

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


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

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

Разместим в нем следующий текст:

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

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

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

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

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

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

КонецФункции // РозничнаяЦена(...)

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

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

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

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

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

Теперь проверим, как работает эта функция. [125]



Содержание раздела