Модератор
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 — 17.03.11 — 09:58
где-там там между клиентом и сервером лежет такой тип данных который нельзя передать. Что-то типо фундаментального объект (справочник, документ и т.д.)
Ошибка возникает перед появлением формы или после?
4 — 17.03.11 — 09:58
«лежет » => лезет (т.е. передается)
5 — 17.03.11 — 09:59
Отсутствует отображение для типа ‘ПолеФормы’
…
ПараметрыФормы.Вставить(«ТекущаяСтрока»,Элемент);
Вопросы есть?
6 — 17.03.11 — 10:02
(0) В 8.2 для ссылочных значений есть связи параметров выбора. При правильной настройке их в Конфигураторе форма выбора открывается уже отфильтрованная. И не нужно городить сложный код в стиле обычного приложения.
7 — 17.03.11 — 10:10
(5) есть, что делать-то ?
(6) Пользователь захотел форму отбора с вынесенным фильтром по подразделению — им неудобно лезть в меню действия и тп…
8 — 17.03.11 — 10:12
(5) Убрал строку — теперь работает, но если открывает выбор в поле с уже выбранным сотрудником, список не позиционируется на нем :(((
Как сделать уже выбранного сотрудника текущим ?
9 — 17.03.11 — 10:13
(7) Ну, какбе… «Элемент» — это поле формы. А ты его пытаешься передать куда-то. Судя по названию, там должно быть что-нибудь другое все-таки.
10 — 17.03.11 — 10:14
(9) Ну как бы да…Элемент.Значение типа того ?
11 — 17.03.11 — 10:16
Ага, как получить текущее значение поля сотрудник табличной части сотрудники в момент выбора ?
12 — 17.03.11 — 10:18
ТабличнаяЧасть.ТекущиеДанные.Сотрудник
13 — 17.03.11 — 10:22
(12) {Документ.ИзменениеУсловийТруда.Форма.ФормаДокумента.Форма(531)}: Поле объекта не обнаружено (ТекущиеДанные)
ПараметрыФормы.Вставить(«ТекущаяСтрока»,Объект.Сотрудники.ТекущиеДанные.Сотруд
14 — 17.03.11 — 10:25
(13) Я говорил что-то про объект?
Элементы.ТабличнаяЧасть, забыл написть
15 — 17.03.11 — 10:27
(14) Действительно, при чем здесь Объект…
Иде я
16 — 17.03.11 — 10:28
(14) Гениально! Работает…вроде бы.
Ошибка отображения типов: Отсутствует отображение для типа ‘ПолеФормы’
Автор Дммитррий, 14 ноя 2022, 13:26
0 Пользователей и 1 гость просматривают эту тему.
Объясните что не так? И почему…
а куда ты его впихал или как посмотреть пытаешься?
NaumovAlexey, скрин не сразу вставился)
может так
&НаСервереБезКонтекста
Функция ПокупательПриИзмененииНаСервере(Покуматель)
возврат Покупатель.Скидка;
конецФункции;
&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
//передаем не элемент а реквизит
Объект.Скдика = ПокупательПриИзмененииНаСервере(Объект.Покупатель);
конецПроцедуры;
- 1 пользователь сказал спасибо!
если помогло нажмите: Спасибо!
Дммитррий, поторопся, исправил
если помогло нажмите: Спасибо!
LexaK, о, сработало, спасибо
Иде я
Модератор
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", Объект.Подразделение); ПараметрыФормы.Вставить("ТекущаяСтрока",Объект.ЗаменяемыйСотрудник); ФормаВыбора = ПолучитьФорму("Справочник.Сотрудники.Форма.ФормаВыбораПодразделение",ПараметрыФормы,Элементы.ЗаменяемыйСотрудник); ФормаВыбора.Подразделение = Объект.Подразделение; ФормаВыбора.ОтборПоПодразделению = Истина; ЭлементОтбора = ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подразделение"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = Объект.Подразделение; ФормаВыбора.Открыть(); ФормаВыбора.Элементы.Список.Обновить(); СтандартнаяОбработка=Ложь; КонецПроцедуры
xReason
3 — 17.03.11 — 09:58
где-там там между клиентом и сервером лежет такой тип данных который нельзя передать. Что-то типо фундаментального объект (справочник, документ и т.д.)
Ошибка возникает перед появлением формы или после?
xReason
4 — 17.03.11 — 09:58
«лежет » => лезет (т.е. передается)
Defender aka LINN
5 — 17.03.11 — 09:59
Отсутствует отображение для типа ‘ПолеФормы’
…
ПараметрыФормы.Вставить("ТекущаяСтрока",Элемент);
Вопросы есть?
detec
6 — 17.03.11 — 10:02
(0) В 8.2 для ссылочных значений есть связи параметров выбора. При правильной настройке их в Конфигураторе форма выбора открывается уже отфильтрованная. И не нужно городить сложный код в стиле обычного приложения.
Иде я
7 — 17.03.11 — 10:10
(5) есть, что делать-то ?
(6) Пользователь захотел форму отбора с вынесенным фильтром по подразделению — им неудобно лезть в меню действия и тп…
Иде я
8 — 17.03.11 — 10:12
(5) Убрал строку — теперь работает, но если открывает выбор в поле с уже выбранным сотрудником, список не позиционируется на нем :(((
Как сделать уже выбранного сотрудника текущим ?
Defender aka LINN
9 — 17.03.11 — 10:13
(7) Ну, какбе… «Элемент» — это поле формы. А ты его пытаешься передать куда-то. Судя по названию, там должно быть что-нибудь другое все-таки.
Иде я
10 — 17.03.11 — 10:14
(9) Ну как бы да…Элемент.Значение типа того ?
Иде я
11 — 17.03.11 — 10:16
Ага, как получить текущее значение поля сотрудник табличной части сотрудники в момент выбора ?
Defender aka LINN
12 — 17.03.11 — 10:18
ТабличнаяЧасть.ТекущиеДанные.Сотрудник
Иде я
13 — 17.03.11 — 10:22
(12) {Документ.ИзменениеУсловийТруда.Форма.ФормаДокумента.Форма(531)}: Поле объекта не обнаружено (ТекущиеДанные)
ПараметрыФормы.Вставить(«ТекущаяСтрока»,Объект.Сотрудники.ТекущиеДанные.Сотруд
Defender aka LINN
14 — 17.03.11 — 10:25
(13) Я говорил что-то про объект?
Элементы.ТабличнаяЧасть, забыл написть
Иде я
15 — 17.03.11 — 10:27
(14) Действительно, при чем здесь Объект…
Иде я
16 — 17.03.11 — 10:28
(14) Гениально! Работает…вроде бы.
Alwarus 0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
||||
1 |
||||
1C 8.x Открытие формы документа с заполнением данных из формы справочника13.07.2016, 22:39. Показов 9309. Ответов 7 Метки нет (Все метки)
Здравствуйте! И есть Документ, созданный на основании реестра сведений создал команду, которая открывает документ из формы справочника
Нужно, чтобы в форму документа передавалось значение Наименование (ФИО) из справочника, форма открывается, а оно не передается. Помогите плз.
__________________ 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
13.07.2016, 22:54 |
2 |
|||
Alwarus, почему не передается? Добавлено через 1 минуту
Добавлено через 2 минуты
ПараметрыФормы = Новый Структура(«Наименование», ПараметрКоманды);
ОткрытьФорму(«Документ.ПерсональныеДанные.Форма.Фо рмаДокумента», ПараметрыФормы, Но такой параметр ты должен обработать вручную в процедуре ПриСозданииНаСервере Добавлено через 2 минуты
ПараметрыФормы.Вставить(«ЗначенияЗаполнения», Новый Структура(«Пациент», ПараметрКоманды)); При таком подходе, у реквизита должна стоять галка «Заполнять из данных заполнения» 0 |
0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
|
14.07.2016, 07:41 [ТС] |
3 |
По второму варианту выдает ошибку: {Справочник.Пациент.Форма.ФормаЭлемента1.Форма(83) }: Ошибка при вызове метода контекста (ОткрытьФорму) Наверно и при этом надо создать процедуру ПриСозданииНаСервере. Или ПриОткрытии? 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
14.07.2016, 11:29 |
4 |
Alwarus, что стоит в Тип параметр команды — в свойствах команды? Добавлено через 3 минуты 0 |
Alwarus 0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
||||
14.07.2016, 13:47 [ТС] |
5 |
|||
Тип команды СправочникСсылка.Пациент Команды формы наверно можно использовать, создал кнопку на форме с командой в модуле объекта:
Выдает такую же ошибку. 0 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
14.07.2016, 14:48 |
6 |
|||
Сообщение было отмечено Alwarus как решение РешениеAlwarus,
Элементы.Наименование; Что это такое? Добавлено через 48 секунд
Добавлено через 3 минуты
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине: Ошибка о чем говорит? Что ты передаешь на сервере Хрень, сервер не знает таких типов как «ПолеФормы» 1 |
0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
|
14.07.2016, 21:03 [ТС] |
7 |
1 Заработало, спасибо! И за совет про Элемент тоже…)) Интересно получается, мы создаем структуру с ключом «ЗначенияЗаполнения» и значением, которое получаем созданием еще одной структуры с ключом по справочнику «Пациент» и значением-ссылкой на него, правильно? 0 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
14.07.2016, 21:09 |
8 |
правильно? Совершенно верно Добавлено через 1 минуту
Там же не было ссылки на элементы формы. Параметр может быть чем угодно, его нужно настраивать (может зависеть от группы и т.д.) 0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
14.07.2016, 21:09 |
Помогаю со студенческими работами здесь Открытие формы на добавление записи с автоматическим заполнением связанного поля Вызов значения из справочника в коде формы документа Открытие формы на добавления на основе данных из другой формы Очистка данных формы, открытие другой формы Автоматическое открытие формы справочника при переходе в Подсистему. Открытие формыдокумента во фрейме Столкнулся с проблемой, пока не знаю как её разрулить (все в web) 1. Есть… Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |
Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.
Рассмотрим следующий модуль управляемой формы:
&НаСервере Функция ТестВызоваСервера(Форма) Форма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ТестВызоваСервера(ЭтаФорма); КонецПроцедуры
Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма
доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста
). Правильным будет следующий код:
&НаСервере Функция ТестВызоваСервера() ЭтаФорма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //вызов контекстной серверной функции ТестВызоваСервера(); КонецПроцедуры
Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма
на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:
&НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ОбщийМодульСервер.Тест(ЭтаФорма); КонецПроцедуры
Подумайте сами, чем можно заменить такой вызов
Сергей
Местный
Сообщений: 8
Баллов: 15
Регистрация: 26.06.2022
#10
0
28.06.2022 13:36:40
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = РаботаСоСпискамиДокументовКлиент.ПолучитьДанныеТекущейСтрокиСписка(
Элементы.Список, Элементы.Список.ТекущаяСтрока);
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если Поле = Элементы.Файлы Тогда
ОткрыватьЗакладкуФайлы=ПроверкаОткрытияЗаклФайлы(ЭтаФорма)
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуФайлы», ТекущиеДанные.Ссылка, ОткрыватьЗакладкуФайлы);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.ПодписанЭП Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуЭП», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.Задачи Тогда
ОткрытьФорму(«ОбщаяФорма.ПроцессыИЗадачи»,
Новый Структура(«Предмет», ТекущиеДанные.Ссылка),
ЭтаФорма);
Возврат;
КонецЕсли;
Если Поле = Элементы.ЕстьКатегории Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуКатегории», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.СостояниеКонтроля Тогда
КонтрольКлиент.ОбработкаКомандыКонтроль(ТекущиеДанные.Ссылка, ЭтаФорма);
Возврат;
КонецЕсли;
ПараметрыОткрытия = Новый Структура(«Ключ», ТекущиеДанные.Ссылка);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
КонецПроцедуры
Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
Описание ошибки:
Ошибка при программировании, конфигурировании кода в 1С 8:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘value’:
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}value
Найденные решения:
Нажатие на изображении увеличит его
Возникла при написании кода индивидуальной конфигурации. Но, как оказалось, может подстерегать программиста из-за его невнимательности и при конфигурировании в других конфигурациях. Итак, в чем же причина возникновения данной ошибки. В управляемой форме был создан реквизит типа «СписокЗначений». При открытии формы по коду срабатывает обработчик заполнения этого списка значений. Т.е. в коде создается переменная с помощью конструктора «Новый СписокЗначений», значение которой потом и устанавливается реквизиту формы. Но, перед тем как это происходит, в коде список значений изменяется — в частности выполняется его дополнительная сортировка. Конечно, ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’» может возникнуть у Вас не только в такой ситуации. Сейчас разберемся в чем ее суть.
Как было отмечено в этой частной задаче выполняется сортировка исходного заполненного списка значений. Но, т.к. в этой частной задаче не подходило использование метода «СортироватьПоЗначению(<Направление>)«, т.к. сортировка более сложная (по текстовым данным с разделителями порядка, содержащих разделитель «.», пример: 1.1, 2.2, 2.2.1, 2.2.2, 3.1, 3.2, 3.3.1, 3.3.2). Поэтому сортировка выполнялась программно с созданием новой переменной типа «СписокЗначений» и ее заполнением по данным исходного списка.
После сохранения кода и попытки проверки появилась ошибка, текст которой приведен в начале страницы. Анализ данных через предмет отладки неявно, но показал ошибку.
Нажатие на изображении увеличит его
Не смотря на то, что в методической информации «Синтакс-помощника» 1С 8 указано, что значение элемента списка значений может быть любым (произвольным), все-таки для случая использования в управляемой форме в качестве реквизита накладывается ограничение по типу. И нельзя в значение такого списка значений поместить «ЭлементСискаЗначений» другого списка значений.
Т.е. для моего случая использования списка значений в управляемой форме в качестве реквизита ошибка была в коде, где происходило заполнение значений нового списка по данным исходного при сортировке.
Нажатие на изображении увеличит его
Было выполнено исправление в коде для обращения к значениям и передачи их в качестве значений нового списка значений.
Нажатие на изображении увеличит его
В данном случае значениями списка были значения примитивного тип «Строка», поэтому дальнейшая работа доработанного кода стала возможной. И это все-таки позволило реализовать задачу. Если у Вас будут другие типы, например ссылки, то продумывайте заранее, как будете упорядочить, возможно придется через другие универсальные объекты, например использование таблицы значений, и потом заполнять конечный список значений. Другие примитивные типы не проверялись, но предполагаю, что они так же подойдут для корректной работы в управляемой форме. в качестве значений списка. Поэтому учитывайте это, если столкнетесь с данной ошибкой при Вашем конфигурировании — подбирайте по возможности простой тип для значений списка.
Нажатие на изображении увеличит его
Таким образом на примере данной частной ситуации возникновения ошибки при конфигурировании в 1С 8 «Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа» извлекаем вывод о том, что нужно быть внимательным и не заполнять значения объекта «Список значений» элементами другого списка значений. А передавать значения элемента списка значений, если одна переменная типа «СписокЗначений» заполняется за счет другой подобной.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
16-03-2022
Журавлев А.С.
(Сайт azhur-c.ru)
Alwarus 0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
||||
1 |
||||
1C 8.x Открытие формы документа с заполнением данных из формы справочника13.07.2016, 22:39. Показов 10019. Ответов 7 Метки нет (Все метки)
Здравствуйте! И есть Документ, созданный на основании реестра сведений создал команду, которая открывает документ из формы справочника
Нужно, чтобы в форму документа передавалось значение Наименование (ФИО) из справочника, форма открывается, а оно не передается. Помогите плз.
0 |
Dethmontt Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
||||
13.07.2016, 22:54 |
2 |
|||
Alwarus, почему не передается? Добавлено через 1 минуту
Добавлено через 2 минуты
ПараметрыФормы = Новый Структура(«Наименование», ПараметрКоманды);
ОткрытьФорму(«Документ.ПерсональныеДанные.Форма.ФормаДокумента», ПараметрыФормы, Но такой параметр ты должен обработать вручную в процедуре ПриСозданииНаСервере Добавлено через 2 минуты
ПараметрыФормы.Вставить(«ЗначенияЗаполнения», Новый Структура(«Пациент», ПараметрКоманды)); При таком подходе, у реквизита должна стоять галка «Заполнять из данных заполнения»
0 |
0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
|
14.07.2016, 07:41 [ТС] |
3 |
По второму варианту выдает ошибку: {Справочник.Пациент.Форма.ФормаЭлемента1.Форма(83)}: Ошибка при вызове метода контекста (ОткрытьФорму) Наверно и при этом надо создать процедуру ПриСозданииНаСервере. Или ПриОткрытии?
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
14.07.2016, 11:29 |
4 |
Alwarus, что стоит в Тип параметр команды — в свойствах команды? Добавлено через 3 минуты
0 |
Alwarus 0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
||||
14.07.2016, 13:47 [ТС] |
5 |
|||
Тип команды СправочникСсылка.Пациент Команды формы наверно можно использовать, создал кнопку на форме с командой в модуле объекта:
Выдает такую же ошибку.
0 |
Dethmontt Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
||||
14.07.2016, 14:48 |
6 |
|||
Сообщение было отмечено Alwarus как решение РешениеAlwarus,
Элементы.Наименование; Что это такое? Добавлено через 48 секунд
Добавлено через 3 минуты
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине: Ошибка о чем говорит? Что ты передаешь на сервере Хрень, сервер не знает таких типов как «ПолеФормы»
1 |
0 / 0 / 0 Регистрация: 13.07.2016 Сообщений: 6 |
|
14.07.2016, 21:03 [ТС] |
7 |
1 Заработало, спасибо! И за совет про Элемент тоже…)) Интересно получается, мы создаем структуру с ключом «ЗначенияЗаполнения» и значением, которое получаем созданием еще одной структуры с ключом по справочнику «Пациент» и значением-ссылкой на него, правильно?
0 |
Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
|
14.07.2016, 21:09 |
8 |
правильно? Совершенно верно Добавлено через 1 минуту
Там же не было ссылки на элементы формы. Параметр может быть чем угодно, его нужно настраивать (может зависеть от группы и т.д.)
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
14.07.2016, 21:09 |
Помогаю со студенческими работами здесь Открытие формы на добавление записи с автоматическим заполнением связанного поля Вызов значения из справочника в коде формы документа Открытие формы на добавления на основе данных из другой формы Очистка данных формы, открытие другой формы Автоматическое открытие формы справочника при переходе в Подсистему. Открытие формыдокумента во фрейме Столкнулся с проблемой, пока не знаю как её разрулить (все в web) 1. Есть… Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 8 |
Добрый день, коллеги. Версия 1с 8.3 Проблема: в документе у меня 2 реквизита: КонтрагентВалюты и НомерПаспорта КонтрагентВалюты — ссылочный тип на Справочник «КонтрагентыВалюты» НомерПаспорта — строка 10 знаков. В справочнике «КонтрагентыВалюты» также есть реквизит НомерПаспорта, строка 10 симв. Я хочу, чтобы в форме документа после того, как выберу контрагента, в поле документа «НомерПаспорта» автоматически появился номер паспорта, взятый со справочника «КонтрагентыВалюты» для конкретного человека В модуле формы таков код: При запуске 1с в пользовательском режиме когда я вставляю Контрагента выдается сообщение: Ошибка отображения типа. Отсутствует отображение для типа «Поле формы» Когда я подробней просмотрел ошибку, то выдано следующее: {Документ.ПокупкаВалюты.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ПолучиНомерПаспорта) НомерПаспорта=ПолучиНомерПаспорта(Элементы.ПродавецВалюты); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства ‘param’: форма: Элемент имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа ‘ПолеФормы’ Подскажите пожалуйста, помогите. Заранее благодарен. Удачного дня!
в отладчике встань на строку НомерПаспорта=ПолучиНомерПаспорта(Элементы.ПродавецВалюты); и посмотри на тип Элементы.ПродавецВалюта
Как просмотреть тип функции или переменной при отладке в 1С
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям