8.х WEB Выбор элемента из списка значений в УФ (web-клиент)

Тема в разделе ""1C:Web-Сервер"", создана пользователем lanna_oops, 21 фев 2011.

  1. TopicStarter Overlay
    lanna_oops
    Offline

    lanna_oops

    Регистрация:
    8 окт 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Добрый день! При разработке управляемой формы обработки столкнулась с некоторой проблемой.
    На форме есть элемент управления - список значений, связан он со реквизитом обработки типа Список Значений. Список элементов этого списка значений я определяю запросом в функции, созданной &НаСервере и процедуре &НаКлиенте этот результат запроса загружаю в список значений. Все хорошо работает, список в режиме тонкого, толстого и web-клентов открывается и эти значения там есть. Но, в web-клиенте почему то при выборе значения из этого списка он не фиксируется в списке выбора, то есть не выбирается. В толстом и тонком клиентах, все нормально выбирается. Подскажите, пожалуйста, что можно сделать, чтобы и в web-клиенте выбралось значение. Я предполагаю, что для этого поля нужно в обработчике события ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) что-то дописать, но что не знаю...то ли присвоить Элеметы.Поле.ВыделенныйТекст = ВыбранноеЗначение, то ли как то установить какой то признак выбранного элемента в значении Истина. Подскажите, пожалуйста.
  2. Dock
    Offline

    Dock

    Регистрация:
    21 дек 2014
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    хоть тема и старенькая... но зато сам только с подобным столкнулся.
    Итак, когда мы выносим реквизит на форму, и устанавливаем ему свойство «режим выбора из списка», то тип реквизита должен совпадать с типом "значение" - то значение, которое будет выбираться.

    "На форме есть элемент управления - список значений, связан он со реквизитом обработки типа Список Значений"
    Ошибка в том, что не нужно связывать с элементом "Список Значений".

    Например, в результате выбора я хочу получить номер выбранной строки.

    На форме размещаем поле выбора (ПолеВыбора1) и реквизит (Реквизит1: число, длина = 10, точность = 0).
    В качестве данных для редактирования в ПолеВыбора1 стоит реквизит Реквизит1.
    В теле модуля формы - следующий код:

    ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить(1, "Один");
    ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить(2, "Два");
    ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить(3, "Три");

    Инициализацию можно сделать и на самой форме, если список значений заранее известен и не будет изменяться.

    В результате получаем поле выбора, в котором будут выбираться значения Один/Два/Три, а при обращении к реквизиту Реквизит1 будем получать соответствующие числовые значения: 1/2/3

    никаких дополнительных обработчиков переназначать не нужно

    Если требуется значение не число, а к примеру "справочник" - это будет выглядеть так:
    реквизит (Реквизит1: СправочникСсылка.НазваниеСправочника).

    ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить(Справочники.НазваниеСправочника.Элемент1, "Один");
    ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить(Справочники.НазваниеСправочника.Элемент2, "Два");



    код "Элеметы.Поле.ВыделенныйТекст = ВыбранноеЗначение" вам ничего не даст - вы просто в поле ввода для списка выбора попытаетесь "что-то" вставить и не более. самого выбора не произойдет.

Поделиться этой страницей