Имя: Пароль:
1C
1С v8
Событие Выбор, когда МножественныйВыбор = Истина. Возникает только по Enter:((
0 e2e4
 
10.08.15
15:45
А как отловить нажатие юзером кнопки Выбор? Поскольку форма - с произвольным запросом дин.списка, то, прежде чем отдать выбранные значения, приходится пошаманить с массивом выбранных строк:
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    МассивСтруктур = Новый Массив;
    Для каждого Эл из ВыбраннаяСтрока Цикл
        СтруктураСтроки = Новый Структура("ОбъектПроката, ДокументПередачи, Количество, Дней, Сумма, ПДКП");
        ЗаполнитьЗначенияСвойств(СтруктураСтроки, Элементы.Список.ДанныеСтроки(Эл));
        МассивСтруктур.Добавить(СтруктураСтроки);
    КонецЦикла;
    ОповеститьОВыборе(МассивСтруктур);
КонецПроцедуры
...Если юзер нажмет Enter, то все ок, процедурка отработает; а вот если жмет "типовую" кнопку Выбрать.... То ой.
1 Nuobu
 
10.08.15
16:08
(0) Перед закрытие не предлагать?
2 e2e4
 
10.08.15
16:10
(0) то ли что-то чудное спрашиваю...
Но правда, сколько хороших статей по теме встретил - везде используется именно событие Выбор дин. списка. И нигде никто не обмолвился, что это событие не срабатывает, если пользователь жмет стандартную кнопку Выбор. Это у меня одного лыжи не едут???
3 e2e4
 
10.08.15
16:13
(1) типа так?:
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
    МассивСтруктур = Новый Массив;
    Для каждого Эл из Элементы.Список.ВыделенныеСтроки Цикл
        СтруктураСтроки = Новый Структура("ОбъектПроката, ДокументПередачи, Количество, Дней, Сумма, ПДКП");
        ЗаполнитьЗначенияСвойств(СтруктураСтроки, Элементы.Список.ДанныеСтроки(Эл));
        МассивСтруктур.Добавить(СтруктураСтроки);
    КонецЦикла;
//хотя как-то глупо второй раз оповещать о выборе, не?
    ОповеститьОВыборе(МассивСтруктур);
КонецПроцедуры

...Хотя, наверное, лучше не надо - а вдруг пользователь просто закрыть хочет, отказавшись от выбора?..Опять же, сошлюсь на
http://pro1c.org.ua/index.php?showtopic=3055
и
http://catalog.mista.ru/public/169368/
- везде фигурирует именно событие Выбор дин. списка. Да и по логике - так и должно быть!
4 e2e4
 
10.08.15
16:25
+(3) более того, если в ПередЗакрытием использовать ОповеститьОВыборе(ВыбранныеДанные) - произойдет что?...правильно - зацикливание. А если не ОповеститьОВыборе - то как передать владельцу выбранные данные???