Имя: Пароль:
1C
1С v8
Полеформы СписокВыбора v8.2
0 alexei366
 
26.09.12
13:27
Есть на форме поле привязанное к реквизиту типа строка.

Режим выбора из списка не включен, он мне не нужет. Смысл в чём, при вводе в поле символов вызывается автоподбор, он кидает процедуру на сервер от дуда возвращает список значений, я перезаливаю этот список в список выбора данного поля. При выключенном "Режим выбора из списка" строчки списка не появляются автоматом надо кнопку жать (КнопкаСпискаВыбора), если же я сделаю через "Режим выбора из списка" вроде всё норм но у списка есть значение и представление и он представление кидает в поле, мне нужно чтоб в поле кидалось значение что получается при вырубленом "Режим выбора из списка".

Вопрос такой как програмно заставить отобразиться список выбора в сплывающем окне
1 ZoRN
 
26.09.12
13:30
Режим выбора из списка - Список значений (значение, представление),
КнопкаСпискаВыбора - дает только значение в поле.

Ни проще кидать и в значение и в представление одно и то же?
2 alexei366
 
26.09.12
13:33
Такой вариант есть, но хотелось бы выводить в список представление а подставлять в поле значение что получается через "КнопкаСпискаВыбора", но при этом список после обработки не показывается автоматом
3 alexei366
 
26.09.12
13:34
или как вызвать метод НачалоВыбораИзСписка програмно?
4 ZoRN
 
26.09.12
13:40
Не заполняй СписокВыбора,
Выключи "Режим выбора из списка"

Отслеживай
НачалоВыбораИзСписка
Заполняй (Значения, Представления - что нравится)
ОбработкаВыбора
Тут возьми то что выбрал пользователь и вставь в элементформы полеввода :)
5 alexei366
 
26.09.12
13:46
такс, это и так понятно, хочется чтоб список сам отображался после ввода инфы, а не на кнопочку вызывался
6 alexei366
 
26.09.12
14:09
Кто поможет?
7 butterbean
 
26.09.12
14:12
может проще через ОкончаниеВводаТекста??
8 vmv
 
26.09.12
14:13
вброшу

&НаКлиенте
Процедура КмнНсПлзНсЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   // КмнНсПлзНс - КомпоновщикНастроек, ПользовательскиеНастройкиКомпоновкиДанных
   
   ЗнчПараметраНсКд = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(Элементы.КмнНсПлзНс.ТекущаяСтрока);
   Если ЗнчПараметраНсКд = Неопределено Тогда
       Возврат;
   КонецЕсли;
   ЗнчПараметраНсКдПараметр = ЗнчПараметраНсКд.Параметр;
   
   Если ЗнчПараметраНсКдПараметр = (Новый ПараметрКомпоновкиДанных("СтнПериод")) Тогда
       
       СтандартнаяОбработка = Ложь;
       
       ДанныеВыбора = Новый СписокЗначений;
       
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйМесяц));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйКвартал));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлоеПолугодие));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ПрошлыйГод));
       
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотМесяц));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотКвартал));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтоПолугодие));
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотГод));
       
       ДанныеВыбора.Добавить(Новый СтандартныйПериод(ЗнчПараметраНсКд.Значение.ДатаНачала, ЗнчПараметраНсКд.Значение.ДатаОкончания));
       
   КонецЕсли;
   
КонецПроцедуры
9 alexei366
 
26.09.12
14:16
Да емае, не нажимаю я кнопки , не вызывается этот метод, как вызвать его програмно?
10 vmv
 
26.09.12
14:16
+(8) кстати по коду понятно что таким образов, оформив методы в общих модулях, можно создавать произвольные наборы выбора из СтандартныйПериод в любых списках, в том числе и собственные "три недели", "тридца три года и три дня"

А то намедни кто-то ныл, мол, пачиму не прикрутили к Стандартному периоду возможность формировать свои наборы
11 alexei366
 
26.09.12
14:18
это я потом посмотрю по теме есть идеи?
12 vmv
 
26.09.12
14:18
(9)

ОкончаниеВводаТекста(<Текст>, <ДанныеВыбора>, <СтандартнаяОбработка>)

не видишь связи между (8) и (9) - вали в лес
13 vmv
 
26.09.12
14:19
АвтоПодбор(<Текст>, <ДанныеВыбора>, <Ожидание>, <СтандартнаяОбработка>)

таже щняга, чувак
14 vmv
 
26.09.12
14:20
а режим выбора из списка - это наследие 8.1 и он на фик не уперся для задачи в (0)
15 ZoRN
 
26.09.12
14:25
Я понял что тебе надо ВЫЗВАТЬ СОБЫТИЕ !!! Сам когда то над этим бился в результате ни чего ... или уже не помню ... было лет 7 назад на 8.0
16 alexei366
 
26.09.12
14:25
Блин, я начинаю вводить текст в поле,  в "РежимВыбораИзСписка" он вызывает автоподбор и выводит список с найденными значениями (без нажатия кнопок в правой части поля), но после выбора вставляет в поле представление (мне это не нужно), все работает так как надо если не использовать "РежимВыбораИзСписка" но при этом во время ввода текста найденные значения после обработки автоподбора не отображаются автоматом надо кнопку нажимать чтоб увидеть.
17 ZoRN
 
26.09.12
14:28
Ну да, я не заморачивался поставил кнопку.
18 ZoRN
 
26.09.12
14:28
Но решение рядом !
19 ZoRN
 
26.09.12
14:30
Посмотри что пихает при изменении ... значение это понятно ... какова вида представление???
20 alexei366
 
26.09.12
14:32
нету там представления, есть только значение в реквезите, а отображается на форме представление этого значения взятое из СпискаВыбора
21 vmv
 
26.09.12
14:37
(15) плевать на событие: выбор, подбор, окончание... ему нужно заполнить параметр событий "ДанныеВыбора", но он консерватор и застрял на понятиях 10 летней давности
22 vmv
 
26.09.12
14:39
чтобы решить задачу в ноль нужно отключить все галки выбора из списка НЕ заполнять список выбора, ввобще забыть про кнопки и всякие дурацие режимы, ну осмыслить, что я написало.

далее апить бесполезно или к терапевту
23 alexei366
 
26.09.12
14:44
Ты мне объясни как твой код мне поможет програмно отобразить список найденых значений под полем ввода данных, или чтобы при выборе значения из списка можно было изменить отображаемую строку. Можешь считать меня тупым, так что помоги инвалиду
24 ZoRN
 
26.09.12
14:49
ЭлементыФормы.ПолеВвода1.Значение = ВыбранноеЗначение
25 ZoRN
 
26.09.12
14:52
Покажи код
26 vmv
 
26.09.12
14:54
(25) у него код построен на обработчиках действия, а не подбора, а работать ему нужно с подбором, смысла смотреть код нету - смешались кони, люди...
27 alexei366
 
26.09.12
15:18
Авто подбор использую
28 alexei366
 
26.09.12
15:19
ЭлементыФормы.ПолеВвода1.Значение нету такого атрибута
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс