Имя: Пароль:
1C
1С v8
Не сохраняется в поле выбранное значение из списка. УФ 8.3
0 ИШТ
 
14.03.14
14:20
&НаКлиенте
Процедура ВыборЗаказаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;    
    Список = Новый СписокЗначений();
    СформироватьСписокЗаказовНаСепрвереБезКонтекстаИзЗапроса(Список,Объект.владелец);
    ДанныеВыбора=список;
КонецПроцедуры // тут отрабатывает все нормально, список выпадает.

Но значение не сохраняется. Я подумал, наверное это из-за СтандартнаяОбработка=Ложь и написал еще такую функцию:

&НаКлиенте
Процедура ВыборЗаказаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Объект.НомерЗаказа=   ВыбранноеЗначение;    
КонецПроцедуры //в отладчике сюда попадаем значение реквизиту НомерЗаказа присваивается.
Но на форме по прежнему ничего не выбрано.
1 ИШТ
 
14.03.14
14:39
Более того, в обработчике
&НаКлиенте
Процедура ВыборЗаказаПриИзменении(Элемент)
    //Объект.НомерЗаказа опять пустой
КонецПроцедуры
хотя я только что выше присвоил значение
2 ИШТ
 
14.03.14
14:53
Надо было в заголовке написать "Украина, Навальный, Путин"
3 hhhh
 
14.03.14
15:08
наверно нужно

НомерЗаказаОбработкаВыбора
4 ИШТ
 
14.03.14
15:14
неа
номерзаказа это реквизит, а выборзаказа это имя соответствующего ему поля формы
5 ИШТ
 
14.03.14
15:58
последний UP
6 Aprobator
 
14.03.14
16:03
как бы - НачалоВыбора слабо пересекается с НачаломВыбораИзСписка
7 Aprobator
 
14.03.14
16:03
вообще - нафига СтандартнаяОбработка то Ложь?
8 Aprobator
 
14.03.14
16:04
список выбора ты заполнил, дальше пусть все на автомате идет.
9 Aprobator
 
14.03.14
16:06
+(8) соответстенно - обработку выбора - в сад.
10 ИШТ
 
14.03.14
16:10
Свойство поля управляемой формы КнопкаСпискаВыбора более не доступно и оставлено для совместимости. Событие поля ввода НачалоВыбораИзСписка более не вызывается. http://downloads.v8.1c.ru/content/Platform/8_3_3_641/1cv8upd.htm
11 Aprobator
 
14.03.14
16:11
(10) посыпаю голову пеплом. Проверь тогда тип значения которым ты заполняешь сам список и тип значения реквизита.
12 ИШТ
 
14.03.14
16:11
(7) потому что:
Синтаксис:

НачалоВыбора(<ДанныеВыбора>, <СтандартнаяОбработка>)
Параметры:

<ДанныеВыбора>

Тип: СписокЗначений.
В обработчике можно сформировать и передать в этом параметре данные для выбора. При этом параметр <СтандартнаяОбработка> должен быть установлен в Ложь.
13 ИШТ
 
14.03.14
16:12
(11) типзначения проверял уж, да и чего там проверять все просто это всего лишь строка
14 Aprobator
 
14.03.14
16:15
(13) длина строки какая?
15 ИШТ
 
14.03.14
16:35
(14) ну допустим выставил везде 10
16 hhhh
 
14.03.14
16:38
а ВыборЗаказаПриИзменении есть?
17 Aprobator
 
14.03.14
16:38
тогда должен быть виден. Чудно. В событие ОбработкаВыбора - точно попадает?
18 ИШТ
 
14.03.14
16:49
(16) специально создал, туда попадает, но Объект.НомерЗаказа там уже пустой. написал уже так:
&НаКлиенте
Процедура ВыборЗаказаПриИзменении(Элемент)
    Объект.НомерЗаказа= "траляля";
КонецПроцедуры
19 ИШТ
 
14.03.14
16:52
в общем выяснил что это все связано с тем что у поля выставлен Режимвыбораизсписка. Создал 2-е поле на тот же НомерЗаказа но уже без режима списка в него отображается выбор
20 ИШТ
 
14.03.14
16:53
вопрос, как тогда правильно работать с полем у которого установлен Режимвыбораизсписка ?
21 Aprobator
 
14.03.14
16:57
Может там - выбранное значение - элемент списка значений?
22 ИШТ
 
14.03.14
16:58
да я уже тупо в коде строку устанавливаю см в (18)
23 Aprobator
 
14.03.14
17:00
туда точно попадает?
24 Aprobator
 
14.03.14
17:01
а не - в (18) бред. Там уже свершившееся событие.
25 ИШТ
 
14.03.14
17:02
да точно во все процедуры заходит. и даже значение отображается на форме (НО только во втором поле у которого нет списка выбора)
26 Aprobator
 
14.03.14
17:02
вот в ОбработкуВыбора точно попадает, при условии, что в обработке НачалоВыбора - Отказ = Ложь?
27 ИШТ
 
14.03.14
17:03
не создавать же тепрь по два поля на форме. в одном выбирать во втором смотреть что выбрано. это же бред
28 ИШТ
 
14.03.14
17:04
(26) да как ни странно - точно
29 Aprobator
 
14.03.14
17:05
может в случае списка надо указывать элемент списка значений?
30 Aprobator
 
14.03.14
17:07
типа:

ВыбранныйЭлемент = Элемент.СписокВыбора.НайтиПоЗначению(ВыбранноеЗначение);
Элемент.Значение = ВыбранныйЭлемент;
31 ИШТ
 
14.03.14
17:09
дальше больше:
оказывается если в справочнике уже сохранено у какого-то объекта в реквизите номерзаказа некое значение, то оно просто перестает отображаться на форме как только устанавливается реквизит эелемента Режимвыбораизсписка
32 ИШТ
 
14.03.14
17:13
(30) Элемент.значение - это что?!?
33 Aprobator
 
14.03.14
17:30
(32) Элемен - собственно элемент управления к которому относится событие
34 Aprobator
 
14.03.14
17:31
собственно, это код который предлагается в обработке выбора попробовать.
35 Aprobator
 
14.03.14
17:33
а, плин, я все еще обычными формами мыслю - пошел УФ штудировать )
36 ИШТ
 
14.03.14
18:34
Вообщем, если кому интересно, нашелся такой рабочий вариант:
у поля формы:
КнопкаВыпадающегоСписка = истина
РежимВыбораИзСписка     = ложь
для того чтобы строить список значений в момент нажатия на треугольничек срабатывает только одно событие "Автоподбор"(НачалоВыбора и началовыбораизспика не срабатывают)
пишем следующее:
&НаКлиенте
Процедура ВыборЗаказаАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Список = Новый СписокЗначений();
    СформироватьСписокЗаказовНаСепрвереБезКонтекстаИзЗапроса(Список,Объект.владелец);
    ДанныеВыбора=список;
КонецПроцедуры
37 Aprobator
 
26.03.14
13:34
(36) Чудно. На днях делал также выбор из списка. Так такой код отработал на ура.

&НаКлиенте
Процедура ВыборЗаказаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;    
    ДанныеВыбора = Новый СписокЗначений();
    ........ // процедура заполнения списка
КонецПроцедуры
38 Aprobator
 
26.03.14
13:35
+(37) никакие обработки выбора при этом не прописывал.
39 Aprobator
 
26.03.14
13:37
пля -соррь. Делал в 8.2 .