Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 23:17
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

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

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

Оффлайн Katish

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-09
  • Сайт: 
  • Профессия: Программист 1С

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


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


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


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


&НаСервере
Функция ПолучитьСписокОценок(Дисциплина)
Оценки = Новый СписокЗначений;
...
Возврат Оценки;
КонецФункции


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


{Документ.ВыдачаСертификатов.Форма.ФормаДокумента.Форма(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

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Ошибка скорее всего у тебя вот тут:
Элемент.Родитель.ТекущиеДанные.Дисциплина //вообще не понятная строка...


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

Оффлайн Katish

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-09
  • Сайт: 
  • Профессия: Программист 1С
Ошибка скорее всего у тебя вот тут:
Код: [Выделить]
Элемент.Родитель.ТекущиеДанные.Дисциплина //вообще не понятная строка...


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

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

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Давайте выкладывайте сюда вашу базу... Будем смотреть
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Из синтаксис помощника!

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

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

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

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

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

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

Оффлайн Katish

  • *
  • Сообщений: 41
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-09
  • Сайт: 
  • Профессия: Программист 1С
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
То есть хотите сказать, что вообще нельзя в обработчике этого события вызывать серверные процедуры?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Это не я хочу сказать, это в СП написано!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

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

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

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

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

Ответов: 2
Просмотров: 297
Последний ответ 21 Сен 2017, 10:33
от Insider
Редактирование формы "Настройки пользователя".

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

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

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

Ответов: 2
Просмотров: 3418
Последний ответ 12 Июл 2013, 15:35
от mikel10
Как обратиться к функции модуля формы из модуля Менеджера?

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

Ответов: 6
Просмотров: 4999
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
51 Сообщений
oleg-x
44 Сообщений
andron81_81
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

* Облако тэгов

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

* Инструменты

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal