Ошибка отображения типов отсутствует отображение для типа управляемая форма

Про ошибку «Отсутствует отображение для типа ‘УправляемаяФорма'»

Я
   zippygrill

09.04.12 — 14:09

ести общаяКоманда. при нажатии нужно получить форму для дальнейшей работы. режим кнопки одиночный.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрКоманды,КлючУникальности);

Ошибка преобразования данных XDTO:

Запись значения свойства ‘val’:

   форма: Элемент

   имя: {http://v8.1c.ru/8.2/mngsrv/ws}val

по причине:

Ошибка отображения типов:

Отсутствует отображение для типа ‘УправляемаяФорма’

   zippygrill

1 — 09.04.12 — 14:11

тип ПараметрыОткрытия мой документ, то есть ДокументСсылка.

   vicof

2 — 09.04.12 — 14:13

ПараметрыОткрытия — это должна быть структура.

   zippygrill

3 — 09.04.12 — 14:14

да ну нах. поставил и множественный режим кнопки. тоже самая ошибка.

   zippygrill

4 — 09.04.12 — 14:16

ой сорри не ПараметрыОткрытия а ПараметрКоманды это ссылка на документ.

а ПараметрОткрытия это и ести структура.

   vicof

5 — 09.04.12 — 14:18

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

чо-то я не вижу тут параметров команды

   vicof

6 — 09.04.12 — 14:19

<Владелец> (необязательный)

Владелец формы — форма или элемент управления другой формы.

   zippygrill

7 — 09.04.12 — 14:22

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия); ?

   vicof

8 — 09.04.12 — 14:24

типа того

ФормаПечати = ПолучитьОбщуюФорму(«ПечатьДокументов»,, ПечДокумент);

глобальный поиск творит чудеса

   zippygrill

9 — 09.04.12 — 14:25

указал ключь, без владельца, таже ошибка.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

   zippygrill

10 — 09.04.12 — 15:06

ап

   zippygrill

11 — 09.04.12 — 15:11

Так таже самая ошибка. хз.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

   el-gamberro

12 — 09.04.12 — 15:13

ты на сервере что ли форму получаешь?

   zippygrill

13 — 09.04.12 — 15:16

(12)почему на сервере? директива компиляции общей команды -> НаКлиенте, где я вызываю метод получитьформу();

   zippygrill

14 — 09.04.12 — 15:23

ap

   zippygrill

15 — 09.04.12 — 15:31

   Defender aka LINN

16 — 09.04.12 — 15:37

А зачем тебе _получать_ форму? Ну и — форма точно управляемая? :)

   zippygrill

17 — 09.04.12 — 15:40

(16) свойства формы показывает чт оона Управл.

мне нужно из формы кое-что достать. если это возможно.

   Defender aka LINN

18 — 09.04.12 — 15:43

(17) А если через ОткрытьФорму()? А если другую форму попробовать?

З.Ы. В упр. приложении обычно логика другая — открывается форма, куда передается все необходимое, и она уже дальше сама все делает.

   zippygrill

19 — 09.04.12 — 15:45

(18) пытаюсь 2-мя методами. в первой передаю мой параметры а вторая вообще говорит что процедура не определена.

1. //печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

2. печ = ПолучитьОбщуюФорму(«ОбщаяФорма.ПечатьДокументов»);

   Defender aka LINN

20 — 09.04.12 — 15:47

(19) ПолучитьОбщуюФорму получает обычную форму, не управляемую.

З.Ы. А что у нас в КлючУникальности?

   zippygrill

21 — 09.04.12 — 15:50

понятно.

в Ключь новый Уник.Идентификатор

   zippygrill

22 — 09.04.12 — 15:52

КлючУникальности = Строка(Новый УникальныйИдентификатор);

   //

   ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);

   ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;

   ПараметрыОткрытия.ИменаМакетов         = «ТоварныйЧекДляПД»;

   ПараметрыОткрытия.ПараметрКоманды     = ПараметрКоманды;

   ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

что я пытаюсь получить: текст печать из макета ТоварныйЧек(он там уже нарисованный) и отправить его на ФР.

   zippygrill

23 — 09.04.12 — 16:09

вверх

   Defender aka LINN

24 — 09.04.12 — 16:16

Я для кого старался, (18) писал?

З.Ы. КлючУникальности = Новый УникальныйИдентификатор, так правильнее

   zippygrill

25 — 09.04.12 — 16:21

(24)

КлючУникальности = Новый УникальныйИдентификатор;

//

ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);

ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;

ПараметрыОткрытия.ИменаМакетов         = «ТоварныйЧекДляПД»;

ПараметрыОткрытия.ПараметрКоманды     = ПараметрКоманды;

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

//

// Откроем форму печати документов    

ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

ошибка как в начале ветки.

Ошибка отображения типов:

Отсутствует отображение для типа ‘УправляемаяФорма’

   Defender aka LINN

26 — 09.04.12 — 16:22

(25) блаблабла

Я так понимаю, первые строки ты из принципа не читаешь?

   zippygrill

27 — 09.04.12 — 16:27

(26) если ты имеешь ввиду открыть любую другую общую форму то они открываются.

   MSII

28 — 09.04.12 — 16:28

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

Вот это закомментируй

   MSII

29 — 09.04.12 — 16:31

+(28) Ну и ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрыВыполненияКоманды.Источник ,КлючУникальности);

   zippygrill

30 — 09.04.12 — 16:31

(28) комментарии по этому поводу?

   MSII

31 — 09.04.12 — 16:41

(30) Чего комментировать-то? Управляемая форма не сериализуется.

  

zippygrill

32 — 09.04.12 — 16:47

(31) понятно.

еще вопросик: можно получить текст который идет на печать из табл.док моей полученной формы?

Про ошибку «Отсутствует отображение для типа ‘УправляемаяФорма’»

Я

  

zippygrill

09.04.12 — 14:09

ести общаяКоманда. при нажатии нужно получить форму для дальнейшей работы. режим кнопки одиночный.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрКоманды,КлючУникальности);

Ошибка преобразования данных XDTO:

Запись значения свойства ‘val’:

   форма: Элемент

   имя: {http://v8.1c.ru/8.2/mngsrv/ws}val

по причине:

Ошибка отображения типов:

Отсутствует отображение для типа ‘УправляемаяФорма’

  

zippygrill

1 — 09.04.12 — 14:11

тип ПараметрыОткрытия мой документ, то есть ДокументСсылка.

  

vicof

2 — 09.04.12 — 14:13

ПараметрыОткрытия — это должна быть структура.

  

zippygrill

3 — 09.04.12 — 14:14

да ну нах. поставил и множественный режим кнопки. тоже самая ошибка.

  

zippygrill

4 — 09.04.12 — 14:16

ой сорри не ПараметрыОткрытия а ПараметрКоманды это ссылка на документ.

а ПараметрОткрытия это и ести структура.

  

vicof

5 — 09.04.12 — 14:18

ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>)

чо-то я не вижу тут параметров команды

  

vicof

6 — 09.04.12 — 14:19

<Владелец> (необязательный)

Владелец формы — форма или элемент управления другой формы.

  

zippygrill

7 — 09.04.12 — 14:22

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия); ?

  

vicof

8 — 09.04.12 — 14:24

типа того

ФормаПечати = ПолучитьОбщуюФорму(«ПечатьДокументов»,, ПечДокумент);

глобальный поиск творит чудеса

  

zippygrill

9 — 09.04.12 — 14:25

указал ключь, без владельца, таже ошибка.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

  

zippygrill

10 — 09.04.12 — 15:06

ап

  

zippygrill

11 — 09.04.12 — 15:11

Так таже самая ошибка. хз.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

  

el-gamberro

12 — 09.04.12 — 15:13

ты на сервере что ли форму получаешь?

  

zippygrill

13 — 09.04.12 — 15:16

(12)почему на сервере? директива компиляции общей команды -> НаКлиенте, где я вызываю метод получитьформу();

  

zippygrill

14 — 09.04.12 — 15:23

ap

  

zippygrill

15 — 09.04.12 — 15:31

  

Defender aka LINN

16 — 09.04.12 — 15:37

А зачем тебе _получать_ форму? Ну и — форма точно управляемая? :)

  

zippygrill

17 — 09.04.12 — 15:40

(16) свойства формы показывает чт оона Управл.

мне нужно из формы кое-что достать. если это возможно.

  

Defender aka LINN

18 — 09.04.12 — 15:43

(17) А если через ОткрытьФорму()? А если другую форму попробовать?

З.Ы. В упр. приложении обычно логика другая — открывается форма, куда передается все необходимое, и она уже дальше сама все делает.

  

zippygrill

19 — 09.04.12 — 15:45

(18) пытаюсь 2-мя методами. в первой передаю мой параметры а вторая вообще говорит что процедура не определена.

1. //печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

2. печ = ПолучитьОбщуюФорму(«ОбщаяФорма.ПечатьДокументов»);

  

Defender aka LINN

20 — 09.04.12 — 15:47

(19) ПолучитьОбщуюФорму получает обычную форму, не управляемую.

З.Ы. А что у нас в КлючУникальности?

  

zippygrill

21 — 09.04.12 — 15:50

понятно.

в Ключь новый Уник.Идентификатор

  

zippygrill

22 — 09.04.12 — 15:52

КлючУникальности = Строка(Новый УникальныйИдентификатор);

   //

   ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);

   ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;

   ПараметрыОткрытия.ИменаМакетов         = «ТоварныйЧекДляПД»;

   ПараметрыОткрытия.ПараметрКоманды     = ПараметрКоманды;

   ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

что я пытаюсь получить: текст печать из макета ТоварныйЧек(он там уже нарисованный) и отправить его на ФР.

  

zippygrill

23 — 09.04.12 — 16:09

вверх

  

Defender aka LINN

24 — 09.04.12 — 16:16

Я для кого старался, (18) писал?

З.Ы. КлючУникальности = Новый УникальныйИдентификатор, так правильнее

  

zippygrill

25 — 09.04.12 — 16:21

(24)

КлючУникальности = Новый УникальныйИдентификатор;

//

ПараметрыОткрытия = Новый Структура(«ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати»);

ПараметрыОткрытия.ИмяМенеджераПечати = «Документ.ЧекККМ»;

ПараметрыОткрытия.ИменаМакетов         = «ТоварныйЧекДляПД»;

ПараметрыОткрытия.ПараметрКоманды     = ПараметрКоманды;

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

//

// Откроем форму печати документов    

ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

ошибка как в начале ветки.

Ошибка отображения типов:

Отсутствует отображение для типа ‘УправляемаяФорма’

  

Defender aka LINN

26 — 09.04.12 — 16:22

(25) блаблабла

Я так понимаю, первые строки ты из принципа не читаешь?

  

zippygrill

27 — 09.04.12 — 16:27

(26) если ты имеешь ввиду открыть любую другую общую форму то они открываются.

  

MSII

28 — 09.04.12 — 16:28

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник;

Вот это закомментируй

  

MSII

29 — 09.04.12 — 16:31

+(28) Ну и ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрыВыполненияКоманды.Источник ,КлючУникальности);

  

zippygrill

30 — 09.04.12 — 16:31

(28) комментарии по этому поводу?

  

MSII

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

Найденные решения:

1C 8 Ошибка отображения типов: Отсутствует отображение для типа ЭлементСпискаЗначений,

Нажатие на изображении увеличит его
1C 8, Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа

Возникла при написании кода индивидуальной конфигурации. Но, как оказалось, может подстерегать программиста из-за его невнимательности и при конфигурировании в других конфигурациях. Итак, в чем же причина возникновения данной ошибки. В управляемой форме был создан реквизит типа «СписокЗначений». При открытии формы по коду срабатывает обработчик заполнения этого списка значений. Т.е. в коде создается переменная с помощью конструктора «Новый СписокЗначений», значение которой потом и устанавливается реквизиту формы. Но, перед тем как это происходит, в коде список значений изменяется — в частности выполняется его дополнительная сортировка. Конечно, ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’» может возникнуть у Вас не только в такой ситуации. Сейчас разберемся в чем ее суть.

1С 8, Ошибка для типа ЭлементСпискаЗначений, передачи данных между клиентом и сервером, значение недопустимого типа, по причине, ошибка преобразования данных XDTO

Как было отмечено в этой частной задаче выполняется сортировка исходного заполненного списка значений. Но, т.к. в этой частной задаче не подходило использование метода «СортироватьПоЗначению(<Направление>)«, т.к. сортировка более сложная (по текстовым данным с разделителями порядка, содержащих разделитель «.», пример: 1.1, 2.2, 2.2.1, 2.2.2, 3.1, 3.2, 3.3.1, 3.3.2). Поэтому сортировка выполнялась программно с созданием новой переменной типа «СписокЗначений» и ее заполнением по данным исходного списка.

После сохранения кода и попытки проверки появилась ошибка, текст которой приведен в начале страницы. Анализ данных через предмет отладки неявно, но показал ошибку.

Нажатие на изображении увеличит его

1C 8, как устранить, исправить ошибку, ошибка преобразования данных XDTO, отсутствует отображение для типа ЭлементСпискаЗначений

Не смотря на то, что в методической информации «Синтакс-помощника» 1С 8 указано, что значение элемента списка значений может быть любым (произвольным), все-таки для случая использования в управляемой форме в качестве реквизита накладывается ограничение по типу. И нельзя в значение такого списка значений поместить «ЭлементСискаЗначений» другого списка значений.

1С 8, какие значения могут быть у списказначений, исключения для управляемой формы

Т.е. для моего случая использования списка значений в управляемой форме в качестве реквизита ошибка была в коде, где происходило заполнение значений нового списка по данным исходного при сортировке.

Нажатие на изображении увеличит его

Было выполнено исправление в коде для обращения к значениям и передачи их в качестве значений нового списка значений. 

Нажатие на изображении увеличит его
1С 8, в чем причина ошибки в форме, отсутствует отображение для типа Элемент списка значений, ошибка отображения типов

В данном случае значениями списка были значения примитивного тип «Строка», поэтому дальнейшая работа доработанного кода стала возможной. И это все-таки позволило реализовать задачу. Если у Вас будут другие типы, например ссылки, то продумывайте заранее, как будете упорядочить, возможно придется через другие универсальные объекты, например использование таблицы значений, и потом заполнять конечный список значений. Другие примитивные типы не проверялись, но предполагаю, что они так же подойдут для корректной работы в управляемой форме. в качестве значений списка. Поэтому учитывайте это, если столкнетесь с данной ошибкой при Вашем конфигурировании — подбирайте по возможности простой тип для значений списка.

Нажатие на изображении увеличит его
1С 8, в чем, причина ошибки, как устранить, Ошибка передачи данных между клиентом и сервером, отсутствует отображение для типа элемент списка значений

Таким образом на примере данной частной ситуации возникновения ошибки при конфигурировании в 1С 8 «Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа» извлекаем вывод о том, что нужно быть внимательным и не заполнять значения объекта «Список значений» элементами другого списка значений. А передавать значения элемента списка значений, если одна переменная типа «СписокЗначений» заполняется за счет другой подобной.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

16-03-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Ошибка отображения типов: Отсутствует отображение для типа ‘ПолеФормы’

Автор Дммитррий, 14 ноя 2022, 13:26

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

Объясните что не так? И почему…13124.jpg


а куда ты его впихал или как посмотреть пытаешься?


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

Метки нет (Все метки)


Еще раз всем здравствуйте! Когда пытаюсь обменяться данными между мобильной и основной центральной базой, почему то выходит ошибка отображения типов: Отсутствует отображение для типа ‘ТаблицаЗначений'{Справочник.Пьесы.Форма.ФормаСпис ка.Форма}. Данные появляются в центральной базе после добавления данных в мобильной базе, но вот ошибка меня смущает

Сам код вот (Мобильная платформа)

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 &НаСервере Процедура ПолучитьПьесы()     Попытка         HTTPСоединение=Новый HTTPСоединение("192.168.43.241",,,,,30);           HTTPЗапрос=Новый HTTPЗапрос("/CenterMaxServer/hs/HTTPEx");           HTTPЗапрос.Заголовки.Вставить("Content-Type","text/html; charset=utf-8;");         ОтветСервера=HTTPСоединение.Получить(HTTPЗапрос);         Если ОтветСервера.КодСостояния=200 Тогда             ДанныеСервера=Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));               Для Каждого СтрокаСервер Из ДанныеСервера Цикл                 Пьеса=Справочники.Пьесы.НайтиПоНаименованию(СтрокаСервер.Наименование);                 Если Пьеса.Пустая() Тогда                     Пьеса=Справочники.Пьесы.СоздатьЭлемент();                 Пьеса.Наименование=СтрокаСервер.Наименование;              Иначе                                                               Пьеса=Пьеса.ПолучитьОбъект();                             КонецЕсли;                 Пьеса.Записать();                             КонецЦикла;         Иначе             Попытка                 Сообщить(Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8")));             Исключение                 Сообщить(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));                 КонецПопытки;             КонецЕсли;     Исключение             Сообщить("Возникла проблема с интернетом");     КонецПопытки; КонецПроцедуры    &НаСервере Функция Сериализовать(ТелоJSON)     ЗаписьJSON=Новый ЗаписьJSON;     ЗаписьJSON.УстановитьСтроку();     СжатыйОбъект=Новый ХранилищеЗначения(ТелоJSON, Новый СжатиеДанных(9));     СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, СжатыйОБъект);     Возврат СтрЗаменить(ЗаписьJSON.Закрыть(),"#","_РЕШЕТКА_"); КОнецФункцИИ    &НаСервере Функция Десериализовать(СтрокаJSON)     ЧтениеJSON=Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(СтрЗаменить(СтрокаJSON,"_РЕШЕТКА_","#")); СЖатыйОбъект=СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON, Тип("ХранилищеЗначения")); ЧтениеJSON.Закрыть(); Возврат СжатыйОбъект.Получить(); КОнецФУНКциИ   &НаКлиенте Процедура Обновить(Команда)     ПолучитьПьесы(); КонецПроцедуры    &НаСервере Функция ПолучитьРезультатВБазе()     Запрос = Новый Запрос;     Запрос.Текст =         "ВЫБРАТЬ         |   Пьесы.Наименование КАК Наименование         |ИЗ         |   Справочник.Пьесы КАК Пьесы";     СтрТела = Запрос.Выполнить().Выгрузить();       Попытка         HTTPСоединение=Новый HTTPСоединение("192.168.43.241",,,,,30);           HTTPЗапрос=Новый HTTPЗапрос("/CenterMaxServer/hs/HTTPEx/plays");           HTTPЗапрос.Заголовки.Вставить("Content-Type","text/html; charset=utf-8;");           HTTPЗапрос.УстановитьТелоИзСтроки(Сериализовать(СтрТела));         ОтветСервера=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);         Если ОтветСервера.КодСостояния=200 Тогда             Возврат Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));               Иначе             Попытка                 Сообщить(Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку("UTF8")));             Исключение                 Сообщить(ОтветСервера.ПолучитьТелоКакСтроку("UTF8"));                 КонецПопытки;             КонецЕсли;     Исключение             Сообщить("Возникла проблема с интернетом");         КонецПопытки;           КонецФункции             &НаКлиенте         Процедура ОтправитьДанные(Команда)             ПолучитьРезультатВБазе();         КонецПроцедуры

Если нужна дополнительная информация могу потом прикрепить или выгрузку обеих баз дать. Заранее спасибо

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

260 / 216 / 94

Регистрация: 07.04.2011

Сообщений: 1,334

10.05.2022, 15:52

2

Лучший ответ Сообщение было отмечено RUBYX как решение

Решение

ПолучитьРезультатВБазе() почему это функция? Значение возврата то на клиенте нигде не используется
Если ОтветСервера.КодСостояния=200 Тогда
Возврат Десериализовать(ОтветСервера.ПолучитьТелоКакСтроку («UTF8»));
Вот тут возможно летит мутабельное значение .

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

Цитата
Сообщение от RUBYX
Посмотреть сообщение

то мне ошибку выдавало, что нельзя использовать в процедуре

Верно.Процедура не может возвращать значение.

Цитата
Сообщение от RUBYX
Посмотреть сообщение

Кстати спасибо, я просто удалил эту строку и все работает как надо!)

Ну возможно оно где-то и должно использоваться.Тут вариант что результат должен возвращаться в процедуру с директивой «НаСервере» и обрабатываться,и предаваться на клиент в виде «простого типа».

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.ПоступлениеВЛизинг’

16.01.202013.05.2023Ошибки

Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.

Рассмотрим следующий модуль управляемой формы:

&НаСервере
Функция ТестВызоваСервера(Форма)

	Форма.ТолькоПросмотр = Истина;

КонецФункции // ТестВызоваСервера()

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//попытка передачи переменной локального контекста на сервер
	ТестВызоваСервера(ЭтаФорма);
	
КонецПроцедуры

Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста). Правильным будет следующий код:

&НаСервере
Функция ТестВызоваСервера()

	ЭтаФорма.ТолькоПросмотр = Истина;	

КонецФункции // ТестВызоваСервера()

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//вызов контекстной серверной функции
	ТестВызоваСервера();
	
КонецПроцедуры

Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//попытка передачи переменной локального контекста на сервер
	ОбщийМодульСервер.Тест(ЭтаФорма);
	
КонецПроцедуры

Подумайте сами, чем можно заменить такой вызов

Поделиться страницей в соц.сетях

Метки: Метки Управляемые формы

Классика: Ошибка отображения типов: Отсутствует отображение для типа

Я

TrueBuild

26.02.22 — 00:00

Пытаюсь открыть одну форму из другой, передавая туда параметры. В параметрах только ссылки и простые типы, никакие таблицы значений не передаю:

https://disk.yandex.ru/i/bTk0282HaaGC2Q

https://disk.yandex.ru/i/Y2undFzJ11HVSQ

Получаю ошибку:

Ошибка отображения типов:

Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’

Не могу понять, что не так?

Причем процедура ПриСозданииНаСервере() открываемой формы отрабатывает без ошибок. Ошибка возникает, когда вызов возвращается в ОткрытьФорму().

Подскажите, что делаю не так, в чем ошибка?

vicof

1 — 26.02.22 — 00:12

А 1ска говорит, что передаешь

МихаилМ

2 — 26.02.22 — 00:15

(0) Почитайте раздел рекомендации правил форума.

TrueBuild

3 — 26.02.22 — 00:34

(1) Поэтому и не понимаю, где ошибка. Вижу, что говорит, но так же вижу и в отладке, что я передаю — см. 2 скриншот, там ТЗ нет, только ссылки и простые типы.

(2) Если вы про поиск, то, естественно, им пользовался, ответа на свой вопрос не нашел.

H A D G E H O G s

4 — 26.02.22 — 00:50

(0) Ты ТаблицуЗначений в каком то из параметров возвращаешь с сервера. Скинь конфигу

TrueBuild

5 — 26.02.22 — 01:14

(4) По завершению процедуры ПриСозданииНаСервере, когда вызов возвращается обратно на клиент, в параметрах так же нет никакой ТЗ, так же только ссылки и простые типы:

https://disk.yandex.ru/i/qezDhmDrPg1Mjg

H A D G E H O G s

6 — 26.02.22 — 02:33

(5) Скинь Cf на liveups@yandex.ru

pechkin

7 — 26.02.22 — 07:30

Тз это не реквизит формы?

МимохожийОднако

8 — 26.02.22 — 07:59

Вместо ТЗ надо передавать массив.

SuperMario

9 — 26.02.22 — 09:11

>> Причем процедура ПриСозданииНаСервере() открываемой формы отрабатывает без ошибок. Ошибка возникает, когда вызов возвращается в ОткрытьФорму()

Значит скрины не актуальны. Вы нас в заблуждение ими вводите.

"Курите" код по всем событиям в открываемой форме , начина с ПриСозданииНаСервере()

SuperMario

10 — 26.02.22 — 09:12

Вы с сервера на клиент в уже откываемой форме что-то универсальное передаете.

TrueBuild

11 — 26.02.22 — 09:31

Всем спасибо, разобрался, проблема оказалась в другом. (5) Вот тут на скрине полностью не видно, но в открываемой форме я создаю ТЗ и пытаюсь передать ее в качестве параметра в динамический список, чего, оказывается делать нельзя.

Ввело в заблуждение то, что исключение вызывалось после вызова ОткрытьФорму(), а само создание формы (ПриСозданииНаСервере) отрабатывало без ошибок.

ДедМорроз

12 — 26.02.22 — 14:24

ТаблицуЗначений передать с сервера на клиента нельзя.

Как ни странно,но создать ТЗ можно в толстом клиенте и с ухищрениями в тонком,а передать нельзя,так как ограничение искуственное.

acht

13 — 26.02.22 — 16:07

(12) > и с ухищрениями в тонком

Веб клиент — достаточно тонкий?

  

ДедМорроз

14 — 26.02.22 — 19:56

Есть несколько видов клиентов:

Толстый клиент,

Тонкий клиент,

Web-клиент,

Мобильный клиент.

В последних двух никакого намека на таблицу значений,так как ее там никогда не было.

Данная ошибка возникает в тот момент, когда Вы пытаетесь вызвать серверный метод и передаете ему в качестве параметра управляемую форму.

Рассмотрим следующий модуль управляемой формы:

&НаСервере
Функция ТестВызоваСервера(Форма)

	Форма.ТолькоПросмотр = Истина;

КонецФункции // ТестВызоваСервера()

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//попытка передачи переменной локального контекста на сервер
	ТестВызоваСервера(ЭтаФорма);
	
КонецПроцедуры

Дело в том, что в контексте модуля управляемой формы переменная ЭтаФорма доступна всегда (как на клиенте, так и на сервере) и дополнительно ее передавать не требуется (если только вы не вызываете процедуру или функцию, перед которой указана директива &НаСервереБезКонтекста). Правильным будет следующий код:

&НаСервере
Функция ТестВызоваСервера()

	ЭтаФорма.ТолькоПросмотр = Истина;	

КонецФункции // ТестВызоваСервера()

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//вызов контекстной серверной функции
	ТестВызоваСервера();
	
КонецПроцедуры

Аналогичное замечание относится к серверным вызовам. Вы не можете передать содержимое переменной ЭтаФорма на сервер. Вы можете только запросить необходимую информацию на сервере и изменить форму в контексте клиента, либо реализовать это через серверный метод самой формы. Например, такой код работать не будет:

&НаКлиенте
Процедура ПокупательПриИзменении(Элемент)
	
	//попытка передачи переменной локального контекста на сервер
	ОбщийМодульСервер.Тест(ЭтаФорма);
	
КонецПроцедуры

Подумайте сами, чем можно заменить такой вызов

Alwarus

0 / 0 / 0

Регистрация: 13.07.2016

Сообщений: 6

1

1C 8.x

Открытие формы документа с заполнением данных из формы справочника

13.07.2016, 22:39. Показов 9309. Ответов 7

Метки нет (Все метки)


Здравствуйте!
Платформа 1с 8.3, пытаюсь создать базу пациентов.))
Есть Справочник с формой элемента

Открытие формы документа с заполнением данных из формы справочника

И есть Документ, созданный на основании реестра сведений

Открытие формы документа с заполнением данных из формы справочника

создал команду, которая открывает документ из формы справочника

1C
1
2
3
4
5
6
7
8
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПараметрыФормы = Новый Структура("Наименование", ПараметрКоманды);
    ПараметрыФормы.Вставить("Отбор", Новый Структура("Пациент", ПараметрКоманды));
    ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумента", ПараметрыФормы,
                ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность,
                ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
    КонецПроцедуры

Нужно, чтобы в форму документа передавалось значение Наименование (ФИО) из справочника, форма открывается, а оно не передается. Помогите плз.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

13.07.2016, 22:54

2

Alwarus, почему не передается?

Добавлено через 1 минуту

1C
1
2
//ПараметрыФормы.Вставить("Отбор", Новый Структура("Пациент", ПараметрКоманды));
ПараметрыФормы.Вставить("ЗначенияЗаполнения", Новый Структура("Пациент", ПараметрКоманды));

Добавлено через 2 минуты
Alwarus, ты его туда передал вот так

Цитата
Сообщение от Alwarus
Посмотреть сообщение

ПараметрыФормы = Новый Структура(«Наименование», ПараметрКоманды);

Цитата
Сообщение от Alwarus
Посмотреть сообщение

ОткрытьФорму(«Документ.ПерсональныеДанные.Форма.Фо рмаДокумента», ПараметрыФормы,

Но такой параметр ты должен обработать вручную в процедуре ПриСозданииНаСервере

Добавлено через 2 минуты

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

ПараметрыФормы.Вставить(«ЗначенияЗаполнения», Новый Структура(«Пациент», ПараметрКоманды));

При таком подходе, у реквизита должна стоять галка «Заполнять из данных заполнения»

0

0 / 0 / 0

Регистрация: 13.07.2016

Сообщений: 6

14.07.2016, 07:41

 [ТС]

3

По второму варианту выдает ошибку:

{Справочник.Пациент.Форма.ФормаЭлемента1.Форма(83) }: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму(«Документ.ПерсональныеДанные.Форма.Фо рмаДокумента», ПараметрыФормы);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘val’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/mngsrv/ws}val
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ПолеФормы’

Наверно и при этом надо создать процедуру ПриСозданииНаСервере. Или ПриОткрытии?

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

14.07.2016, 11:29

4

Alwarus, что стоит в Тип параметр команды — в свойствах команды?

Добавлено через 3 минуты
Alwarus, и почему нельзя использовать команды формы?

0

Alwarus

0 / 0 / 0

Регистрация: 13.07.2016

Сообщений: 6

14.07.2016, 13:47

 [ТС]

5

Тип команды СправочникСсылка.Пациент

Команды формы наверно можно использовать, создал кнопку на форме с командой в модуле объекта:

1C
1
2
3
4
5
6
7
&НаКлиенте
Процедура ВвестиПД(Команда)
    СсылкаНаЭлемент = Элементы.Наименование;
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", СсылкаНаЭлемент);   
    ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумента", ПараметрыФормы);
 
КонецПроцедуры

Выдает такую же ошибку.

0

Dethmontt

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

14.07.2016, 14:48

6

Лучший ответ Сообщение было отмечено Alwarus как решение

Решение

Alwarus,

Цитата
Сообщение от Alwarus
Посмотреть сообщение

Элементы.Наименование;

Что это такое?

Добавлено через 48 секунд

1C
1
2
    ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", Новый Структура("Пациент", Объект.Ссылка));    
    ОткрытьФорму("Документ.ПерсональныеДанные.Форма.ФормаДокумента", ПараметрыФормы);

Добавлено через 3 минуты

Цитата
Сообщение от Alwarus
Посмотреть сообщение

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.

Цитата
Сообщение от Alwarus
Посмотреть сообщение

по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘ПолеФормы’

Ошибка о чем говорит?

Что ты передаешь на сервере Хрень, сервер не знает таких типов как «ПолеФормы»
Забудь навсегда слово ЭЛЕМЕНТЫ. к данным так обращаться НЕЛЬЗЯ!

1

0 / 0 / 0

Регистрация: 13.07.2016

Сообщений: 6

14.07.2016, 21:03

 [ТС]

7

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

1
2
ПараметрыФормы = Новый Структура(«ЗначенияЗаполнения», Новый Структура(«Пациент», Объект.Ссылка));
ОткрытьФорму(«Документ.ПерсональныеДанные.Форма.Фо рмаДокумента», ПараметрыФормы);

Заработало, спасибо! И за совет про Элемент тоже…)) Интересно получается, мы создаем структуру с ключом «ЗначенияЗаполнения» и значением, которое получаем созданием еще одной структуры с ключом по справочнику «Пациент» и значением-ссылкой на него, правильно?
А почему выдает такую же ошибку при работе с командой справочника? Там же не было ссылки на элементы формы.

0

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

14.07.2016, 21:09

8

Цитата
Сообщение от Alwarus
Посмотреть сообщение

правильно?

Совершенно верно

Добавлено через 1 минуту

Цитата
Сообщение от Alwarus
Посмотреть сообщение

Там же не было ссылки на элементы формы.

Параметр может быть чем угодно, его нужно настраивать (может зависеть от группы и т.д.)

0

IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

14.07.2016, 21:09

Помогаю со студенческими работами здесь

Открытие формы на добавление записи с автоматическим заполнением связанного поля
Приветствую всех! Помогите разобраться!
В БД имеются две таблицы, связанные через поле &quot;код…

Вызов значения из справочника в коде формы документа
Имеется процедура, которая вызывается при изменении параметра в табличной части. Суть такова, что…

Открытие формы на добавления на основе данных из другой формы
Помогите решить две проблемы:
1. Есть &quot;форма 1&quot; со свободным полем &quot;Код предприятия&quot;, нужно чтобы…

Очистка данных формы, открытие другой формы
И снова здравствуйте, дорогие жители форума. Столкнулся с простой на первый взгляд проблемой, но…

Автоматическое открытие формы справочника при переходе в Подсистему.
Как можно реализовать, чтобы когда я нажимаю на подсистему, при переходе сразу открывалсь форма…

Открытие формыдокумента во фрейме
Всем привет.

Столкнулся с проблемой, пока не знаю как её разрулить (все в 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

Найденные решения:

1C 8 Ошибка отображения типов: Отсутствует отображение для типа ЭлементСпискаЗначений,

Нажатие на изображении увеличит его
1C 8, Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа

Возникла при написании кода индивидуальной конфигурации. Но, как оказалось, может подстерегать программиста из-за его невнимательности и при конфигурировании в других конфигурациях. Итак, в чем же причина возникновения данной ошибки. В управляемой форме был создан реквизит типа «СписокЗначений». При открытии формы по коду срабатывает обработчик заполнения этого списка значений. Т.е. в коде создается переменная с помощью конструктора «Новый СписокЗначений», значение которой потом и устанавливается реквизиту формы. Но, перед тем как это происходит, в коде список значений изменяется — в частности выполняется его дополнительная сортировка. Конечно, ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’» может возникнуть у Вас не только в такой ситуации. Сейчас разберемся в чем ее суть.

1С 8, Ошибка для типа ЭлементСпискаЗначений, передачи данных между клиентом и сервером, значение недопустимого типа, по причине, ошибка преобразования данных XDTO

Как было отмечено в этой частной задаче выполняется сортировка исходного заполненного списка значений. Но, т.к. в этой частной задаче не подходило использование метода «СортироватьПоЗначению(<Направление>)«, т.к. сортировка более сложная (по текстовым данным с разделителями порядка, содержащих разделитель «.», пример: 1.1, 2.2, 2.2.1, 2.2.2, 3.1, 3.2, 3.3.1, 3.3.2). Поэтому сортировка выполнялась программно с созданием новой переменной типа «СписокЗначений» и ее заполнением по данным исходного списка.

После сохранения кода и попытки проверки появилась ошибка, текст которой приведен в начале страницы. Анализ данных через предмет отладки неявно, но показал ошибку.

Нажатие на изображении увеличит его

1C 8, как устранить, исправить ошибку, ошибка преобразования данных XDTO, отсутствует отображение для типа ЭлементСпискаЗначений

Не смотря на то, что в методической информации «Синтакс-помощника» 1С 8 указано, что значение элемента списка значений может быть любым (произвольным), все-таки для случая использования в управляемой форме в качестве реквизита накладывается ограничение по типу. И нельзя в значение такого списка значений поместить «ЭлементСискаЗначений» другого списка значений.

1С 8, какие значения могут быть у списказначений, исключения для управляемой формы

Т.е. для моего случая использования списка значений в управляемой форме в качестве реквизита ошибка была в коде, где происходило заполнение значений нового списка по данным исходного при сортировке.

Нажатие на изображении увеличит его

Было выполнено исправление в коде для обращения к значениям и передачи их в качестве значений нового списка значений. 

Нажатие на изображении увеличит его
1С 8, в чем причина ошибки в форме, отсутствует отображение для типа Элемент списка значений, ошибка отображения типов

В данном случае значениями списка были значения примитивного тип «Строка», поэтому дальнейшая работа доработанного кода стала возможной. И это все-таки позволило реализовать задачу. Если у Вас будут другие типы, например ссылки, то продумывайте заранее, как будете упорядочить, возможно придется через другие универсальные объекты, например использование таблицы значений, и потом заполнять конечный список значений. Другие примитивные типы не проверялись, но предполагаю, что они так же подойдут для корректной работы в управляемой форме. в качестве значений списка. Поэтому учитывайте это, если столкнетесь с данной ошибкой при Вашем конфигурировании — подбирайте по возможности простой тип для значений списка.

Нажатие на изображении увеличит его
1С 8, в чем, причина ошибки, как устранить, Ошибка передачи данных между клиентом и сервером, отсутствует отображение для типа элемент списка значений

Таким образом на примере данной частной ситуации возникновения ошибки при конфигурировании в 1С 8 «Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа» извлекаем вывод о том, что нужно быть внимательным и не заполнять значения объекта «Список значений» элементами другого списка значений. А передавать значения элемента списка значений, если одна переменная типа «СписокЗначений» заполняется за счет другой подобной.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

16-03-2022

Журавлев А.С.
(Сайт azhur-c.ru)

  1. Вот программа обработчик

    &НаКлиенте
    Процедура ТабличнаяЧасть1КоличествоПриИзменении(Элемент)
    СтрокаТабличнойЧасти=Элементы.ТабличнаяЧасть1.ТекущиеДанные;
    //при вызове этой функции появляется ошибка см.в.конце Элементы.ТабличнаяЧасть1.ТекущиеДанные.Сумма=РаботаСДокументами.ВычислениеСуммы(СтрокаТабличнойЧасти);
    КонецПроцедуры

    Серверная часть
    &НаСервере
    Функция ВычислениеСуммы(Элемент) Экспорт
    ЗначениеСуммы=Элемент.Количество*Элемент.Цена;
    Сообщить(ЗначениеСуммы);
    Возврат ЗначениеСуммы;
    КонецФункции

    Текст Ошибки:
    Ошибка отображения типов:
    Отсутствует отображение для типа «ДанныеФормыЭлементКоллекции»

    Кто знает, что не так пишите. Буду рад.

  2. Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Дело в том, что ТекущуюСтроку из ТЗ нельзя передавать на сервер. (У типа «ДанныеФормыЭлементКоллекции» отсутствует свойство «Возможен обмен с сервером»). Для того чтобы передать строку на сервер ее надо выгрузить в структуру, передать на сервер эту структуру, с этой структурой сделать то что надо, и вернуть ее на клиент, и заполнить из нее ТЧ.

    В вашем же конкретном примере — на сервер можно вообще ничего не передавать. Можно ведь все на клиенте выполнить.

  3. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54
    {Обработка.медАРМПриёмкиТовара.Форма.Форма.Форма(1022)}: Ошибка при вызове метода контекста (ОткрытьФорму)
            ОткрытьФорму("Обработка.медАРМПриёмкиТовара.Форма.ВыборНоменклатуры",ПараметрыФормы,ЭтаФорма,,,, ОбработчикОповещения, Режим);
    по причине:
    Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
    по причине:
    Ошибка преобразования данных XDTO:
    Запись значения свойства 'cr':
        форма: Элемент
        имя: {http://v8.1c.ru/8.2/mngsrv/ws}cr
    по причине:
    Ошибка отображения типов:
    Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

    Ребята всё понимаю, но не понимаю какую я ему коллекцию сую? Передаю Структуру.. На что может ругаться?

  4. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104
  5. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    ПараметрыФормы Структура Структура
    АдресТоваровВХранилище «e1cib/tempstorage/ed0e045f-6c9a-43b2-a363-086808153749» Строка
    ТоварыДокумента «e1cib/tempstorage/61c0f15a-394e-4551-ab4a-4fffd87c3d74» Строка

  6. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Ничего не понял. Попробуй тоже самое, только вместо своих параметров что-нибудь по-проще типа
    «Новый структура(«пар1″,»пар1″)».
    Если тут проблем не будет — смотри еще раз свой отбор, может там не просто строки?
    Если проблема сохранится — возможно еще в обработчике оповещения что-то.

  7. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    В ПараметрахФормы два значения, оба типа строка.. передаётся адрес на временное хранилище..
    В ОбработкеОповещения передается структура в структуре, во внутренней структуре один параметр, тоже адрес типа строка.

  8. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Ну поэкспериментируй:
    1. Убери нафиг свои параметры =)
    2. Убери нафиг свой обработчик оповещения =)

  9. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    Самое интересное что падает при завершение процедуры создания.

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
       
        // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
        Если Параметры.Свойство("АвтоТест") Тогда
            Возврат;
        КонецЕсли;
       
        ДополнительныеКолонкиНоменклатуры = ЗначениеНастроекПовтИсп.ПолучитьЗначениеКонстанты("ДополнительнаяКолонкаПриОтображенииНоменклатуры");
       
        ТаблицаТоваров.Загрузить(ПолучитьИзВременногоХранилища(Параметры.АдресТоваровВХранилище));
        СкрытьКолонкуУпаковка = Параметры.СкрытьКолонкуУпаковка;
        ТоварыДокументов.Загрузить(ПолучитьИзВременногоХранилища(Параметры.ТоварыДокумента));   
        Если Параметры.Свойство("ПередаватьШтрихкод") Тогда
            ПередаватьШтрихкод = Параметры.ПередаватьШтрихкод;
        КонецЕсли;
       
        Если Параметры.Свойство("ОтображатьОстатки") Тогда
            Элементы.ТаблицаТоваровОстаток.Видимость = Истина;
        КонецЕсли;
       
        ЭтотОбъект.ТекущийЭлемент = Элементы.ТаблицаТоваров;
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    ХарактеристикиДокумента.Характеристика
                       |ПОМЕСТИТЬ ХарактеристикиДокумента
                       |ИЗ
                       |    &ХарактеристикиДокумента КАК ХарактеристикиДокумента
                       |;
                       |
                       |////////////////////////////////////////////////////////////////////////////////
                       |ВЫБРАТЬ
                       |    НайденныеХарактеристики.Характеристика
                       |ПОМЕСТИТЬ НайденныеХарактеристики
                       |ИЗ
                       |    &НайденныеХарактеристики КАК НайденныеХарактеристики
                       |;
                       |
                       |////////////////////////////////////////////////////////////////////////////////
                       |ВЫБРАТЬ
                       |    ХарактеристикиДокумента.Характеристика
                       |ИЗ
                       |    ХарактеристикиДокумента КАК ХарактеристикиДокумента
                       |        ПОЛНОЕ СОЕДИНЕНИЕ НайденныеХарактеристики КАК НайденныеХарактеристики
                       |        ПО ХарактеристикиДокумента.Характеристика = НайденныеХарактеристики.Характеристика";
        Запрос.Параметры.Вставить("НайденныеХарактеристики",ТаблицаТоваров.Выгрузить());
        Запрос.Параметры.Вставить("ХарактеристикиДокумента",ТоварыДокументов.Выгрузить());
       
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Количество()>0 Тогда
            Выборка.Следующий();
            Характеристика = Выборка.Характеристика;
            ПараметрыПоиска = Новый Структура;
            ПараметрыПоиска.Вставить("Характеристика",Характеристика);
            МассивСтрок = ЭтотОбъект.ТаблицаТоваров.НайтиСтроки(ПараметрыПоиска);
            ЭтотОбъект.Элементы.ТаблицаТоваров.Текущ1аяСтрока = МассивСтрок[0];
        КонецЕсли;   
       
    КонецПроцедуры
  10. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Это в каком случае?
    Попробуй просто форму открыть без всего — может она вообще не откроется =)

  11. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54
  12. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Неужели вот это работает:
    ЭтотОбъект.Элементы.ТаблицаТоваров.Текущ1аяСтрока = МассивСтрок[0];
    или «1» — это опечатка?
    Оставь свои параметры, но убери обработчик оповещения, что будет?

  13. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    Ошибка, уже исправил, сейчас попробую… Но параметр не мой, он был, я просто в него добавил еще одно значение, адрес временного хранилища.

    — Объединение сообщений, 22 дек 2015

    Переписал процедуру ПриСозданииНаСервере

        // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
        Если Параметры.Свойство("АвтоТест") Тогда
            Возврат;
        КонецЕсли;
       
        ДополнительныеКолонкиНоменклатуры = ЗначениеНастроекПовтИсп.ПолучитьЗначениеКонстанты("ДополнительнаяКолонкаПриОтображенииНоменклатуры");
       
        ТаблицаТоваров.Загрузить(ПолучитьИзВременногоХранилища(Параметры.АдресТоваровВХранилище));
        СкрытьКолонкуУпаковка = Параметры.СкрытьКолонкуУпаковка;
        Если Параметры.Свойство("ПередаватьШтрихкод") Тогда
            ПередаватьШтрихкод = Параметры.ПередаватьШтрихкод;
        КонецЕсли;
       
        Если Параметры.Свойство("ОтображатьОстатки") Тогда
            Элементы.ТаблицаТоваровОстаток.Видимость = Истина;
        КонецЕсли;
       
        ЭтотОбъект.ТекущийЭлемент = Элементы.ТаблицаТоваров;
        Если Параметры.Свойство("ТоварыДокумента") Тогда
        ТоварыДокументов.Загрузить(ПолучитьИзВременногоХранилища(Параметры.ТоварыДокумента));   
    
            Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
            |    ХарактеристикиДокумента.Характеристика
            |ПОМЕСТИТЬ ХарактеристикиДокумента
            |ИЗ
            |    &ХарактеристикиДокумента КАК ХарактеристикиДокумента
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    НайденныеХарактеристики.Характеристика
            |ПОМЕСТИТЬ НайденныеХарактеристики
            |ИЗ
            |    &НайденныеХарактеристики КАК НайденныеХарактеристики
            |;
            |
            |////////////////////////////////////////////////////////////////////////////////
            |ВЫБРАТЬ
            |    ХарактеристикиДокумента.Характеристика
            |ИЗ
            |    ХарактеристикиДокумента КАК ХарактеристикиДокумента
            |        ПОЛНОЕ СОЕДИНЕНИЕ НайденныеХарактеристики КАК НайденныеХарактеристики
            |        ПО ХарактеристикиДокумента.Характеристика = НайденныеХарактеристики.Характеристика";
            Запрос.Параметры.Вставить("НайденныеХарактеристики",ТаблицаТоваров.Выгрузить());
            Запрос.Параметры.Вставить("ХарактеристикиДокумента",ТоварыДокументов.Выгрузить());
           
            Выборка = Запрос.Выполнить().Выбрать();
            Если Выборка.Количество()>0 Тогда
                Выборка.Следующий();
                Характеристика = Выборка.Характеристика;
                ПараметрыПоиска = Новый Структура;
                ПараметрыПоиска.Вставить("Характеристика",Характеристика);
                МассивСтрок = ЭтотОбъект.ТаблицаТоваров.НайтиСтроки(ПараметрыПоиска);
                ЭтотОбъект.Элементы.ТаблицаТоваров.ТекущаяСтрока = МассивСтрок[0];
            КонецЕсли;   
        КонецЕсли;
       
    

    И закоментировал добавление в структуру ТоварыДокумента.. Работает.. т.е. проблема внутри условия получается?

    Мне кажется ему всё таки вот это не нравится ка кто?
    ЭтотОбъект.Элементы.ТаблицаТоваров.ТекущаяСтрока = МассивСтрок[0];

    Последнее редактирование: 22 дек 2015

  14. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Если у вас «Элементы.ТаблицаТоваров» — это дин.список, то в тек. строку нужно передать ссылку, а если таблица формы — тогда идентификатор строки.
    У вас похоже массивСтрок[0]- это и есть то самое «ДанныеФормыЭлементКоллекции» на которое 1с и орет

  15. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    Респект и уважуха.. да ТаблицаТоваров это таблица формы.. а МассивСтрок это данные коллекции.

    Возникает вопрос как получить идентификатор…
    Т.е. необходимо следующее.. ТаблицаТоваров это список номенклатуры с характеристиками и есть ТЗ основной формы, где есть характеристика из этой таблицы.. на ней нужно позиционировать при открытии.

  16. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Значит нужно присвоить идентификатор.
    Можно глянуть в синтакс-помощник — там должно быть «ПолучитьИдентификатор»
    http://www.forum.mista.ru/topic.php?id=550120

  17. Offline

    TerANik
    Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    1.271
    Симпатии:
    98
    Баллы:
    54

    ЭтотОбъект.Элементы.ТаблицаТоваров.ТекущаяСтрока = МассивСтрок[0].ПолучитьИдентификатор();
    Вот «Огонь».

  18. Offline

    Dem0lisher
    Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.266
    Симпатии:
    102
    Баллы:
    104

    Ага! Еще «Огонь» есть — ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений.Вывести();
    А у вас можно по-короче наверное: Элементы.ТаблицаТоваров.ТекущаяСтрока = МассивСтрок[0].ПолучитьИдентификатор();
    без «ЭтотОбъект»

ести общаяКоманда. при нажатии нужно получить форму для дальнейшей работы. режим кнопки одиночный. Ошибка преобразования данных XDTO: Запись значения свойства ‘val’:    форма: Элемент    имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа ‘УправляемаяФорма’

тип ПараметрыОткрытия мой документ, то есть ДокументСсылка.

ПараметрыОткрытия — это должна быть структура.

да ну нах. поставил и множественный режим кнопки. тоже самая ошибка.

ой сорри не ПараметрыОткрытия а ПараметрКоманды это ссылка на документ. а ПараметрОткрытия это и ести структура.

чо-то я не вижу тут параметров команды

Владелец формы — форма или элемент управления другой формы.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия); ?

глобальный поиск творит чудеса

указал ключь, без владельца, таже ошибка. печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

Так таже самая ошибка. хз. печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

ты на сервере что ли форму получаешь?

почему на сервере? директива компиляции общей команды -> НаКлиенте, где я вызываю метод получитьформу;

А зачем тебе _получать_ форму? Ну и — форма точно управляемая?

свойства формы показывает чт оона Управл. мне нужно из формы кое-что достать. если это возможно.

А если через ОткрытьФорму? А если другую форму попробовать? З.Ы. В упр. приложении обычно логика другая — открывается форма, куда передается все необходимое, и она уже дальше сама все делает.

пытаюсь 2-мя методами. в первой передаю мой параметры а вторая вообще говорит что процедура не определена.

ПолучитьОбщуюФорму получает обычную форму, не управляемую. З.Ы. А что у нас в КлючУникальности?

понятно. в Ключь новый Уник.Идентификатор

что я пытаюсь получить: текст печать из макета ТоварныйЧек(он там уже нарисованный) и отправить его на ФР.

Я для кого старался, писал? З.Ы. КлючУникальности = Новый УникальныйИдентификатор, так правильнее

ошибка как в начале ветки. Ошибка отображения типов: Отсутствует отображение для типа ‘УправляемаяФорма’

блаблабла Я так понимаю, первые строки ты из принципа не читаешь?

если ты имеешь ввиду открыть любую другую общую форму то они открываются.

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник; Вот это закомментируй

+ Ну и ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрыВыполненияКоманды.Источник ,КлючУникальности);

комментарии по этому поводу?

Чего комментировать-то? Управляемая форма не сериализуется.

понятно. еще вопросик: можно получить текст который идет на печать из табл.док моей полученной формы?

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

ести общаяКоманда. при нажатии нужно получить форму для дальнейшей работы. режим кнопки одиночный. Ошибка преобразования данных XDTO: Запись значения свойства ‘val’:    форма: Элемент    имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа ‘УправляемаяФорма’

тип ПараметрыОткрытия мой документ, то есть ДокументСсылка.

ПараметрыОткрытия — это должна быть структура.

да ну нах. поставил и множественный режим кнопки. тоже самая ошибка.

ой сорри не ПараметрыОткрытия а ПараметрКоманды это ссылка на документ. а ПараметрОткрытия это и ести структура.

чо-то я не вижу тут параметров команды

Владелец формы — форма или элемент управления другой формы.

печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия); ?

глобальный поиск творит чудеса

указал ключь, без владельца, таже ошибка. печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

Так таже самая ошибка. хз. печФорма = ПолучитьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ,КлючУникальности);

ты на сервере что ли форму получаешь?

почему на сервере? директива компиляции общей команды -> НаКлиенте, где я вызываю метод получитьформу;

А зачем тебе _получать_ форму? Ну и — форма точно управляемая? :)

свойства формы показывает чт оона Управл. мне нужно из формы кое-что достать. если это возможно.

А если через ОткрытьФорму? А если другую форму попробовать? З.Ы. В упр. приложении обычно логика другая — открывается форма, куда передается все необходимое, и она уже дальше сама все делает.

пытаюсь 2-мя методами. в первой передаю мой параметры а вторая вообще говорит что процедура не определена.

ПолучитьОбщуюФорму получает обычную форму, не управляемую. З.Ы. А что у нас в КлючУникальности?

понятно. в Ключь новый Уник.Идентификатор

что я пытаюсь получить: текст печать из макета ТоварныйЧек(он там уже нарисованный) и отправить его на ФР.

Я для кого старался, писал? З.Ы. КлючУникальности = Новый УникальныйИдентификатор, так правильнее

ошибка как в начале ветки. Ошибка отображения типов: Отсутствует отображение для типа ‘УправляемаяФорма’

блаблабла Я так понимаю, первые строки ты из принципа не читаешь?

если ты имеешь ввиду открыть любую другую общую форму то они открываются.

ПараметрыОткрытия.ПараметрыПечати     = ПараметрыВыполненияКоманды.Источник; Вот это закомментируй

+ Ну и ОткрытьФорму(«ОбщаяФорма.ПечатьДокументов», ПараметрыОткрытия, ПараметрыВыполненияКоманды.Источник ,КлючУникальности);

комментарии по этому поводу?

Чего комментировать-то? Управляемая форма не сериализуется.

понятно. еще вопросик: можно получить текст который идет на печать из табл.док моей полученной формы?

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  • Ошибка отображения типов отсутствует отображение для типа таблицаформы
  • Ошибка отображения типов отсутствует отображение для типа результатзапроса
  • Ошибка отображения типов отсутствует отображение для типа параметрывыполнениякоманды
  • Ошибка отображения типов отсутствует отображение для типа описаниепомещенногофайла
  • Ошибка отображения типов отсутствует отображение для типа описаниеоповещения