Добрый день!

Помогите начинающему разработчику 1С. Есть документ Перемещение ОС. В нем нужно добавить поле с вожможностью вода данных ,на ком или какому складе(МОЛ) принадлежит ОС(Тоесть чтобы было поле "Тот кто здал" и "Тот кто принял". При создании нового документа Перемещение ОС, при добавлении Основного средства необходимо чтобы данные на ком(на каком складе) оно числится добавлялись в созданное поле автоматически.

Подскажите метод или пример кода автоматического заполнения. Я Пытаюсь через обработку формы при изменении документа "Перемещение ОС"
подставить в новое поле (созданное мною "на ком числиться") данные из документа "Основные Средства" вкладка "бух учет" из поля "МОЛБУ",но это не реквизит , а переменная в Процедура ЗаполнитьОписания() формы элемента. Как сделать ссылку на конкретный элемент формы другого документа.

Процедура ОСОсновноеСредствоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.м =Справочники.ОсновныеСредства.ФормаЭлемента. ???????????

КонецПроцедуры

Направте на путь истинный.

Спасибо.
---
Регистр то периодический. Потому

```1c
    Запрос.Текст = "ВЫБРАТЬ

    | МестонахождениеОС.МОЛ
    |ИЗ
    | РегистрСведений.МестонахождениеОС.СрезПоследних(&Дата,ОсновноеСредство = &ОС) КАК МестонахождениеОС ";
```

Можно и методом получить последнее

```1c
    Рег = РегистрыСведений.МестонахождениеОС.ПолучитьПоследнее(Дата,Новый Структура("ОсновноеСредство",ОС));
    МОЛ = Рег.МОЛ;
```
---
правильнее посмотреть откуда заполняются данные на форме, скорее всего там будет процедура и заполнятся реквизит будет из регистра сведений, названия точного не скажу, но суть будет примерно такова:
1. Пишется серверная функция где будет описано получение данных из регистра сведений
2. Присвоение полученных данных нужному полю. (СтрокаТабличнойЧасти.м = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОС));

```1c
    &НаСервере
    Функция ПолучитьДанныеИзРС(ОС)

    Запрос = Новый Запрос("Тут текст для получения данных");
    Запрос.УстановитьПараметры("ОС", ОС); // получение данных по конкретному ОС

    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();

    Возврат Выборка.какое-то поле;

    КонецФункции
```
---
Всем спасибо!
Вставляю рабочий код, может кому то пригодиться

Функция ПолучитьДанныеИзРС(ОС)

Запрос = Новый Запрос ;
Запрос.УстановитьПараметр("ОС",ОС);
Запрос.УстановитьПараметр("Дата",Дата);
Запрос.Текст = "ВЫБРАТЬ
                | МестонахождениеОСБухгалтерскийУчет.МОЛ
                |ИЗ
                | РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата,ОсновноеСредство = &ОС) КАК МестонахождениеОСБухгалтерскийУчет";

               // получение данных по конкретному ОС

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Возврат Выборка.МОЛ;

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

Процедура ОСОсновноеСредствоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.М = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОсновноеСредство);

КонецПроцедуры
---
правильнее посмотреть откуда заполняются данные на форме, скорее всего там будет процедура и заполнятся реквизит будет из регистра сведений, названия точного не скажу, но суть будет примерно такова:
1. Пишется серверная функция где будет описано получение данных из регистра сведений
2. Присвоение полученных данных нужному полю. (СтрокаТабличнойЧасти.м = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОС));

```1c
    &НаСервере
    Функция ПолучитьДанныеИзРС(ОС)

    Запрос = Новый Запрос("Тут текст для получения данных");
    Запрос.УстановитьПараметры("ОС", ОС); // получение данных по конкретному ОС

    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();

    Возврат Выборка.какое-то поле;

    КонецФункции
```
---
Спасибо, буду пробывать
---
Возврат Выборка.какое-то поле;

Написал код, вставляет значение в мое созданное поле но значение одно и тоже для всех основных средств

Функция ПолучитьДанныеИзРС(ОС)

Запрос = Новый Запрос ;
Запрос.УстановитьПараметр("ОС",ОС);
Запрос.Текст = "ВЫБРАТЬ

               | МестонахождениеОС.МОЛ
               |ИЗ
               | РегистрСведений.МестонахождениеОС КАК МестонахождениеОС ";

               // получение данных по конкретному ОС

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Возврат Выборка.МОЛ;

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

Процедура ОСОсновноеСредствоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.М = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОсновноеСредство);

КонецПроцедуры
---
Регистр то периодический. Потому

```1c
    Запрос.Текст = "ВЫБРАТЬ

    | МестонахождениеОС.МОЛ
    |ИЗ
    | РегистрСведений.МестонахождениеОС.СрезПоследних(&Дата,ОсновноеСредство = &ОС) КАК МестонахождениеОС ";
```

Можно и методом получить последнее

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

Функция ПолучитьДанныеИзРС(ОС)

Запрос = Новый Запрос ;
Запрос.УстановитьПараметр("ОС",ОС);
Запрос.УстановитьПараметр("Дата",Дата);
Запрос.Текст = "ВЫБРАТЬ
                | МестонахождениеОСБухгалтерскийУчет.МОЛ
                |ИЗ
                | РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата,ОсновноеСредство = &ОС) КАК МестонахождениеОСБухгалтерскийУчет";

               // получение данных по конкретному ОС

Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Возврат Выборка.МОЛ;

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

Процедура ОСОсновноеСредствоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ос.ТекущиеДанные;
СтрокаТабличнойЧасти.М = ПолучитьДанныеИзРС(СтрокаТабличнойЧасти.ОсновноеСредство);

КонецПроцедуры