|
|
Выбранное значение в поле выбора |
☑ |
|
0
AugustBlack
16.09.13
✎
07:32
|
Помогите, никак не вспомню, как правильно указать списку выбора выбранное значение. На форме есть поле выбора. При открытии формы заполняю его. При изменении сохраняю в значение реквизит "ЗаголовокПриказа". Ниже код:
СписокЗаголовков = Новый СписокЗначений;
СписокЗаголовков.Добавить("ОплатеВыхДня","Об оплате работы выходного дня");
СписокЗаголовков.Добавить("ОплатеВыхДней","Об оплате работы выходных дней");
СписокЗаголовков.Добавить("ОплатеПраздничДня","Об оплате работы праздничного дня");
СписокЗаголовков.Добавить("ОплатеПраздничДней" ,"Об оплате работы праздничных дней");
Попытка
ЭлементыФормы.ПолеПриказ.Значение = СписокЗаголовков.НайтиПоЗначению(ЗаголовокПриказа).Значение;
Исключение
//по-умолчанию
ЭлементыФормы.ПолеПриказ.Значение = СписокЗаголовков.НайтиПоЗначению("ОплатеВыхДня").Значение;
КонецПопытки;
В итоге на форме не показывает выбранное значение в списке выбора. Что не так?
|
|
|
1
Web00001
16.09.13
✎
08:11
|
Проверять лениво, но на первый взгляд, ты работаешь с одним списком а ищешь в другом, не?
ЗЫ с исключением ты конечно весело придумал, но его использовать вроде как рекомендуют только в случае если это действительно необходимо. Очень неудобно отлаживать такой код.
|
|
|
2
Галахад
гуру
16.09.13
✎
08:19
|
Что-то не понял. На форме список, а присваивается ему почему-то НЕ список.
|
|
|
3
Мимохожий Однако
16.09.13
✎
08:20
|
В процедуре формы ТвоёПолеНачалоВыбора()
СтандартнаяОбработка =Ложь;
..
ВыбрЗначение = Элемент.СписокЗаголовков.ВыбратьЭлемент();
..
и т.д.
Включи отладчик и поймешь, что надо выбрать
|
|
|
4
AugustBlack
16.09.13
✎
08:23
|
(2)перекопирую код:
Процедура ПриОткрытии()
Если ЭтоНовый() Тогда
ЗаполнениеДокументовПереопределяемый.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"));
КонецЕсли;
// Запомнить текущие значения реквизитов формы.
мТекущаяДатаДокумента = Дата;
// Получим и запомним ссылку на головную организацию
мГоловнаяОрганизация = ОбщегоНазначенияЗК.ГоловнаяОрганизация(Организация);
СписокЗаголовков = Новый СписокЗначений;
СписокЗаголовков.Добавить("ОплатеВыхДня","Об оплате работы выходного дня");
СписокЗаголовков.Добавить("ОплатеВыхДней","Об оплате работы выходных дней");
СписокЗаголовков.Добавить("ОплатеПраздничДня","Об оплате работы праздничного дня");
СписокЗаголовков.Добавить("ОплатеПраздничДней" ,"Об оплате работы праздничных дней");
//присвоение списка
ЭлементыФормы.ПолеПриказ.СписокВыбора = СписокЗаголовков;
Попытка
ЭлементыФормы.ПолеПриказ.Значение = СписокЗаголовков.НайтиПоЗначению(ЗаголовокПриказа).Значение;
Исключение
//по-умолчанию
ЭлементыФормы.ПолеПриказ.Значение = СписокЗаголовков.НайтиПоЗначению("ОплатеВыхДня").Значение;
КонецПопытки;
|
|
|
5
Мимохожий Однако
16.09.13
✎
08:31
|
ЭлементыФормы.ПолеПриказ.СписокВыбора = СписокЗаголовков;
встань отладчиков после этой строчки и убедись, что у тебя то что нужно.
..
|
|
|
6
AugustBlack
16.09.13
✎
08:38
|
(5) спасибо, разобрался. Проглядел на форме привязка к поля выбора к другому реквизиту была.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший