Как в управляемой форме сделать список выбора

Как в управляемой форме сделать список выбора

Страницы: [1]   Вниз

Автор Тема: Выпадающий список в поле табличной части управляемой формы  (Прочитано 25232 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Katish


Есть в документе табличная часть.
В форме документа хочу поля одной из колонок (Оценка) табличной части заполнять при помощи выпадающего списка. Список значений должен формироваться в зависимости от значения поля той же строки (Дисциплина).

Установила галку в свойствах реквизита "Оценка":
Кнопка списка выбора - Да,
Использование кнопки выбора - Нет,
Быстрый выбор - Да.

Для события "НачалоВыбораИзСписка" назначаю процедуру ОценкаНачалоВыбораИзСписка().

Код: [Выделить]

&НаКлиенте
Процедура ОценкаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
// Заполним выпадающий список значений оценок
СписокОценок = ПолучитьСписокОценок(Элемент.Родитель.ТекущиеДанные.Дисциплина);
Для Каждого Оценка Из СписокОценок Цикл
Элементы.РезультатыОбученияОценка.СписокВыбора.Добавить(Оценка);
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ПолучитьСписокОценок(Дисциплина)
Оценки = Новый СписокЗначений;
...
Возврат Оценки;
КонецФункции

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

{Документ.ВыдачаСертификатов.Форма.ФормаДокумента.Форма(178)}: Ошибка при вызове метода контекста (ПолучитьСписокОценок)
   СписокОценок = ПолучитьСписокОценок(Элемент.Родитель.ТекущиеДанные.Дисциплина);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'valList':
   форма: Элемент
   имя: {http://v8.1c.ru/8.2/managed-application/logform}valList
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'value':
   форма: Элемент
   имя: {http://v8.1c.ru/8.1/data/core}value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ЭлементСпискаЗначений'

Если эту же процедуру ПолучитьСписокОценок() запускаю для установки отбора в форме выбора того же поля - всё ок...

Подскажите, как задать допустимые значения из выпадающего списка.

Оффлайн Dethmontt

Ошибка скорее всего у тебя вот тут:

Код: [Выделить]

Элемент.Родитель.ТекущиеДанные.Дисциплина //вообще не понятная строка...

Что вы пытаетесь передать на сервер? Это реквизит формы? Реквизит Табличной части? Или что это?

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Katish

Цитата: Dethmontt от 25 Ноя 2012, 01:10

Ошибка скорее всего у тебя вот тут:
Код: [Выделить]
Элемент.Родитель.ТекущиеДанные.Дисциплина //вообще не понятная строка...

Что вы пытаетесь передать на сервер? Это реквизит формы? Реквизит Табличной части? Или что это?


Это значение поля текущей строки в колонке "Дисциплина". Если в конфигураторе пошагово смотреть, то передаётся корректное значение Дисциплины в серверную функцию, та корректно отрабатывает и выдаёт совершенно верный список значений, цикл добавления этого списка в список выбора тоже проходит нормально. Но выпадающий список не появляется, а при повторном нажатии на кнопку выпадающего списка падает вышеописанная ошибка... Причём перед самым выходом ошибки, когда отладка находится на этой самой строке:

Код: [Выделить]

СписокОценок = ПолучитьСписокОценок(Элемент.Родитель.ТекущиеДанные.Дисциплина); Само значение, передаваемой функции, совершенно нормальное, а вот если вычислить выражание самой функции, то уже ошибка. И это только во второй раз, при первом вызове отрабатывает корректно.
В чём причина :dfbbdrfb:

Оффлайн Dethmontt

Давайте выкладывайте сюда вашу базу... Будем смотреть

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

Из синтаксис помощника!

Расширение поля формы для поля ввода (Form field extension for a text box)
НачалоВыбораИзСписка (StartListChoice)
Синтаксис:

НачалоВыбораИзСписка(<СтандартнаяОбработка>)
Параметры:

<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
Значение по умолчанию: Истина.
Описание:

Возникает в момент нажатия кнопки выбора из списка.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Katish

Цитата: Dethmontt от 25 Ноя 2012, 23:59

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

То есть хотите сказать, что вообще нельзя в обработчике этого события вызывать серверные процедуры?

Оффлайн Dethmontt

Это не я хочу сказать, это в СП написано!

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Страницы: [1]   Вверх

Теги:

 


Поле не найдено"ЗаказПокупателя.Услуги.Ссылка"<<?>>ЗаказПокупателя.Услуги.Ссылка

Автор romanprogrammistРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 7815 Последний ответ 05 Дек 2013, 00:01
от romanprogrammist Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 622 Последний ответ 21 Сен 2017, 10:33
от Insider Нужно в параметр запроса к РегистрБухгалтерии.Проводки.Остатки вставить вместо периода данные из другого запроса отчет СКД 8.3, обычные формы

Автор Св ЧРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 151 Последний ответ 10 Апр 2018, 14:00
от Св Ч Редактирование формы "Настройки пользователя".

Автор t955938Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5249 Последний ответ 03 Авг 2011, 11:45
от t955938 получаю значение реквизита формы, дает значение 0

Автор mikel10Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3788 Последний ответ 12 Июл 2013, 15:35
от mikel10

Живое общение

Не устроил ответ?


Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться


Реклама

Поиск

Последние задачи на разработку (фриланс)

Реклама

Последние вакансии

Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
164 Сообщений oleg-x
73 Сообщений alex0402
72 Сообщений AIFrame AIFrame
55 Сообщений wise wise
39 Сообщений KOI8-R
34 Сообщений buketov.av buketov.av
28 Сообщений pavl_vs
19 Сообщений Анюта17
19 Сообщений trialex3
18 Сообщений

Кто онлайн

  • ТочкаГостей: 198
  • ТочкаСкрытых: 0
  • ТочкаПользователей: 4
  • ТочкаСейчас на форуме:

Облако тэгов

Форум 1С с мобильного

Инструменты

Дополнительно


Как в управляемой форме сделать список выбора

Похожие записи:



Поздравления с днем рождения любимой красивыми своими словами

Котел для парной своими руками

Как своими руками сделать сыр из козьего молока