Добрый день!
Помогите. Уже сломал голову, не пойму что делаю не так.

Конфигурация УТ11.4. Платформа 8.3.21.1644. Документ ЗаказПоставщику. На кнопку выведено добавление дополнительных данных в ТЧ документа с помощью выгрузки в запрос, присоединения необходимых данных и последующей загрузки ТаблицыЗначений в ТЧ документа. Вот такой процедурой.

```1c
    &НаСервере
    Процедура ЗаполнитьСостоянияНазначений()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | *,
    | ЗаказПоставщикуТовары.Назначение.Заказ КАК НазначениеЗаказ
    |ПОМЕСТИТЬ втЗаказПоставщику
    |ИЗ
    | Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
    |ГДЕ
    | ЗаказПоставщикуТовары.Ссылка = &Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | *,
    | ПРЕДСТАВЛЕНИЕ(ЗаказНаПеремещениеТовары.ВариантОбеспечения) КАК РеквизитКолонкаСостоянияНазначений
    |ИЗ
    | втЗаказПоставщику КАК втЗаказПоставщику
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПеремещение.Товары КАК ЗаказНаПеремещениеТовары
    | ПО втЗаказПоставщику.НазначениеЗаказ = ЗаказНаПеремещениеТовары.Ссылка
    | И втЗаказПоставщику.Номенклатура = ЗаказНаПеремещениеТовары.Номенклатура
    | И втЗаказПоставщику.Количество = ЗаказНаПеремещениеТовары.Количество";

    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Объект.Товары.Загрузить(РезультатЗапроса);

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

После выполнения кода колонка Назначение - Тип(Справочник.Назначения) принимает непотребный вид. Значение в ней есть - но для пользователя не отображается, заменить его невозможно, кнопка выбора исчезает, значение видно только в контекстном меню в поле "Найти". Вся остальная ТЧ заполняется корректно.
---
Колонка "Назначение" условным оформлением формы форматируется в зависимости от служебной колонки "ТипНоменклатуры". Вы неверно заполняете таблицу формы, т.к. берете для ее заполнения данные не из самой формы, а из базы данных. Загвоздка в том, что в базе данных хранятся не все колонки, что есть на форме. У таблицы формы есть ряд дополнительных, в т.ч. и служебных (невидимых) колонок, влияющих на взаимодействие пользователя с таблицей. Это те самые красные колонки, что можно найти в дереве реквизитов формы у таблицы товаров. Перезаполнив таблицу простой загрузкой из результата запроса Вы потеряли значения колонки "ТипНоменклатуры", отсюда и проблемы оформления "Назначения".

Я бы рекомендовал Вам иной подход для заполнения служебной информации в заказе

```1c
    &НаСервере
    Процедура ЗаполнитьСостоянияНазначений()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Товары.НомерСтроки КАК НомерСтроки,
    | Товары.Номенклатура КАК Номенклатура,
    | Товары.Характеристика КАК Характеристика,
    | ВЫРАЗИТЬ(Товары.Назначение КАК Справочник.Назначения) КАК Назначение
    |ПОМЕСТИТЬ Товары
    |ИЗ
    | &Товары КАК Товары
    |;
    |
    |////////////////////////////////////////////////////////////­­////////////////////
    |ВЫБРАТЬ
    | Товары.НомерСтроки КАК НомерСтроки,
    | ПРЕДСТАВЛЕНИЕ(ЗаказНаПеремещениеТовары.ВариантОбеспечения) КАК РеквизитКолонкаСостоянияНазначений
    |ИЗ
    | втЗаказПоставщику КАК втЗаказПоставщику
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПеремещение.Товары КАК ЗаказНаПеремещениеТовары
    | ПО втЗаказПоставщику.Назначение.Заказ = ЗаказНаПеремещениеТовары.Ссылка
    | И втЗаказПоставщику.Номенклатура = ЗаказНаПеремещениеТовары.Номенклатура
    | И втЗаказПоставщику.Количество = ЗаказНаПеремещениеТовары.Количество";

    Запрос.УстановитьПараметр("Товары", Объект.Товары.Выгрузить());
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Для каждого СтрокаРезультата Из РезультатЗапроса Цикл
    СтрокаТовара = Объект.Товары[СтрокаРезультата.НомерСтроки - 1];
    ЗаполнитьЗначенияСвойств(СтрокаТовара, СтрокаРезультата);
    КонецЦикла;

    КонецПроцедуры
```
---
Большущее спасибо за подсказку про служебные колонки на форме и их влияние на отображение табличной части, честно - не знал, сказывается недостаток теоретической подготовки. С предложенным Вами способом не получилось, поэтому просто добавил к таблице значений колонку и заполнил нужным значением.

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

Я бы рекомендовал Вам иной подход для заполнения служебной информации в заказе

```1c
    &НаСервере
    Процедура ЗаполнитьСостоянияНазначений()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Товары.НомерСтроки КАК НомерСтроки,
    | Товары.Номенклатура КАК Номенклатура,
    | Товары.Характеристика КАК Характеристика,
    | ВЫРАЗИТЬ(Товары.Назначение КАК Справочник.Назначения) КАК Назначение
    |ПОМЕСТИТЬ Товары
    |ИЗ
    | &Товары КАК Товары
    |;
    |
    |////////////////////////////////////////////////////////////­­////////////////////
    |ВЫБРАТЬ
    | Товары.НомерСтроки КАК НомерСтроки,
    | ПРЕДСТАВЛЕНИЕ(ЗаказНаПеремещениеТовары.ВариантОбеспечения) КАК РеквизитКолонкаСостоянияНазначений
    |ИЗ
    | втЗаказПоставщику КАК втЗаказПоставщику
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПеремещение.Товары КАК ЗаказНаПеремещениеТовары
    | ПО втЗаказПоставщику.Назначение.Заказ = ЗаказНаПеремещениеТовары.Ссылка
    | И втЗаказПоставщику.Номенклатура = ЗаказНаПеремещениеТовары.Номенклатура
    | И втЗаказПоставщику.Количество = ЗаказНаПеремещениеТовары.Количество";

    Запрос.УстановитьПараметр("Товары", Объект.Товары.Выгрузить());
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Для каждого СтрокаРезультата Из РезультатЗапроса Цикл
    СтрокаТовара = Объект.Товары[СтрокаРезультата.НомерСтроки - 1];
    ЗаполнитьЗначенияСвойств(СтрокаТовара, СтрокаРезультата);
    КонецЦикла;

    КонецПроцедуры
```
---
Большущее спасибо за подсказку про служебные колонки на форме и их влияние на отображение табличной части, честно - не знал, сказывается недостаток теоретической подготовки. С предложенным Вами способом не получилось, поэтому просто добавил к таблице значений колонку и заполнил нужным значением.

```1c
    РезультатЗапроса.Колонки.Добавить("ТипНоменклатуры",Новый ОписаниеТипов("ПеречислениеСсылка.ТипыНоменклатуры"));
    РезультатЗапроса.ЗаполнитьЗначения(Перечисления.ТипыНоменклатуры.Товар,"ТипНоменклатуры");
```