Имя: Пароль:
1C
1С v8
Добавление в поле ввода нескольких значений
0 JuixyJes
 
25.06.19
15:21
Доброго времени суток! Возник вопрос, как в поле ввода добавить несколько значений? В созданном мною справочнике есть реквизит - ссылка на справочник номенклатур. Как несколько позиций из справочника Номенклатура добавить в реквизит другого  справочника?
1 butterbean
 
25.06.19
15:22
делай табличную часть
2 JuixyJes
 
25.06.19
15:23
(1) а других вариантов быть не может?
3 butterbean
 
25.06.19
15:23
(2) другие плохие
4 Ёпрст
 
гуру
25.06.19
15:29
(2) может, тип ХранилищеЗначений, туда пихай что угодно. Но, оперировать такими  данными не есть гуд.
5 JuixyJes
 
25.06.19
15:32
Добавила табличную часть, а можно в нее как то не по одной добавлять а несколько сразу?
Нашла там в свойствах Множественный выбор, он мне как то поможет?
6 FIXXXL
 
25.06.19
15:33
(5) подбор из справочника сделай
7 Ёпрст
 
гуру
25.06.19
15:33
(5) нужно открыть форму для выбора нескольких значений и обрабатывать потом выбранные значения, глядеть, есть ли ужо такоее значение в ТЧ и ежели нема - добавить
8 JuixyJes
 
25.06.19
15:38
(7) Просто при попытке добавить я могу выделить несколько, а вот при нажатии кнопки добавить добавляется одно, простите за тафтологию :D Тоесть мне помимо установки свойства нужно и процедуру обработки выбранных значений написать?
9 JuixyJes
 
25.06.19
15:41
и если это так, не подскажите пример как это сделать? А то совсем уже запуталась
10 Ёпрст
 
гуру
25.06.19
15:42
(8) уф/оф ?
11 Ёпрст
 
гуру
25.06.19
15:42
так, если есть множественное выделение, нужно обрабатывать коллекцию ВыделенныеСтроки и .. их добавлять в тч
12 JuixyJes
 
25.06.19
15:45
(10) уф
13 JuixyJes
 
25.06.19
15:51
(11) а как это сделать?)
14 Ёпрст
 
гуру
25.06.19
15:53
(12) ну вот, код для 2-х вариантов с Радченко


&НаКлиенте
Процедура Подбор(Команда)
//одиночный подбор
//ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", , Элементы.Материалы);
//множественный подбор
//ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе", Ложь);
//ПараметрыФормы = Новый Структура("МножественныйВыбор", Истина);

//множественный подбор с использованием множественного выбора
ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, МножественныйВыбор", Ложь, Истина);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Материалы);

КонецПроцедуры
&НаКлиенте
Процедура МатериалыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
//одиночный подбор и множественный подбор
//НоваяСтрока = Объект.Материалы.Добавить();
//НоваяСтрока.Материал = ВыбранноеЗначение;

//подбор с множественным выбором
Для Каждого ВыбранныйЭлемент Из ВыбранноеЗначение Цикл
НоваяСтрока = Объект.Материалы.Добавить();
НоваяСтрока.Материал = ВыбранныйЭлемент;
КонецЦикла;

КонецПроцедуры
15 Ёпрст
 
гуру
25.06.19
15:53
Создаешь кнопку и команду к ней.. далее переделываешь код на свои справочники и тч.
16 Ёпрст
 
гуру
25.06.19
15:54
там 2 варианта, первый - просто множественный выбор в открываемой форме, второй (который расскоменчен) - множественный выбор с выделенными строками
17 JuixyJes
 
25.06.19
16:47
(16) если использовать добавленную на форму табличную часть - все замечательно работает, а вот если это табличная часть справочника те же самые махинации не получаются