Здравствуйте всем! у меня такой вопрос новичка(нужна ПОМОЩЬ ). Возможно ли заполнить поля документа из регистра сведений(Пример: ЦеныПоставщика(Измерение: Номенклатура, Ресурс: ЗакупочнаяЦена)). Например у меня в регистре(ЦеныПоставщика) есть данные заполненные из документа (Пример: ПоступленияТовара(Измерение: Номенклатура, Ресурс: ЗакупочнаяЦена)) и я хочу создать другой новый документ(УстановкаЦен: реквизиты:Номенклатура,ЗакупочнаяЦена,УстановленнаяЦена)в форме и при выборе Номенклатуры заполнились данные (ЗакупочнаяЦена) именно той даты которой хранятся в регистре.

Заранее спасибо добрые!!!
---
Нашел решение !!

Сначала написал функцию в общем модуле

Функция УстановленнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
 Отбор = Новый Структура("Номенклатура",ЭлементНоменклатуры);
 ЗначениеРесурсов = РегистрыСведений.ЦеныПродажи.ПолучитьПоследнее(АктуальнаяДата,Отбор);
 Возврат ЗначениеРесурсов.УстановленнаяЦена;
КонецФункции

после написал процедуру в модуле формы (Форма документа)

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
 Объект.ЦенаТовара = ВыводитьЦенуПродажи.УстановленнаяЦена(Объект.Дата,Объект.Номенклатура);
КонецПроцедуры

и у меня все получилось !! Спасибо всем за советы ! Тема закрыта.
---
при выборе Номенклатуры заполнились данные (ЗакупочнаяЦена) именно той даты которой хранятся в регистре.
уточните!
допустим у вас было три Поступления по одному товару с Тремя датами и Тремя Ценами,
Тогда на какую именно из Трех дат ( или более, которая хранится в регистре) брать?
---
Пока практикую простой тест. после того мне нужны будут последняя и предпоследняя цена одного товара. (Хочу в справочнике номенклатуры выводить старую и новую цену одного товара позже)
---
вариант 1.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ЦеныПоставщика.ЗакупочнаяЦена КАК ЗакупочнаяЦена
    |ИЗ РегистрСведений.ЦеныПоставщика.СрезПоследних(&ДатаСреза) КАК ЦеныПоставщика
    |ГДЕ
    | ЦеныПоставщика.Номенклатура = &Номенклатура"
```

плюс еще условия если надо, например на документ регистратор

вариант 2

```1c
    Отбор = Новый Структура("Номенклатура"); // плюс нужные условия через запятую
    Отбор.Номенклатура = Номенклатура;
    ЗакупочнаяЦена = РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(ДатаСреза, Отбор);
```
---
спасибо вам за ответ! Но не понимаю или наверняка знания не хватает у меня (( А как соединить этот запрос чтоб поля заполнились ПриИзменении Номенклатуры ? Объясните пожалуйста или где можно прочитать чтоб полностью понять картину )
---
аа понял в процедуре нужно писать запрос) извиняюсь
---
Отбор = Новый Структура("Номенклатура"); // плюс нужные условия через запятую
Отбор.Номенклатура = Номенклатура;
ЗакупочнаяЦена = РегистрыСведений.ЦеныНоменклатуры.СрезПоследних(ДатаСреза, Отбор);

2ой вариант дает ошибку

такую ошибку

{Документ.УстановкаЦен.Форма.ФормаДокумента.Форма(11,22)}: Переменная не определена (Номенклатура)
Отбор.Номенклатура = <<?>>Номенклатура; (Проверка: Сервер)
{Документ.УстановкаЦен.Форма.ФормаДокумента.Форма(12,64)}: Переменная не определена (ДатаСреза)
ЗакупочнаяЦена = РегистрыСведений.ЗакупочнаяЦена.СрезПоследних(<<?>>ДатаСреза, Отбор); (Проверка: Сервер)
---
Прикрепляю скрины чтоб суть темы была понятно всем
---
Вот так я написал , но ПриИзменении Номенклатуры нет никаких изменений

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
 // Вставить содержимое обработчика.
 ВыводЦенуПоставщика();
КонецПроцедуры

&НаСервере
Процедура ВыводЦенуПоставщика()
 Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
|ЦеныПоставщика.ЗакупочнаяЦена КАК ЗакупочнаяЦена
|ИЗ РегистрСведений.ЦеныПоставщика.СрезПоследних(&ДатаСреза) КАК ЦеныПоставщика
|ГДЕ
| ЦеныПоставщика.Номенклатура = &Номенклатура"

    КонецПроцедуры
---
вы думаете, что 1с догадается, что с вашим запросом делать дальше, какой именно результат запроса вам нужен, как и какое именно значение взять из результата запроса и куда это значение поместить? 1С пока не умеет обо всем этом догадываться :)
---
вот и проблема в этом)), хочу понять как это нужно делать, поясните мне Добрые Люди )!!
---
месяц назад начал изучать 1с, у меня свое предприятие, хотел автоматизировать продажу, оказание услуг и создание отчётов и у меня много чего получилось я рад что есть интернет и такие форумы где делятся своими знаниями, делают добро)) Вот и столкнулся с регистром сведений, тут кажется особые знания нужны ))
---
Таким образом можно получить результат ? Только из регистра сведений ?

```1c
    &НаКлиенте
    Процедура ФИОСотрудникаПриИзменении(Элемент)
    Объект.Должность = ПолучитьДолжностьСотрудника(Объект.ФИОСотрудника);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьДолжностьСотрудника(Сотрудники)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Сотрудники.Должность
    |ИЗ
    | Справочник.Сотрудники КАК Сотрудники
    |ГДЕ
    | Сотрудники.Ссылка = &Сотрудники";
    Запрос.УстановитьПараметр("Сотрудники", Сотрудники);
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    Если Выборка.Следующий() Тогда
    Возврат Выборка.Должность;
    Иначе
    Возврат ";
    КонецЕсли;
    КонецФункции
```
---
конечно
принцип один и тот же

```1c
    &НаКлиенте
    Процедура НоменклатураПриИзменении(Элемент)
    // Вставить содержимое обработчика.
    Объект.Цена = ВыводЦенуПоставщика();
    КонецПроцедуры

    &НаСервере
    Процедура ВыводЦенуПоставщика()
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |ЦеныПоставщика.ЗакупочнаяЦена КАК ЗакупочнаяЦена
    |ИЗ РегистрСведений.ЦеныПоставщика.СрезПоследних(&ДатаСреза) КАК ЦеныПоставщика
    |ГДЕ
    | ЦеныПоставщика.Номенклатура = &Номенклатура";

    результат = Запрос.Выполнить().Выгрузить();
    возврат ?(результат.Количество()<>0, результат[0].ЗакупочнаяЦена, 0);

    КонецПроцедуры
```
---
Нашел решение !!

Сначала написал функцию в общем модуле

Функция УстановленнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
 Отбор = Новый Структура("Номенклатура",ЭлементНоменклатуры);
 ЗначениеРесурсов = РегистрыСведений.ЦеныПродажи.ПолучитьПоследнее(АктуальнаяДата,Отбор);
 Возврат ЗначениеРесурсов.УстановленнаяЦена;
КонецФункции

после написал процедуру в модуле формы (Форма документа)

&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
 Объект.ЦенаТовара = ВыводитьЦенуПродажи.УстановленнаяЦена(Объект.Дата,Объект.Номенклатура);
КонецПроцедуры

и у меня все получилось !! Спасибо всем за советы ! Тема закрыта.