Про ошибку «Отсутствует отображение для типа ‘УправляемаяФорма'» |
Я |
09.04.12 — 14:09
ести общаяКоманда. при нажатии нужно получить форму для дальнейшей работы. режим кнопки одиночный.
печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрКоманды,КлючУникальности);
Ошибка преобразования данных XDTO:
Запись значения свойства ‘val’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/mngsrv/ws}val
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘УправляемаяФорма’
1 — 09.04.12 — 14:11
тип ПараметрыОткрытия мой документ, то есть ДокументСсылка.
2 — 09.04.12 — 14:13
ПараметрыОткрытия — это должна быть структура.
3 — 09.04.12 — 14:14
да ну нах. поставил и множественный режим кнопки. тоже самая ошибка.
4 — 09.04.12 — 14:16
ой сорри не ПараметрыОткрытия а ПараметрКоманды это ссылка на документ.
а ПараметрОткрытия это и ести структура.
5 — 09.04.12 — 14:18
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)
чо-то я не вижу тут параметров команды
6 — 09.04.12 — 14:19
<Владелец> (необязательный)
Владелец формы — форма или элемент управления другой формы.
7 — 09.04.12 — 14:22
печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия); ?
8 — 09.04.12 — 14:24
типа того
ФормаПечати = ПолучитьОбщуюФорму(«ПечатьДокументов»,, ПечДокумент);
глобальный поиск творит чудеса
9 — 09.04.12 — 14:25
указал ключь, без владельца, таже ошибка.
печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);
10 — 09.04.12 — 15:06
ап
11 — 09.04.12 — 15:11
Так таже самая ошибка. хз.
печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);
12 — 09.04.12 — 15:13
ты на сервере что ли форму получаешь?
13 — 09.04.12 — 15:16
(12)почему на сервере? директива компиляции общей команды -> НаКлиенте, где я вызываю метод получитьформу();
14 — 09.04.12 — 15:23
ap
15 — 09.04.12 — 15:31
—
16 — 09.04.12 — 15:37
А зачем тебе _получать_ форму? Ну и — форма точно управляемая? 🙂
17 — 09.04.12 — 15:40
(16) свойства формы показывает чт оона Управл.
мне нужно из формы кое-что достать. если это возможно.
18 — 09.04.12 — 15:43
(17) А если через ОткрытьФорму()? А если другую форму попробовать?
З.Ы. В упр. приложении обычно логика другая — открывается форма, куда передается все необходимое, и она уже дальше сама все делает.
19 — 09.04.12 — 15:45
(18) пытаюсь 2-мя методами. в первой передаю мой параметры а вторая вообще говорит что процедура не определена.
1. //печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);
2. печ = ПолучитьОбщуюФорму(«ОбщаяФорма.ПечатьДокументов»);
20 — 09.04.12 — 15:47
(19) ПолучитьОбщуюФорму получает обычную форму, не управляемую.
З.Ы. А что у нас в КлючУникальности?
21 — 09.04.12 — 15:50
понятно.
в Ключь новый Уник.Идентификатор
22 — 09.04.12 — 15:52
КлючУникальности = Строка(Новый УникальныйИдентификатор);
//
ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);
ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;
ПараметрыОткрытия.ИменаМакетов = «ТоварныйЧекДляПД»;
ПараметрыОткрытия.ПараметрКоманды = ПараметрКоманды;
ПараметрыОткрытия.ПараметрыПечати = ПараметрыВыполненияКоманды.Источник;
что я пытаюсь получить: текст печать из макета ТоварныйЧек(он там уже нарисованный) и отправить его на ФР.
23 — 09.04.12 — 16:09
вверх
24 — 09.04.12 — 16:16
Я для кого старался, (18) писал?
З.Ы. КлючУникальности = Новый УникальныйИдентификатор, так правильнее
25 — 09.04.12 — 16:21
(24)
КлючУникальности = Новый УникальныйИдентификатор;
//
ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);
ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;
ПараметрыОткрытия.ИменаМакетов = «ТоварныйЧекДляПД»;
ПараметрыОткрытия.ПараметрКоманды = ПараметрКоманды;
ПараметрыОткрытия.ПараметрыПечати = ПараметрыВыполненияКоманды.Источник;
//
// Откроем форму печати документов
ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);
ошибка как в начале ветки.
Ошибка отображения типов:
Отсутствует отображение для типа ‘УправляемаяФорма’
26 — 09.04.12 — 16:22
(25) блаблабла
Я так понимаю, первые строки ты из принципа не читаешь?
27 — 09.04.12 — 16:27
(26) если ты имеешь ввиду открыть любую другую общую форму то они открываются.
28 — 09.04.12 — 16:28
ПараметрыОткрытия.ПараметрыПечати = ПараметрыВыполненияКоманды.Источник;
Вот это закомментируй
29 — 09.04.12 — 16:31
+(28) Ну и ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрыВыполненияКоманды.Источник ,КлючУникальности);
30 — 09.04.12 — 16:31
(28) комментарии по этому поводу?
31 — 09.04.12 — 16:41
(30) Чего комментировать-то? Управляемая форма не сериализуется.
zippygrill
32 — 09.04.12 — 16:47
(31) понятно.
еще вопросик: можно получить текст который идет на печать из табл.док моей полученной формы?
Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.
Рассмотрим следующий модуль управляемой формы:
&НаСервере Функция ТестВызоваСервера(Форма) Форма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ТестВызоваСервера(ЭтаФорма); КонецПроцедуры
Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста). Правильным будет следующий код:
&НаСервере Функция ТестВызоваСервера() ЭтаФорма.ТолькоПросмотр = Истина; КонецФункции // ТестВызоваСервера() &НаКлиенте Процедура ПокупательПриИзменении(Элемент) //вызов контекстной серверной функции ТестВызоваСервера(); КонецПроцедуры
Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:
&НаКлиенте Процедура ПокупательПриИзменении(Элемент) //попытка передачи переменной локального контекста на сервер ОбщийМодульСервер.Тест(ЭтаФорма); КонецПроцедуры
Подумайте сами, чем можно заменить такой вызов
Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
Описание ошибки:
Ошибка при программировании, конфигурировании кода в 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)
Ошибка отображения типов: Отсутствует отображение для типа ‘ПолеФормы’
Автор Дммитррий, 14 ноя 2022, 13:26
0 Пользователей и 2 гостей просматривают эту тему.
Объясните что не так? И почему…
а куда ты его впихал или как посмотреть пытаешься?
NaumovAlexey, скрин не сразу вставился)
может так
&НаСервереБезКонтекста
Функция ПокупательПриИзмененииНаСервере(Покуматель)
возврат Покупатель.Скидка;
конецФункции;
&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
//передаем не элемент а реквизит
Объект.Скдика = ПокупательПриИзмененииНаСервере(Объект.Покупатель);
конецПроцедуры;
- 1 пользователь сказал спасибо!
если помогло нажмите: Спасибо!
Дммитррий, поторопся, исправил
если помогло нажмите: Спасибо!
LexaK, о, сработало, спасибо
Сергей
Местный
Сообщений: 8
Баллов: 15
Регистрация: 26.06.2022
#10
0
28.06.2022 13:36:40
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекущиеДанные = РаботаСоСпискамиДокументовКлиент.ПолучитьДанныеТекущейСтрокиСписка(
Элементы.Список, Элементы.Список.ТекущаяСтрока);
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если Поле = Элементы.Файлы Тогда
ОткрыватьЗакладкуФайлы=ПроверкаОткрытияЗаклФайлы(ЭтаФорма)
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуФайлы», ТекущиеДанные.Ссылка, ОткрыватьЗакладкуФайлы);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.ПодписанЭП Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуЭП», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.Задачи Тогда
ОткрытьФорму(«ОбщаяФорма.ПроцессыИЗадачи»,
Новый Структура(«Предмет», ТекущиеДанные.Ссылка),
ЭтаФорма);
Возврат;
КонецЕсли;
Если Поле = Элементы.ЕстьКатегории Тогда
ПараметрыОткрытия = Новый Структура(«Ключ, ОткрытьЗакладкуКатегории», ТекущиеДанные.Ссылка, Истина);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
Возврат;
КонецЕсли;
Если Поле = Элементы.СостояниеКонтроля Тогда
КонтрольКлиент.ОбработкаКомандыКонтроль(ТекущиеДанные.Ссылка, ЭтаФорма);
Возврат;
КонецЕсли;
ПараметрыОткрытия = Новый Структура(«Ключ», ТекущиеДанные.Ссылка);
ОткрытьФорму(«Справочник.ВнутренниеДокументы.ФормаОбъекта», ПараметрыОткрытия, Элементы.Список);
КонецПроцедуры
|
RUBYX 0 / 0 / 0 Регистрация: 13.02.2021 Сообщений: 39 |
||||
|
1 |
||||
Ошибка отображения типов10.05.2022, 09:53. Показов 1068. Ответов 5 Метки нет (Все метки)
Еще раз всем здравствуйте! Когда пытаюсь обменяться данными между мобильной и основной центральной базой, почему то выходит ошибка отображения типов: Отсутствует отображение для типа ‘ТаблицаЗначений'{Справочник.Пьесы.Форма.ФормаСпис ка.Форма}. Данные появляются в центральной базе после добавления данных в мобильной базе, но вот ошибка меня смущает Сам код вот (Мобильная платформа)
Если нужна дополнительная информация могу потом прикрепить или выгрузку обеих баз дать. Заранее спасибо
__________________
0 |
|
260 / 216 / 94 Регистрация: 07.04.2011 Сообщений: 1,334 |
|
|
10.05.2022, 15:52 |
2 |
|
Решение ПолучитьРезультатВБазе() почему это функция? Значение возврата то на клиенте нигде не используется
1 |
|
0 / 0 / 0 Регистрация: 13.02.2021 Сообщений: 39 |
|
|
10.05.2022, 18:29 [ТС] |
3 |
|
Вроде когда я писал «процедура», то мне ошибку выдавало, что нельзя использовать в процедуре или что-то типо такого, да и мы это по инструкционке делаем) Добавлено через 17 минут
0 |
|
260 / 216 / 94 Регистрация: 07.04.2011 Сообщений: 1,334 |
|
|
10.05.2022, 18:51 |
4 |
|
то мне ошибку выдавало, что нельзя использовать в процедуре Верно.Процедура не может возвращать значение.
Кстати спасибо, я просто удалил эту строку и все работает как надо!) Ну возможно оно где-то и должно использоваться.Тут вариант что результат должен возвращаться в процедуру с директивой «НаСервере» и обрабатываться,и предаваться на клиент в виде «простого типа».
1 |
|
0 / 0 / 0 Регистрация: 13.02.2021 Сообщений: 39 |
|
|
10.05.2022, 19:04 [ТС] |
6 |
|
Всем спасибо еще раз!
0 |
Возникает при открытии консоли после обновления типовой конфигурации, если открывается сохраненное дерево запросов
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/enterprise/current-config}DocumentRef.ПоступлениеВЛизинг’
{УниверсальныеИнструменты Обработка.УИ_КонсольЗапросов.Форма.Форма.Форма(1683)}: стЗагруженныеДанные = СериализаторXDTO.ПрочитатьXML(Чтение);
{УниверсальныеИнструменты Обработка.УИ_КонсольЗапросов.Форма.Форма.Форма(1697)}: стЗагруженныеДанные = ПакетЗапросов_ЗагрузитьНаСервере(стрЗагруженныеДанные);
{УниверсальныеИнструменты Обработка.УИ_КонсольЗапросов.Форма.Форма.Форма(2166)}: ПакетЗапросов_Загрузить(ИмяФайлаЗапросов);
{(1)}:ПриОткрытииПродолжение(ДополнительныеПараметры);
{УниверсальныеИнструменты Обработка.УИ_КонсольЗапросов.Форма.Форма.Форма(2065)}: Выполнить (ДополнительныеПараметры.Продолжение + «(ДополнительныеПараметры);»);
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/core}Structure Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}Structure
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Type Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}QName
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/enterprise/current-config}DocumentRef.ПоступлениеВЛизинг’
Сообщение было отмечено RUBYX как решение
