Всем доброго времени суток.
Сломал уже мозг на простой задаче. Возможно дело в том, что я до сих пор мыслю в рамках семёрки.
В общем, делаю расширение для УНФ. Простая обработка. Есть две выбиралки. Первая выбирает документ.заявка, в котором есть реквизит Автомобиль, который ссылается на справочник Автомобили. Вторая выбиралка - Автомобиль, которая так же ссылается на справочник автомобили. Хочу сделать, что бы при выборе в первой выбиралке заявки, во вторую подставлялся автомобиль. На 7.7 это решалось двумя строчками кода, но тут это ссылка. Получаю объект - оказывается, надо на сервере. Отправляю на сервер, получаю объект, получаю автомобиль из справочника, и... Не могу вернуть Автомобиль во вторую выбиралку! Т.е. прям не понимаю, как? Если передаю всю форму на сервер, то получаю ошибку, что "нельзя изменять поле содержащее объект данных формы". Т.е. если бы это был справочник, я бы нашёл по ссылке, создал, записал. Но тут открытая форма обработки. И как быть?

```1c
    &НаСервере
    Процедура НомерЗаявкиПриИзмененииНаСервере(НомерЗаявки)
    ОбъектАвтомобиль = НомерЗаявки.Автомобиль.ПолучитьОбъект();

    //И вот тут тупик. Как полученное значение отправиь на форму обработки?
    // Вставить содержимое обработчика.
    КонецПроцедуры

    &НаКлиенте
    Процедура НомерЗаявкиПриИзменении(Элемент)
    Объект.ВремяЗаезда = ТекущаяДата();

    НомерЗаявкиПриИзмененииНаСервере(Объект.НомерЗаявки);

    КонецПроцедуры
```
---
1) не понятно зачем вообще получать объект
2) Если я правильно понял то номерзаявки эт оссылка на документ
3) ну так и сделай на сервере прямое присвоение обложив проверками не заполненность заявки

```1c
    Если ЗначениеЗаполнено(Объект.НомерЗаявки) Тогда
    Объект.Автомобиль = НомерЗаявки.Автомобиль;
    КонецЕсли;
```

4) ???
5) можно сделать по науке

```1c
    Если ЗначениеЗаполнено(Объект.НомерЗаявки) Тогда
    Объект.Автомобиль = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.НомерЗаявки, "Автомобиль");
    КонецЕсли;
```

Ps всего контекста не знаю, но задача решается любым стажером за 5 минут. А у тебя 10 лет в сфере если верить сайту

psps ошибка возникает т.к. ты с клиента кидаешь свойство объекта в процедуру которая вызывается на сервере.
Тупо убери параметр и все. Причина в том, что при переходе с клиента на сервер форма конвертируется в серверное представление и представление объектных значений на клиентской и серверной форме разное

pspsps
Вот твой код с минимумом изменений на коленке

```1c
    &НаСервере
    Процедура НомерЗаявкиПриИзмененииНаСервере()

    Объект.Автомобиль = Объект.НомерЗаявки.Автомобиль;

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

    &НаКлиенте
    Процедура НомерЗаявкиПриИзменении(Элемент)
    Объект.ВремяЗаезда = ТекущаяДата();

    НомерЗаявкиПриИзмененииНаСервере();

    КонецПроцедуры
```
---
1) не понятно зачем вообще получать объект
2) Если я правильно понял то номерзаявки эт оссылка на документ
3) ну так и сделай на сервере прямое присвоение обложив проверками не заполненность заявки

```1c
    Если ЗначениеЗаполнено(Объект.НомерЗаявки) Тогда
    Объект.Автомобиль = НомерЗаявки.Автомобиль;
    КонецЕсли;
```

4) ???
5) можно сделать по науке

```1c
    Если ЗначениеЗаполнено(Объект.НомерЗаявки) Тогда
    Объект.Автомобиль = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.НомерЗаявки, "Автомобиль");
    КонецЕсли;
```

Ps всего контекста не знаю, но задача решается любым стажером за 5 минут. А у тебя 10 лет в сфере если верить сайту

psps ошибка возникает т.к. ты с клиента кидаешь свойство объекта в процедуру которая вызывается на сервере.
Тупо убери параметр и все. Причина в том, что при переходе с клиента на сервер форма конвертируется в серверное представление и представление объектных значений на клиентской и серверной форме разное

pspsps
Вот твой код с минимумом изменений на коленке

```1c
    &НаСервере
    Процедура НомерЗаявкиПриИзмененииНаСервере()

    Объект.Автомобиль = Объект.НомерЗаявки.Автомобиль;

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

    &НаКлиенте
    Процедура НомерЗаявкиПриИзменении(Элемент)
    Объект.ВремяЗаезда = ТекущаяДата();

    НомерЗаявкиПриИзмененииНаСервере();

    КонецПроцедуры
```
---
Я на 8 только небольшие изменения кода делаю, в основном администрирование.
Да, похоже надо для начала осознать, как передача сервер-клиент работает, потому что у меня не получалось на сервере получить доступ к данным на форме. Буду читать мануалы углублённее :)
---
в процедурах и фукнкциях на сервере в модуле формы доступ такой же как и на клиенте. Если &НаСервереБезКонтекста, то да. там формы нет если параметром не прокидываешь
---
В 7 это тоже ссылка, как ни странно. И делается все примерно так же.
А зачем объект? Вот разницу между ссылкой и объектом, возможно, стоит осознать, прежде чем что-то делать в 1с...
---
А этот автомобиль - он всегда тот же, что в НомереЗаявки? Или в номере заявки может быть один автомобиль, а в объекте - другой?