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

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

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

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


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

Оффлайн Katish

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


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

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

Оффлайн Dethmontt

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

Оффлайн Dethmontt

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

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

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

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

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

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

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

Оффлайн Katish

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

Оффлайн Dethmontt

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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
152 Сообщений
oleg-x
64 Сообщений
alex0402
61 Сообщений
AIFrame AIFrame
52 Сообщений
wise wise
37 Сообщений
KOI8-R
33 Сообщений
buketov.av buketov.av
33 Сообщений
Alter
23 Сообщений
alexandr_ll
20 Сообщений
Анюта17
19 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal