Добрый день. В табличной части документа в событии ПриИзменении необходимо изменить данные реквизита. В обычном приложении работало так

```1c
    ТекущиеДанные=Элементы.Вагоны.ТекущиеДанные;
    ТекущиеДанные.ПринадлежностьВагона=Текущиеданные.Вагон.ПринадлежностьВагона;
    ПринадлежностьВагона имеет тип Справочники.ПринадлежностьВагона
```

Видимо получение данных по принадлежности должно проходить наСервере
---
на клиенте получаете ТекущуюСтроку - это будет Идентификатор строки, передаете его в серверную процедуру, там из таблицы Вагоны находите саму строку по идентификатору (есть такой метод у ДанныхФормыКоллекция, чем и является Объект.Вагоны), а дальше все просто
---
```1c
    &НаКлиенте
    Процедура ВагоныВагонПриИзменении(Элемент)

    ТекущаяСтрока = Элементы.Вагоны.ТекущиеДанные;
    // Если есть БСП
    ТекущаяСтрока.ПринадлежностьВагона = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТекущаяСтрока.Вагон, "ПринадлежностьВагона");
    // Если нет БСП
    ТекущаяСтрока.ПринадлежностьВагона = ПолучитьПринадлежностьВагонаНаСервере(ТекущаяСтрока.Вагон);

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

    &НаСервереБезКонтекста
    Функция ПолучитьПринадлежностьВагонаНаСервере(Вагон)

    Возврат Вагон.ПринадлежностьВагона;

    КонецФункции
```
---
Если БСП, то сначала серверный вызов нужно сделать. Если не БСП, то реквизит лучше получать запросом (как в БСП).
---
Да, все, что через точку вызывается, должно быть НаСервере.
---
Да. Обращение к ссылкам через точку - это неявный запрос к базе данных. С тонкого клиента это не работает. На то он и тонкий :)
Придется либо серверный вызов делать в этот момент, либо где это возможно вычитывать нужные данные на клиент заранее, чтобы избежать лишних обращений на сервер во время работы.
---
и как это сделать, если сначала нужно получить текущую строку
---
на клиенте получаете ТекущуюСтроку - это будет Идентификатор строки, передаете его в серверную процедуру, там из таблицы Вагоны находите саму строку по идентификатору (есть такой метод у ДанныхФормыКоллекция, чем и является Объект.Вагоны), а дальше все просто
---
Спасибо, все получилось
---
Нет смысла искать по идентификатору строки строку источника данных. Проще работать через "ТекущиеДанные".
---
часто заполнение/пересчет вызывается и с клиента и с сервера..
если стремится везде к НаСервереБезКонтекста, тогда да - ТекущиеДанные и усложнение кода, чтобы на сервере получить все данные, которые не лежат "на поверхности", но я бы не сказал, что это "проще"
---
Так "ТекущиеДанные" - это и есть ссылка на соответствующий ДанныеФормыЭлементКоллекции, если мы о табличной части говорим. Проще тогда сразу ссылку на "ТекущиеДанные" передавать, чем искать их же по "ТекущаяСтрока".
---
Что именно сделать? Заранее вычитывать?
Если справочник заведомо небольшого размера (относительно), то можно кэшировать его данные заранее в полном объеме. Если большого - то ессно ничего тут не придумаешь. Придется сервер дергать. Либо если пользователь работает через форму выбора, то можно реализовать такую форму и обработку выбора, чтобы при выборе получать не только ссылку на выбранный элемент, но и сразу нужные его доп-реквизиты.
---
так ТекущиеДанные не передаются с клиента на сервер
---
Ты прав. Чет я затупил.