Что-то непонятное.
Платформа 8.3.20.1838
Описываю свойство при изменении реквизита Контрагент на форме.

```1c
    &НаСервере
    Процедура КонтрагентПриИзмененииНаСервере()
    // Вставить содержимое обработчика.
    КонецПроцедуры

    &НаКлиенте
    Процедура КонтрагентПриИзменении(Элемент)
    КонтрагентПриИзмененииНаСервере(); //<=== Здесь ошибка на отладке
    КонецПроцедуры
```

Получаю ошибку:

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'cr':
 форма: Элемент
 имя: {http://v8.1c.ru/8.2/mngsrv/ws}cr
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

Причем только 1 раз. Второй раз при изменении контрагента отрабатывает нормально и клиент и сервер.

Кэш чистил. в dt выгружал-загружал...

Работает только в таком виде:

```1c
    &НаСервере
    Процедура КонтрагентПриИзмененииНаСервере()
    // Вставить содержимое обработчика.
    КонецПроцедуры

    &НаКлиенте
    Процедура КонтрагентПриИзменении(Элемент)
    ПодключитьОбработчикОжидания("ПриИзмененииКонтрагента",0.1,Истина);
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриИзмененииКонтрагента() Экспорт
    КонтрагентПриИзмененииНаСервере();
    КонецПроцедуры
```
---
ПриОткрытии()где то у тебя в этом обработчике в реквизит формы помещается
"ДанныеФормыЭлементКоллекции"

например строка табличной части помещается в реквизит...

такое бывает если например цикл
для каждого <переменная> из Объект.Товары

и <переменная> - есть одноимённый реквизит.
(или переменная-параметр процедуры)
---
где то у тебя в этом обработчике в реквизит формы помещается
"ДанныеФормыЭлементКоллекции"
Однозначно так. И чудес не бывает.
Нашел в самом неожиданном месте.
Вероятно, ошибка уже есть на форме. Платформа ее пропустила. И она проявляется в любой момент вызова сервера.

При перезаполнении таблицы терялась текущая строка, данные которой являлись фильтром для другой таблицы. Очень неудобно перевыбирать постоянно. Была сделана попытка вернуть "фокус" на индекс строки, и вот оно ДанныеФормыЭлементКоллекции вместо индекса. Возникло после переноса таблицы значений на форме в таблицу объекта. Раньше возвращала индекс, теперь ДанныеФормыЭлементКоллекции.
Спасибо всем за проявленное участие!

```1c
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Дата",ТекДата);
    найденные = Объект.Дни.НайтиСтроки(ПараметрыОтбора);
    Если Найденные.количество() > 0 Тогда
    стрДень = Найденные[0];
    КонецЕсли;
    //Элементы.Дни.ТекущаяСтрока = стрДень; //Возвращает ДанныеФормыЭлементКоллекции вместо индекса как раньше
```

Платформа должна была сообщить об ошибке здесь: Элементы.Дни.ТекущаяСтрока = стрДень.
---
точно код именно такой? (стопроцентный копипаст)
и нет передаваемых параметров?
---
Сам в шоке!
Обновите тему, добавил как работает.
Сейчас прикреплю скрины.
---
похоже на баг платформы.
иногда "помогает" чтение известных багов, особенно исправленных в след. версии...
---
Прикрепил скрины
---
попробуй перед серверным вызовом сделать
Элемент=Неопределено;

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

например строка табличной части помещается в реквизит...

такое бывает если например цикл
для каждого <переменная> из Объект.Товары

и <переменная> - есть одноимённый реквизит.
(или переменная-параметр процедуры)
---
где то у тебя в этом обработчике в реквизит формы помещается
"ДанныеФормыЭлементКоллекции"
Однозначно так. И чудес не бывает.
Нашел в самом неожиданном месте.
Вероятно, ошибка уже есть на форме. Платформа ее пропустила. И она проявляется в любой момент вызова сервера.

При перезаполнении таблицы терялась текущая строка, данные которой являлись фильтром для другой таблицы. Очень неудобно перевыбирать постоянно. Была сделана попытка вернуть "фокус" на индекс строки, и вот оно ДанныеФормыЭлементКоллекции вместо индекса. Возникло после переноса таблицы значений на форме в таблицу объекта. Раньше возвращала индекс, теперь ДанныеФормыЭлементКоллекции.
Спасибо всем за проявленное участие!

```1c
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Дата",ТекДата);
    найденные = Объект.Дни.НайтиСтроки(ПараметрыОтбора);
    Если Найденные.количество() > 0 Тогда
    стрДень = Найденные[0];
    КонецЕсли;
    //Элементы.Дни.ТекущаяСтрока = стрДень; //Возвращает ДанныеФормыЭлементКоллекции вместо индекса как раньше
```

Платформа должна была сообщить об ошибке здесь: Элементы.Дни.ТекущаяСтрока = стрДень.