# Форум 1С > Конфигурирование, программирование 1С - Предприятие >  Получение значения реквизита элемента из справочника в документ

## MasterLoma

Доброго времени суток! У меня возникли некоторые трудности с получением значения реквизита из справочника в документ. Мне нужно, чтобы когда я в табличной части (документа) в реквизите "Номенклатура" выбирал какую-то номенклатуру, то в реквизит "Цена" табличной части, записывалась её цена из справочника. Для того, чтобы получить значение из справочника, как я понял, нужно создать функцию....А вот как прописать в функции то, что она должна возвращать цену какой-то номенклатуры?
В справочнике "Номенклатура" у меня хранятся книги. Через предопределённые данные я создал группы (Жанры книг) и в каждом из жанров находятся элементы (книги) с информацией об авторе и тд.

----------


## Margofs

Какая конфигурация? на какой платформе?

----------


## Fltr

> Доброго времени суток! У меня возникли некоторые трудности с получением значения реквизита из справочника в документ. Мне нужно, чтобы когда я в табличной части (документа) в реквизите "Номенклатура" выбирал какую-то номенклатуру, то в реквизит "Цена" табличной части, записывалась её цена из справочника. Для того, чтобы получить значение из справочника, как я понял, нужно создать функцию....А вот как прописать в функции то, что она должна возвращать цену какой-то номенклатуры?
> В справочнике "Номенклатура" у меня хранятся книги. Через предопределённые данные я создал группы (Жанры книг) и в каждом из жанров находятся элементы (книги) с информацией об авторе и тд.


Цена - это реквизит справочника "Номенклатура"?
Тогда можно обращаться без функции: Цена=Номенклатура.Цена;
Это должно быть прописано в процедуре "ПриВыбореНоменклатуры", которая назначается колонке "Номенклатура"вашей табличной части

----------


## Margofs

на клиенте он заполняет табличную часть..... не обратиться он объектно!

----------


## Margofs

&НаКлиенте
**************
Для каждого стр из Объект.Товары Цикл  /// к примеру, либо получать текущую строку табличной части
Цена =ВернутьЦену(стр.Номенклат  ра);
**************************

&НаСервере
Функция ВернутьЦену(Товар)
    Если Не ЗНачениеЗаполнено(Товар) Тогда
         Возврат 0;
   КонецЕсли;

   Возврат Товар.Цена;
КонецФункции

----------

MasterLoma (17.05.2019)

----------


## Margofs

> &НаКлиенте
> **************
> Для каждого стр из Объект.Товары Цикл  /// к примеру, либо получать текущую строку табличной части
> Цена =ВернутьЦену(стр.Номенклат  ра);
> **************************
> 
> &НаСервере
> Функция ВернутьЦену(Товар)
>     Если Не ЗНачениеЗаполнено(Товар) Тогда
> ...



часть

----------


## Fltr

> &НаКлиенте
> **************
> Для каждого стр из Объект.Товары Цикл  /// к примеру, либо получать текущую строку табличной части
> Цена =ВернутьЦену(стр.Номенклат  ра);
> **************************
> 
> &НаСервере
> Функция ВернутьЦену(Товар)
>     Если Не ЗНачениеЗаполнено(Товар) Тогда
> ...


Можно так:
&НаКлиенте
Процедура ТабличнаяЧасть1Номенклату  аПриИзменении(Элемент)
		ТекущиеДанные = Элементы.ТабличнаяЧасть1.Т  кущиеДанные;
		УИ=ТекущиеДанные.Номенклат  ура.УникальныйИдентификат  р();
	ТекущиеДанные.Цена=НайтиЦе  ну(УИ);
КонецПроцедуры
&Насервере
Функция  НайтиЦену(Реквизит)
ТекН=Справочники.Номенклат  ура.ПолучитьСсылку(Реквизи  т);
		Возврат ТекН.Цена;

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

----------

MasterLoma (17.05.2019)

----------


## MasterLoma

> Какая конфигурация? на какой платформе?


1С:Предприятие 8.3, учебная версия (8.3.6.2014)

----------


## MasterLoma

> &НаКлиенте
> **************
> Для каждого стр из Объект.Товары Цикл  /// к примеру, либо получать текущую строку табличной части
> Цена =ВернутьЦену(стр.Номенклат  ра);
> **************************
> 
> &НаСервере
> Функция ВернутьЦену(Товар)
>     Если Не ЗНачениеЗаполнено(Товар) Тогда
> ...


Спасибо попозже попробую таким образом сделать.

----------

