Имя: Пароль:
1C
1С v8
Выбранное значение в поле выбора
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) спасибо, разобрался. Проглядел на форме привязка к поля выбора к другому реквизиту была.
2 + 2 = 3.9999999999999999999999999999999...