В справочнике есть поле Сотрудник с типом справочник ссылка. Как сделать чтобы можно было выбрать несколько сотрудников?
---
вопрос в нагрузке и удобной форме ввода.
Простой вариант табличная часть. Сложный регистр сведений.
Список значений это совсем другая песня, если вам нужно хранить данные, а не только интерактивно указывать!
---
Если будут данные использоваться в запросах, тогда список значений не подойдёт. Вам надо понимать, как дальше вы будете строить отчёты на основании этих данных. Как соединять с другими данными. Можно создать справочник Инф. системы и там разместить табЧасть сотрудники. Можно создать регистр сведений, где будут записываться пары ИнфСистема и Сотрудник. Из регистра сведений можно данные получать запросом и размещать их на любой форме и так же туда записывать. Можно создать подчинённые справочники. Я же говорю, много вариантов. Что бы предложить самый оптимальный, нужно видеть все текущие или будущие связи этих данных. В некоторых случаях, бывает, даже в регистр накопления, лучше писать. У каждого объекта есть свои плюсы и минусы.
Например: если строим отчёт в котором выбираем инф системы из справочника, соединяем с какими то ещё данными, как то обрабатываем эти данные, потом выводим это в отчёт и нам нужно рядом с каждой инф системой указать какие сотрудники ей пользуются и больше нигде это не будет применяться, тогда можно вообще создать реквизит справочника строка и туда заполнять сотрудников и этот реквизит выбирать запросом и размещать в отчёте.
---
Поле ввода должно иметь тип СписокЗначений.
---
Сделать табличную часть Сотрудники.
---
Ага, в справочнике "сотрудники" табличная часть с сотрудниками, прикольно.

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

ЗаказПокупателя - тип Документ.ЗаказПокупателя,
СуммаЗаказа - тип Число,
СчетаНаОплату - тип Строка (В нее складываю ЗначениеВСтроку(МассивСчетовПоЗаказу)
СуммаСчетов - тип Число
Реализации - тип Строка (В нее складываю ЗначениеВСтроку(МассивРеализацийПоСчетам)
СуммаРеализаций - тип Число,
Фактуры - тип Строка (В нее складываю ЗначениеВСтроку(МассивФактурПоРеализациям)
СуммаФактур - тип Число

Работает.

И с этой красотой проверяю полноту оформления. Допилю функционал - выложу в доступ. До конца мая должен завершить.
---
А как ссылочную целостность в базе проверяте?
---
А я таблицу формирую по заданным параметрам, на форме колонки с массивами документов недоступны для редактирования, для отображения дополнительную отдельную строку собираю, потом при обработке разворачиваю в обратную сторону.
ЗначениеВСтрокуВнутр
ЗначениеИзСтрокиВнутр

Сейчас эти данные не сохраняю - не стояла задача. Но когда-то во времена 7.7 использовал.
При получении значения получаю "тип, вид, ссылку", перед использованием проверять наличие. Как - пока не думал. Так же как и битую ссылку проверять через попытку, наверное.
---
Формат данной функции не документирован.
Что будете делать, если в следующей версии платформы формат изменится?
Например, в 8.2.14 (если не ошибаюсь) этот формат менялся, причем без поддержки совместимости с прошлым форматом. То есть если в таком формате были сохранены данные в каком нибудь реквизите, после обновления платформы обратно в значение они уже не преобразовывались.
---
Напишите ваше сообщение
(15) как вариант, тупо включу поддержку версии. В 1С много чего не документируется и меняется по функционалу ))
Я не призываю использовать. Я закинул удочку на подумать ))
---
Напишите ваше сообщение
(15) в программе:

Глобальный контекст (Global context)
ЗначениеВСтрокуВнутр (ValueToStringInternal)
Синтаксис:

ЗначениеВСтрокуВнутр(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Преобразуемое значение.
Возвращаемое значение:

Тип: Строка.
Системное представление значения в информационной базе.
Описание:

Получает системное строковое представление переданного значения.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Используется для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется.
Пример:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | СоответствиеСчетовСрезПоследних.СчетХозрасчетный,
    | ...
    |ИЗ
    | РегистрСведений.СоответствиеСчетовБУиМСФО.СрезПоследних(&Период, ) КАК СоответствиеСчетовСрезПоследних";
    Запрос.УстановитьПараметр("Период", Период);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();

    Файл = Новый ЗаписьXML;
    Файл.ОткрытьФайл(ИмяФайла);
    Файл.ЗаписатьОбъявлениеXML();
    Файл.ЗаписатьНачалоЭлемента("СоответствиеСчетов");
    Пока Выборка.Следующий() Цикл
    Файл.ЗаписатьНачалоЭлемента("Запись");
    Файл.ЗаписатьНачалоЭлемента("СчетХозрасчетный");
    Файл.ЗаписатьТекст(XMLСтрока(Выборка.СчетХозрасчетный));
    Файл.ЗаписатьКонецЭлемента();
    // ...

    Файл.ЗаписатьНачалоЭлемента("ЗначениеТип");
    Файл.ЗаписатьТекст(ЗначениеВСтрокуВнутр(ТипЗнч(Выборка.Значение)));
    Файл.ЗаписатьКонецЭлемента();
    Файл.ЗаписатьНачалоЭлемента("Значение");
    Файл.ЗаписатьТекст(XMLСтрока(Выборка.Значение));
    Файл.ЗаписатьКонецЭлемента();
    // ...

    Файл.ЗаписатьКонецЭлемента();
    КонецЦикла;
    Файл.ЗаписатьКонецЭлемента();
```

См. также:

Глобальный контекст, метод ЗначениеИзСтрокиВнутр

--------------------------------------------------------------------------------

     Методическая информация
---
да, я про эти функции и писал.
---
Это хорошо, когда нужно сохранить какую то информацию в базе. Настройки например. А если эти данные нужны для аналитики и по ним нужно будет строить запросы, тогда не годится такой способ.
---
если строить запросы , тогда однозначно табличная часть.