Имя: Пароль:
1C
1С v8
Выбрать из списка в управляемой форме
0 ghostrid3r
 
05.12.12
14:34
Добрый день уважаемые подскажите пожалуйста, написал процедуру выбора из списка, все хорошо кроме 1 нюанса, когда нажал выбрал значение из выпадающего списка, значение подставилось а список выпадающий не закрылся, нужно еще раз нажать чтобы выбрать и закроется тогда список.


&НаКлиенте
Процедура ВидРаботНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   
   ТекущаяСтрока = Элементы.Распределение.ТекущиеДанные;
   ДанныеВыбора = Новый СписокЗначений;
   ПолучитьВидРабот(ДанныеВыбора);
   ВыбранноеЗначение = ВыбратьИзСписка(ДанныеВыбора, Элемент);
   Если ВыбранноеЗначение <> Неопределено тогда
       ТекущаяСтрока.ВидРабот = ВыбранноеЗначение.Значение;    
   КонецЕсли;
   
КонецПроцедуры

&НаСервере
Функция ПолучитьВидРабот(ДанныеВыбора)
   
   ДанныеВыбора = Новый СписокЗначений;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    СтатьиДвиженийМТРОперативныйУчет.Ссылка
   |ИЗ
   |    Справочник.СтатьиДвиженийМТРОперативныйУчет КАК СтатьиДвиженийМТРОперативныйУчет
   |ГДЕ
   |    СтатьиДвиженийМТРОперативныйУчет.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРасходныйСкладскойОрдерОперативныйУчет.СписаниеНаОС)";
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       ДанныеВыбора.Добавить(Выборка.Ссылка);
   КонецЦикла;
   
   Возврат ДанныеВыбора;
   
КонецФункции
1 ghostrid3r
 
05.12.12
14:46
я уже и элементу пробовал подставлять и полю формы, всеравно 2 раза приходится нажимать для выбора.
2 Wobland
 
05.12.12
14:48
а зачем ты начало выбора переиначиваешь? список нужный сформируй себе
3 ghostrid3r
 
05.12.12
15:08
(2) Какая разница, там тоже самое если выбрать из списка, 2 раза приходиться нажимать, нужно смотреть куда то еще.
4 ghostrid3r
 
05.12.12
15:17
поле ВидРабот это справочник, может в нем все дело?
5 Wobland
 
05.12.12
15:19
(4) поле - это поле, элемент управления, едит-бокс
6 ghostrid3r
 
05.12.12
15:24
(5) ну не знаю для текстового поля такая же процедура работает нормально
Закон Брукера: Даже маленькая практика стоит большой теории.