Помогите пожалуйста решить задачу! У меня ничего не получается. Больше, чем приведенный код, я ничего не могу придумать. А код не рабочий - ругается на Объект.Цена.

&НаКлиенте
Процедура ТоварОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Объект.Цена = ЦенаНаСервере(ВыбранноеЗначение);
КонецПроцедуры
&НаСервере
Функция ЦенаНаСервере(Значение)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаНоменклатуры
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", Значение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.ЦенаНоменклатуры = Неопределено Тогда
Возврат 0;
Иначе
Возврат ВыборкаДетальныеЗаписи.ЦенаНоменклатуры;
КонецЕсли;
КонецЦикла;
КонецФункции // ()
И ещё ругается на неопределённую переменную Номенклатура. Я новичок. Пыталась по всякому, это решение показалось самым нормальным. Но не работает оно...