Имя: Пароль:
1C
1С v8
Работа с полем списка в форме
0 bvb
 
31.01.13
18:16
В форме есть реквизит вида "Поле списка" (СписокЗначений) .

Нужно в него удалять и добавлять (через подбор) значения .

Подскажите где в типовых конфах посмотреть корректный пример с полем формы данного вида.
1 Reset
 
31.01.13
18:22
Рисуешь кнопку Подбор, по ней открываешь форму выбора.
В текущей форме ловишь в ОбработкаВыбора прилетающие значения, добавляешь в список.
2 Reset
 
31.01.13
18:24
Для удаления рисуешь кнопку, удаляешь из списка текущую строку (ЭлементыФормы.ИмяПоляСписка.ТекущаяСтрока)
3 bvb
 
31.01.13
18:24
(1) А удалять ?
4 xantimans
 
31.01.13
18:24
лкСписок = Новый СписокЗначений;
   лкСписок.Добавить("Элемент1", "Элемент 1");
   лкСписок.Добавить("Элемент2", "Элемент 2");
   лкСписок.Добавить("Элемент3", "Элемент 3");
   
   ЭлементыФормы.ПолеВыбора1.СписокВыбора = лкСписок;
   
   Если лкСписок.Количество() > 0 Тогда
       ЭлементыФормы.ПолеВыбора1.Значение = лкСписок[0].Значение;
   КонецЕсли;

как пример!
5 Reset
 
31.01.13
18:24
А с табличным полем+ ТЗ не удобнее? там проще с кнопками
6 Reset
 
31.01.13
18:26
(4) Это на другую тему пример :)
7 bvb
 
31.01.13
18:28
С табличным некошерно вспомнил множественный отбор в отчетах клюшек . Взгруснулось.
8 Reset
 
31.01.13
18:30
(7) А чего взгрустнулось то? :)
9 xantimans
 
31.01.13
18:34
(6) мда "Поле списка"  прочитал как "Поле выбора"
10 bvb
 
31.01.13
18:47
ФормаПодбора =  Справочники.ФизическиеЛица.ПолучитьФормуВыбора(,ЭлементыФормы.СписокВодителей);
   ФормаПодбора.Открыть();

Форма подбоора открывается но ОбработкаВыбора элемент не ловит. Как сделать чтобы она не закрывалась и срабатывала ОбработкаВыбора
11 Reset
 
31.01.13
18:51
(10) Укажи вледельцем ЭтуФорму
12 Reset
 
31.01.13
18:51
(10) чтобы не закрывалась
ФормаПодбора.ЗакрыватьПриВыборе=Ложь;
13 Reset
 
31.01.13
18:52
А может тебе поле ввода просто нужно с типом СписокЗначений? :)
14 bvb
 
31.01.13
18:55
Все получилось большое спасибо. Просто я владельцем указал поле списка. Вечер . Устал. Туплю :(((
15 bvb
 
31.01.13
18:58
Как то так :
Процедура ДобавитьВодителя(Элемент)
   ФормаПодбора =  Справочники.ФизическиеЛица.ПолучитьФормуВыбора(,ЭтаФорма);
   ФормаПодбора.ЗакрыватьПриВыборе = ЛОЖЬ;
   ФормаПодбора.ОткрытьМодально();
КонецПроцедуры

Процедура УдалитьВодителя(Элемент)
   Если ЭлементыФормы.СписокВодителей.ТекущаяСтрока <> Неопределено Тогда
       СписокВодителей.Удалить(ЭлементыФормы.СписокВодителей.ТекущаяСтрока);
   КонецЕсли;
КонецПроцедуры

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   Если СписокВодителей.НайтиПоЗначению(ЗначениеВыбора) = Неопределено Тогда
       СписокВодителей.Добавить(ЗначениеВыбора,,ИСТИНА);
   КонецЕсли;
КонецПроцедуры
16 Reset
 
31.01.13
19:00
(15) Можно немодально открывать, тоже будет работать
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.