![]() |
![]() |
|
8.2 Ошибка при открытии формы выбора | ☑ | ||
---|---|---|---|---|
0
Иде я
модератор
17.03.11
✎
09:55
|
Подскажите, делаю выбор из поля строки на управляемой форме в табличном поле:
Выходит ошибка: ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбораПодразделение",ПараметрыФормы,Элемент); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'val': форма: Элемент имя: {http://v8.1c.ru/8.2/mngsrv/ws}val по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ПолеФормы' |
|||
1
Иде я
17.03.11
✎
09:55
|
Вот код:
&НаКлиенте Процедура СотрудникиСотрудникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Вставить содержимое обработчика. ПараметрыФормы = Новый Структура("Подразделение1", Объект.Подразделение); ПараметрыФормы.Вставить("ТекущаяСтрока",Элемент); ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбораПодразделение",ПараметрыФормы,Элемент); ФормаВыбора.Подразделение = Объект.Подразделение; ФормаВыбора.ОтборПоПодразделению = Истина; ЭлементОтбора = ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подразделение"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Объект.Подразделение; ФормаВыбора.Открыть(); ФормаВыбора.Элементы.Список.Обновить(); СтандартнаяОбработка=Ложь; КонецПроцедуры |
|||
2
Иде я
17.03.11
✎
09:56
|
то же саамое, но при выборе не из таблицы, а из просто поля отрабатывает нормально:
&НаКлиенте Процедура ЗаменяемыйСотрудникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) // Вставить содержимое обработчика. ПараметрыФормы = Новый Структура("Подразделение1", Объект.Подразделение); ПараметрыФормы.Вставить("ТекущаяСтрока",Объект.ЗаменяемыйСотрудник); ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбораПодразделение",ПараметрыФормы,Элементы.ЗаменяемыйСотрудник); ФормаВыбора.Подразделение = Объект.Подразделение; ФормаВыбора.ОтборПоПодразделению = Истина; ЭлементОтбора = ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подразделение"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Объект.Подразделение; ФормаВыбора.Открыть(); ФормаВыбора.Элементы.Список.Обновить(); СтандартнаяОбработка=Ложь; КонецПроцедуры |
|||
3
xReason
17.03.11
✎
09:58
|
где-там там между клиентом и сервером лежет такой тип данных который нельзя передать. Что-то типо фундаментального объект (справочник, документ и т.д.)
Ошибка возникает перед появлением формы или после? |
|||
4
xReason
17.03.11
✎
09:58
|
"лежет " => лезет (т.е. передается)
|
|||
5
Defender aka LINN
17.03.11
✎
09:59
|
Отсутствует отображение для типа 'ПолеФормы'
... ПараметрыФормы.Вставить("ТекущаяСтрока",Элемент); Вопросы есть? |
|||
6
detec
17.03.11
✎
10:02
|
(0) В 8.2 для ссылочных значений есть связи параметров выбора. При правильной настройке их в Конфигураторе форма выбора открывается уже отфильтрованная. И не нужно городить сложный код в стиле обычного приложения.
|
|||
7
Иде я
17.03.11
✎
10:10
|
(5) есть, что делать-то ?
(6) Пользователь захотел форму отбора с вынесенным фильтром по подразделению - им неудобно лезть в меню действия и тп... |
|||
8
Иде я
17.03.11
✎
10:12
|
(5) Убрал строку - теперь работает, но если открывает выбор в поле с уже выбранным сотрудником, список не позиционируется на нем :(((
Как сделать уже выбранного сотрудника текущим ? |
|||
9
Defender aka LINN
17.03.11
✎
10:13
|
(7) Ну, какбе... "Элемент" - это поле формы. А ты его пытаешься передать куда-то. Судя по названию, там должно быть что-нибудь другое все-таки.
|
|||
10
Иде я
17.03.11
✎
10:14
|
(9) Ну как бы да...Элемент.Значение типа того ?
|
|||
11
Иде я
17.03.11
✎
10:16
|
Ага, как получить текущее значение поля сотрудник табличной части сотрудники в момент выбора ?
|
|||
12
Defender aka LINN
17.03.11
✎
10:18
|
ТабличнаяЧасть.ТекущиеДанные.Сотрудник
|
|||
13
Иде я
17.03.11
✎
10:22
|
(12) {Документ.ИзменениеУсловийТруда.Форма.ФормаДокумента.Форма(531)}: Поле объекта не обнаружено (ТекущиеДанные)
ПараметрыФормы.Вставить("ТекущаяСтрока",Объект.Сотрудники.ТекущиеДанные.Сотруд |
|||
14
Defender aka LINN
17.03.11
✎
10:25
|
(13) Я говорил что-то про объект?
Элементы.ТабличнаяЧасть, забыл написть :) |
|||
15
Иде я
17.03.11
✎
10:27
|
(14) Действительно, при чем здесь Объект...
|
|||
16
Иде я
17.03.11
✎
10:28
|
(14) Гениально! Работает...вроде бы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |