Здравствуйте. Столкнулся с проблемой : не заполняется строка характеристика при добавлении новой строки в тч документа. При изменении этой строки характеристика обновляется и добавляется, не работает именно с новой строкой. Хотя в отладчике показывает, что значение присвоено. Пробовал и Расш1_ТоварыНоменклатураПриИзмененииВместо, и Расш1_ТоварыНоменклатураПриИзмененииПосле, результат идентичный. Подскажите, пожалуйста, что не так делаю?
```1c
    &НаКлиенте
    Процедура Расш1_ТоварыНоменклатураПриИзмененииПеред(Элемент)

    СтрокаТабличнойЧасти = Элементы.Запасы.ТекущиеДанные;
    СтрокаТабличнойЧасти.Характеристика = ПолучитьХарактеристику(СтрокаТабличнойЧасти .Номенклатура);

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

    &НаСервере
    Функция ПолучитьХарактеристику(Номенклатура)

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

    Если Не Результат.Пустой() Тогда
    Выборка = Результат.Выбрать();
    Выборка.Следующий();
    Возврат Выборка.Характеристика;
    Иначе
    Возврат Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
    КонецЕсли;

    КонецФункции
```
---
Всем спасибо! Решил задачу :
```1c
    ХарактеристикаНоменклатуры = ПолучитьХарактеристику(СтрокаТабличнойЧасти.Номенклатура);
    СтруктураДанные.Вставить("Характеристика", ХарактеристикаНоменклатуры);
    Если СтруктураДанные.ИспользоватьХарактеристики Тогда
    Если ПодборНоменклатурыИзСписка И ТипЗнч(СтруктураВыбораНоменклатуры) = Тип("Структура") Тогда
    СтрокаТабличнойЧасти.Характеристика = СтруктураВыбораНоменклатуры.Характеристика;
    Иначе
    СтрокаТабличнойЧасти.Характеристика = СтруктураДанные.Характеристика;
    КонецЕсли;
    КонецЕсли;
```
---
Ошибка в передаче параметра.
Вы делаете так:

```1c
    Запрос.УстановитьПараметр("Владелец", СокрЛП(Номенклатура));
```

И в качестве владельца передается СТРОКА наименование номенклатуры.
А нужно передать ссылку:

```1c
    Запрос.УстановитьПараметр("Владелец", Номенклатура);
```
---
там справочник интересный, владелец - реквизит с типом строка, результат не пустой запросом возвращается в запросе
---
Владельцем может быть только объект ссылочного типа, значит в конфигурации что-то не так.
(3)
---
вот значение, которое возвращает выборка.
---
при заполнении документа она не отображается, но когда нажимаю записать то сразу отображается. А почему при заполнении не отображается понять не могу.
---
Доброго дня. Была подобная проблема. Но на сто процентов не вспомню как решил. Но по-моему что то из этого

Обновить данные формы:

ЭтаФорма.Прочитать();
Обновить данные списка (динамического списка) на форме:

Элементы.Список.Обновить();
Обновить содержание элементов управления:

ЭтаФорма.ОбновитьОтображениеДанных();
---
добрый день. Попробовал ваши рекомендации, но увы, не помогло.
(7) ЭтаФорма.Прочитать(); этот метод удаляет добавленную новую строку.
---
1. Однозначно делать После, даже если это не влияет на результат. Перед - правильно использовать, если надо подкорректировать какие-то данные используемые в основной конфигурации, для достижения 100% гарантии добавления - лучше и правильней После
2. Сам подход, заполнять характеристику при изменении номенклатуры, порочен. Характеристики на то и включают, чтобы передать какие-то различные свойства одного товара. Т.е. у номенклатуры практически всегда несколько характеристик, иначе в них нет смысла. Запрос вернет (и, скорей всего, возвращает) НЕСКОЛЬКО значений. Поэтому и не может отобразить.
  Так что характеристики однозначно устанавливать руками. Ну или программно, но тогда нужен какой-то третий признак для правильной выборки только одного значения характеристики
Кстати, Попробуй вставить цикл Пока Выборка.Следующий(), почти уверен, все заполнится последним значением характеристики
---
Попробуй вставить цикл Пока Выборка.Следующий() попробовал, у некоторой номенклатуры только одна характеристика, возвращается оно, но в строку не добавляется, пока не запишу документ в колонке характеристика пустое значение. А у номенклатуры с несколькими х-ками возвращает последнее значение, но оно все равно не проставляется до записи.
---
Я бы рекомендовал не заполнять поле характеристика, а формировать список выбора доступных характеристик для этой конкретной номенклатуры. А уже из списка выбирать вручную. Так сделано в типовых
---
Я объяснял, что должно быть как говорите вы, Но задачу поставили такую, что должно все автоматически заполняться, и характеристика браться первая из имеющихся. И при вводе только номенклатуры, чтоб больше ничего вручную не вводить.
---
Всем спасибо! Решил задачу :
```1c
    ХарактеристикаНоменклатуры = ПолучитьХарактеристику(СтрокаТабличнойЧасти.Номенклатура);
    СтруктураДанные.Вставить("Характеристика", ХарактеристикаНоменклатуры);
    Если СтруктураДанные.ИспользоватьХарактеристики Тогда
    Если ПодборНоменклатурыИзСписка И ТипЗнч(СтруктураВыбораНоменклатуры) = Тип("Структура") Тогда
    СтрокаТабличнойЧасти.Характеристика = СтруктураВыбораНоменклатуры.Характеристика;
    Иначе
    СтрокаТабличнойЧасти.Характеристика = СтруктураДанные.Характеристика;
    КонецЕсли;
    КонецЕсли;
```