Добавил собственную табличную часть идентичную стандартной "Товары". Но когда добавляю в нее строку и пытаюсь выбрать значение поля "Вид цены" из списка выбора, в нем отсутствует вид цены <произвольная>. Пытался найти как это реализовано в стандартной, но не нашел (слепой).
Подскажите в какую сторону глядеть!
---
В общем оказалось что у поля ВидЦены в новой табличной части не были заполнены Параметры Выбора.
Формирование Списка Выбора происходит в модуле менеджера справочника ВидыЦен

```1c
    Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)

    Перем ЗначениеПараметра;

    Если Параметры.Свойство("ВыводитьПроизвольныйВидЦен", ЗначениеПараметра) И ЗначениеПараметра = Истина Тогда

    СтандартнаяОбработка = Ложь;

    ДанныеВыбора = Новый СписокЗначений;

    Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | ВидыЦен.Ссылка КАК ВидЦен
    |ИЗ
    | Справочник.ВидыЦен КАК ВидыЦен
    |ГДЕ
    | ВидыЦен.ПометкаУдаления = ЛОЖЬ");

    // Если в параметрах передан отбор по реквизиту "ЦенаВключаетНДС"
    Если Параметры.Отбор.Свойство("ЦенаВключаетНДС") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ЦенаВключаетНДС = &ЦенаВключаетНДС";
    Запрос.УстановитьПараметр("ЦенаВключаетНДС", Параметры.Отбор.ЦенаВключаетНДС);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "ИспользоватьПриПередачеМеждуОрганизациями".
    Если Параметры.Отбор.Свойство("ИспользоватьПриПередачеМеждуОрганизациями") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ИспользоватьПриПередачеМеждуОрганизациями = &ИспользоватьПриПередачеМеждуОрганизациями";
    Запрос.УстановитьПараметр("ИспользоватьПриПередачеМеждуОрганизациями", Параметры.Отбор.ИспользоватьПриПередачеМеждуОрганизациями);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "ИспользоватьПриПродаже"
    Если Параметры.Отбор.Свойство("ИспользоватьПриПродаже") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ИспользоватьПриПродаже = &ИспользоватьПриПродаже";
    Запрос.УстановитьПараметр("ИспользоватьПриПродаже", Параметры.Отбор.ИспользоватьПриПродаже);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "Статус"
    Если Параметры.Отбор.Свойство("Статус") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.Статус = &Статус";
    Запрос.УстановитьПараметр("Статус", Параметры.Отбор.Статус);
    КонецЕсли;

    ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ВидЦен"));

    ДанныеВыбора.Добавить(Справочники.ВидыЦен.ПустаяСсылка(), НСтр("ru='<произвольная>'"));

    КонецЕсли;

    КонецПроцедуры
```
---
Такого вида цены не существует вовсе.
Шок!!!
---
глядеть в сторону обучения :)
---
произвольная - это пустая ссылка, т.е. не заполненное значение.
Ценообразование.УстановитьУсловноеОформлениеВидовЦен(ЭтаФорма);

```1c
    Процедура УстановитьУсловноеОформлениеВидовЦен(Форма,
    ИмяПоляВводаВидаЦены = "ТоварыВидЦены",
    ПутьКПолюОтбора = "Объект.Товары.ВидЦены") Экспорт

    УсловноеОформление = Форма.УсловноеОформление;
    ЭлементыФормы = Форма.Элементы;

    ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();

    ПолеЭлемента = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(ЭлементыФормы[ИмяПоляВводаВидаЦены].Имя);

    ОтборЭлемента = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ПутьКПолюОтбора);
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<произвольная>'"));

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

```1c
    Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)

    Перем ЗначениеПараметра;

    Если Параметры.Свойство("ВыводитьПроизвольныйВидЦен", ЗначениеПараметра) И ЗначениеПараметра = Истина Тогда

    СтандартнаяОбработка = Ложь;

    ДанныеВыбора = Новый СписокЗначений;

    Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | ВидыЦен.Ссылка КАК ВидЦен
    |ИЗ
    | Справочник.ВидыЦен КАК ВидыЦен
    |ГДЕ
    | ВидыЦен.ПометкаУдаления = ЛОЖЬ");

    // Если в параметрах передан отбор по реквизиту "ЦенаВключаетНДС"
    Если Параметры.Отбор.Свойство("ЦенаВключаетНДС") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ЦенаВключаетНДС = &ЦенаВключаетНДС";
    Запрос.УстановитьПараметр("ЦенаВключаетНДС", Параметры.Отбор.ЦенаВключаетНДС);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "ИспользоватьПриПередачеМеждуОрганизациями".
    Если Параметры.Отбор.Свойство("ИспользоватьПриПередачеМеждуОрганизациями") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ИспользоватьПриПередачеМеждуОрганизациями = &ИспользоватьПриПередачеМеждуОрганизациями";
    Запрос.УстановитьПараметр("ИспользоватьПриПередачеМеждуОрганизациями", Параметры.Отбор.ИспользоватьПриПередачеМеждуОрганизациями);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "ИспользоватьПриПродаже"
    Если Параметры.Отбор.Свойство("ИспользоватьПриПродаже") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.ИспользоватьПриПродаже = &ИспользоватьПриПродаже";
    Запрос.УстановитьПараметр("ИспользоватьПриПродаже", Параметры.Отбор.ИспользоватьПриПродаже);
    КонецЕсли;
    // Если в параметрах передан отбор по реквизиту "Статус"
    Если Параметры.Отбор.Свойство("Статус") Тогда
    Запрос.Текст = Запрос.Текст + "
    | И ВидыЦен.Статус = &Статус";
    Запрос.УстановитьПараметр("Статус", Параметры.Отбор.Статус);
    КонецЕсли;

    ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ВидЦен"));

    ДанныеВыбора.Добавить(Справочники.ВидыЦен.ПустаяСсылка(), НСтр("ru='<произвольная>'"));

    КонецЕсли;

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