Как выбрать несколько элементов в поле переключатель

1. Falcon174 6 14.02.19 10:44 Сейчас в теме
Есть реквизит (Для простоты так и будем его называть) от ссылается на "перечисление1" в перечислении если данные типа: 1, 2, 3, 4, 5.

При выводе на форму задаю ему "вид" - "переключатель", но после заполнения могу выбрать только 1 вариант. А мне нужно выбрать несколько.

Как это сделать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Xershi 1484 14.02.19 10:54 Сейчас в теме
(1) вам нужно сделать либо табличную часть, чтобы сохранить результат. Либо просто реквизит на форме с типом список значений или таблица значений.
6. Falcon174 6 14.02.19 10:57 Сейчас в теме
(4)
вам нужно сделать либо табличную часть, чтобы сохранить результат. Либо просто реквизит на форме с типом список значений или таблица значений.


Я правильно понимаю что если делать реквизит на форме список значений то его значения нужно будет хранить в регистре?
7. Xershi 1484 14.02.19 11:03 Сейчас в теме
(6) архитектуру вашего решение определяете вы сами. Правильно для вас будет или нет, скажет системный архитектор.
5. Xershi 1484 14.02.19 10:56 Сейчас в теме
(1) если отвечать на ваш вопрос прямо. Ответ никак!
Потому что вы бред спрашиваете за отсутствие теоретической базы.
9. lefthander 14.02.19 11:19 Сейчас в теме
(1)Переключатель он такой сделан - всегда только один вариант, если надо много то располагаете на форме несколько чек боксов и выбираете, но логику обработки вы пишете сами.
2. soft_wind 14.02.19 10:49 Сейчас в теме
так вам не переключатель нужен, а список значений !
alex-l19041; +1 Ответить
3. Falcon174 6 14.02.19 10:51 Сейчас в теме
(2) Поподробнее можно? Не до конца понимаю идею.
8. dhurricane 14.02.19 11:05 Сейчас в теме
(3) Подробнее:
1. Добавляете табличную часть "ТЧ" с реквизитом "Реквизит" типа перечисления.
2. Добавляете в форму реквизит "РеквизитСписок" с типом "СписокЗначений", ограничение типа - перечисление. Выводите реквизит списка на форму (ТЧ на форму выводить не надо).
3. В обработчике "ПриЧтенииНаСервере" формы пишите:
РеквизитСписок.ЗагрузитьЗначения(Объект.ТЧ.ВыгрузитьКолонку("Реквизит"));

4. В обработчике "ПередЗаписьюНаСервере" формы пишите:
ТекущийОбъект.ТЧ.Очистить();
Для каждого Элемент Из РеквизитСписок Цикл
   ТекущийОбъект.ТЧ.Добавить().Реквизит = Элемент.Значение;
КонецЦикла;
user790607; +1 Ответить
13. user790607 01.03.19 10:38 Сейчас в теме
(8) не работает к сожалению, не находит "ВыгрузитьКолонку()"
14. dhurricane 01.03.19 10:45 Сейчас в теме
(13) Как так получилось? У Вас "ТЧ" - не табличная часть?
15. user790607 01.03.19 11:20 Сейчас в теме
(14) По порядку:
- Создаю в документе табличную часть "ТЧ"
- В ней добавляю реквизит "Реквизит", тип "перечислениеСсылка.КОСГУ"
- В реквизит документа добавляю реквизит "РеквизитСписок", тип "перечислениеСсылка.КОСГУ"
- Вывожу на форму данный "Реквизит Список"
- добавляю обе процедуры и получаю:
Прикрепленные файлы:
16. user790607 01.03.19 11:23 Сейчас в теме
(15) ошибки в процедурах подправил добавив "Объект." перед "РеквизитСписок."
И при запуске получаю:
Прикрепленные файлы:
17. dhurricane 01.03.19 12:14 Сейчас в теме
(15) Вы невнимательно читали. Есть большая разница между "реквизитом документа" и "реквизитом формы". Обратите внимание на п.2: это реквизит формы, не документа. И тип его не перечисление, а список значений.
user790607; +1 Ответить
18. user790607 01.03.19 12:33 Сейчас в теме
(17) понял, переделал и всё равно та же ошибка
Добавил реквизит формы "РеквизитСписок" с типом "список значений"
19. dhurricane 01.03.19 12:39 Сейчас в теме
(18) Прошу прощения, моя опечатка. Вместо
Объект.ТЧ.ВыгрузитьКолонку("Реквизит")

следует писать
ТекущийОбъект.ТЧ.ВыгрузитьКолонку("Реквизит")
user790607; +1 Ответить
20. user790607 04.03.19 04:32 Сейчас в теме
(19) Спасибо, ларчик просто открывался )
21. user790607 11.03.19 06:50 Сейчас в теме
(19) а не подскажите теперь как вывести на печать их в одну ячейку?
22. dhurricane 11.03.19 08:23 Сейчас в теме
(21) Собрать в одну строку все значения, например через запятую, и присвоить полученное значение параметру области.
user790607; +1 Ответить
23. user790607 11.03.19 08:55 Сейчас в теме
(22) пример кода не подскажете?

сейчас так:
ВыборкаТЧ = Выборка.ТЧ.Выбрать();	
		Пока ВыборкаТЧ.Следующий() Цикл
			ОбластьТЧ.Параметры.Заполнить(ВыборкаТЧ);
			ТабДок.Вывести(ОбластьТЧ, ВыборкаТЧ.Уровень());
		КонецЦикла;  
24. dhurricane 11.03.19 09:00 Сейчас в теме
(23) Почти также, только выводить один раз нужно.
МассивЭлементов = Новый Массив;
ВыборкаТЧ = Выборка.ТЧ.Выбрать();    
Пока ВыборкаТЧ.Следующий() Цикл
	МассивЭлементов.Добавить(ВыборкаТЧ.ИмяРеквизита);
КонецЦикла;

ОбластьТЧ.Параметры.ИмяПараметраДляСписка = СтрСоединить(МассивЭлементов, ", ");
ТабДок.Вывести(ОбластьТЧ);
user790607; +1 Ответить
25. user790607 11.03.19 09:58 Сейчас в теме
(24)
МассивЭлементов = Новый Массив;
ВыборкаТЧ = Выборка.ТЧ.Выбрать();
Пока ВыборкаТЧ.Следующий() Цикл
МассивЭлементов.Добавить(ВыборкаТЧ.ИмяРеквизита);
КонецЦикла;

ОбластьТЧ.Параметры.ИмяПараметраДляСписка = СтрСоединить(МассивЭлементов, ", ");
ТабДок.Вывести(ОбластьТЧ);


От души благодарю!
11. soft_wind 14.02.19 11:53 Сейчас в теме
(3) эээ, вот пример
Прикрепленные файлы:
ТестСписокЗначений-2.epf
10. Туки Туки 51 14.02.19 11:35 Сейчас в теме
Нельзя выбрать для переключателя несколько значений, переключатель сам по себе для выбора одного варианта - почему не хочешь сделать несколько переключателей или просто галочек типа "булево"?
12. Falcon174 6 14.02.19 12:22 Сейчас в теме
(10) Если честно не хотел плодить реквизиты. Но пришлось)
26. user1385112 01.08.20 14:13 Сейчас в теме
Охренеть, ребят 0_о

Вот такой же вопрос возник, попал сюда. Сделал, спасибо, получилось..
И понимаю, что сам бы никаким раком до подобного не додумался.

Это ж каким гением 1С надо быть, чтоб такое вытворять 0_о жесть.
Без инета бы так и мучался.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот