Здравствуйте!
есть на форме поле ввода Специфика с типом СправочникСсылка.Спец2
надо, чтобы при выборе нескольких значений из этого справочника, они записывались в этом поле ввода через знак препинания
делаю у поля ввода Специфика

```1c
    Процедура ПолеВводаСпецификаНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаПодбора = Справочники.КВ_Спец2.ПолучитьФормуВыбора();
    ФормаПодбора.РежимВыбора = Истина;
    ФормаПодбора.ЗакрыватьПриВыборе = Истина;
    ФормаПодбора.МножественныйВыбор = Истина;
    ФормаПодбора.Открыть();
    КонецПроцедуры
```

далет выбрать несколько значений, НО -- ничего не записывается в поле ввода..
далее дописала:

```1c
    Процедура ПолеВводаСпецификаОткрытие(ЗначениеВыбора, СтандартнаяОбработка)
    МассивВыбранныхЭлементов = Новый Массив;

    Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.Спец2") Тогда
    МассивВыбранныхЭлементов.Добавить(ЗначениеВыбора);

    ОповеститьОВыборе(ЗначениеВыбора);
    ИначеЕсли ТипЗнч(ЗначениеВыбора) = Тип("Массив") Тогда
    МассивВыбранныхЭлементов = ЗначениеВыбора;
    сообщить(2);
    Иначе
    сообщить(3);
    КонецЕсли;
    текст = ";
    Для каждого Элемент Из МассивВыбранныхЭлементов Цикл
    сообщить(элемент);
    текст = текст + "-" + элемент;
    КонецЦикла;

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

но процедура ПолеВводаСпецификаОткрытие вообще не выполняется! что же не так делаю??
или ЕСЛИ делаю через Процедура ОбработкаВыбора(ЗначениеВыбора, ФормаПодбора) не работает все равно!

Пожалуйста помогите!!!
---
Владельца у формы выбора надо бы указать
---
ФормаПодбора.Открыть();
Во-первых, куда она будет возвращать выбранные значения?

Во-вторых, мой совет, сделать тип элемента на форме СписокЗначений, тип значения списка поставить нужный справочник, и не надо изобретать велосипед, останется лишь задача с сохранением этого реквизита в БД, если у него заранее другой тип.
---
этот метод со СпискомЗначений я уже делала. но в моем случае надо ну прям край как делать именно так!
поэтому и тему создала.
HELP!!!
---
Владельца у формы выбора надо бы указать
---
подскажите, это как сделать??
---
```1c
    ФормаПодбора.Владелец = Элемент
```
---
ФормаПодбора.Владелец = Элемент
Спасибо! Так а процедуру обработкиВыбора лучше вызывать у поля ввода или у формы??
---
лучше вызывать у поля ввода или у формы??
У поля ввода
---
Спасибо вам огромное! так наконец заработало!!!
---
ну подскажите еще:
делаю так:

```1c
    Процедура ПолеВводаСпецификаНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаПодбора = Справочники.КВ_СпецификаДляСИЗ.ПолучитьФормуВыбора();
    ФормаПодбора.РежимВыбора = Истина;
    ФормаПодбора.ЗакрыватьПриВыборе = Истина;
    ФормаПодбора.МножественныйВыбор = Истина;
    ФормаПодбора.ВладелецФормы = Элемент;
    ФормаПодбора.Открыть();

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

    Процедура ПолеВводаСпецификаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    МассивВыбранныхЭлементов = Новый Массив;

    Если ТипЗнч(ВыбранноеЗначение) = Тип("СправочникСсылка.Спец2") Тогда
    МассивВыбранныхЭлементов.Добавить(ВыбранноеЗначение);
    ОповеститьОВыборе(ВыбранноеЗначение);
    ИначеЕсли ТипЗнч(ВыбранноеЗначение) = Тип("Массив") Тогда
    МассивВыбранныхЭлементов = ВыбранноеЗначение;
    КонецЕсли;

    текст = ";
    Для каждого Элемент Из МассивВыбранныхЭлементов Цикл

    текст = текст + "," + элемент;
    КонецЦикла;
    текст1 = Сред(текст, 2, СтрДлина(текст));
    сообщить(текст1);

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

правильно выдает результат (сообщить(текст1);), НО А ЧТО НАДО СДЕЛАТЬ чтобы записывалосьт потом этот текст в это поле ввода???
---
А нужен именно текст? И какой тип значения у реквизита?
---
ну мне надо чтобы было в этом поле перечисление через запятую. (к примеру: Рост, Вес), т.е. чтобы так и записывалось в поле ввода: Рост, Вес
тип значения у реквизита Специфика справочника --> СправочникСсылка.Спец2
---
А рост/вес должно быть текстом? Или ссылками на справочник?
Тип значения поменять на список значений
---
да наверное текстом.. мне потом надо будет в зависимости от наименования и от специфики этого наименования данного справочника отчет делать и регистр накопления. если я поменяю тип значения на список значений, то потом не смогу вытащить данные запросом из отчета (отчет: в зависимости от наименования средства защиты(халат,сапоги,рукавицы) чтобы формировалась специфика по росту и размерам)
т.е. мне реквизит Специфика нужен в справочнике далее..
---
и выдает ошибку:
Поле объекта не обнаружено (Владелец)
---
Поправочка
ВладелецФормы
---
т.е. как доделать задачу: чтобы множественном выборе в поле ввода (реквизит Специфика справочника) записывались значения через запятую как при Список значений
---
Никак, там либо ссылка на один элемент, либо список значений. Либо сделать отдельную табличную часть
---
воот.. я весь день голову и ломала.. пока на форуме уже пост не выложила..
отдельную тч не хочу. т.е. я правильно поняла же - множественный выбор нормально то не работает??
---
Он нормально работает) Но если вы системе сообщаете что место будет для одного значения (просто ссылочный тип), то система и будет выделять место для одного
---
ну т.е. всегда будет в поле ввода только ОДНО значение??
---
Нельзя указать для реквизита составной тип, из ссылки и списка значений ?
---
если указать составной тип, то надо выбирать из двух и более объектов конфы к примеру или типов (это мне не надо!)..
если список значений, то я потом не смогу использовать данные этого поля ввода в регистрах (на сколько я знаю)..
мне надо чтобы в одном справочнике в поле ввода выбиралИСЬ несколько значений из др справочника и записывались через запятую (через знак препинания) в это самое поле ввода.
я пока работы множественного выбора не нахожу.. то есть через контрол могу выбрать несколько значений, но они не записываются в это самое поле ввода!!!!!!! в чем тогда суть, господа?? просто уже оочень интересно!
---
я пока работы множественного выбора не нахожу.. то есть через контрол могу выбрать несколько значений, но они не записываются в это самое поле ввода!
В коллекцию запишется множество значений, а в один элемент - только один элемент. Все логично. А множественный выбор - свойство необходимое для того, чтобы форма выбора не закрывалась, после первого выбора.
---
ну выберу эти значения и что мне с ними делать? если они просто выбраны.
---
если указать составной тип, то надо выбирать из двух и более объектов конфы к примеру или типов (это мне не надо!)
Все эти моменты можно обыграть через код, указывая ограничение типа и т.д. перед открытием формы например (или в дальнейшем), можно добавить еще одно поле рядом для выбора элемента или списка (ПолеВидаСравнения)
если список значений, то я потом не смогу использовать данные этого поля ввода в регистрах (на сколько я знаю)
сможете
---
то есть просто потом обращаться к элементу формы буду (в регистрах)?
а просто добавить еще одно поле ввода не могу. тут задание по служебке делаю (ни шага влево).
---
Можете и к реквизиту обращаться или сразу при выборе производить необходимые действия.
Формы обычные или управляемые ? На обычных можно было бы сделать как

```1c
    Результат = Форма.ОткрытьМодально();
    Если Результат <> Неопределено Тогда
    //тут делаете что угодно со списком выбора
    КонецЕсли;
```
---
форма обычная тут.
мне не критично модально или нет открывать.
"//тут делаете что угодно со списком выбора" --- вот тут то что писать?
т.е. я правильно поняла, как сказал Dream_kz, нельзя записать в эту ячейку (поля ввода) несколько значений??????????
Ну не будет оно записываться! -- Так?????
---
Ну не будет оно записываться! -- Так?????
Ну как еще объяснить, вы выделяете на складе место для одной коробки, а потом пытаетесь вместо одной коробки, запихнуть несколько. Естественно что они не помещаются
---
Если не менять свойства реквизита то он так и будет хранить одно значение. Не понятно надо ли хранить список или можно его использовать сразу для каких-то действий (записи в регистр и т.д.). Табличную часть вроде предлагали уже.
Если критично что бы на форме было поле именно с текстом вида "Номенклатура1, Номенклатура2, Номенклатура3" можно добавить новое поле с типом строка и играться с записью значения в него либо с видимостью одного поля поверх второго. Или же как написал выше - сделать как в старых отчетах одно поле с типом СистемноеПеречисление.ВидСравнения, а второе с составным типом, Номенклатура + Список Значений.
---
Ребят, спасибо! И правда разжевали.
Просто по логике думала что, используя множественный выбор (т.е. выбрав несколько значений) все же можно их хоть как-то записать.
Отдельное спасибо за терпение и понимание!)