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

   nickroblogger_

09.09.16 — 05:58

Привет.

Создаю пакет обмена. Через ЗаписатьXML (глобальную) пишу в него СправочникОбъект.Кошелек В Объекте есть владелец СправочникСсылка.Пользователь. В другой базе, куда летит пакет (через wsПрокси) тоже есть Справочник.Кошелек, но независимый.

Вопрос.

Почему когда я пытаюсь прочитать этот объект в базе-получателе конструкцией wsПрокси.ФабрикаXDTO.ПрочитатьXDTO, то у меня происходит ругань вида: «ошибка отображения пространства имен отсутствует отображение для префикса: »», а когда пишу в базе-источнике в XML вот так: ОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(ОбъектДанных);

        ФабрикаXDTO.ЗаписатьXML(ОбъектЗапись, ОбъектXDTO,,,,НазначениеТипаXML.Явное);, то всё ОК?

  

nickroblogger_

4 — 15.09.16 — 06:04

(3) Глобальный контекст (Global context)

ЗаписатьXML (WriteXML)

Вариант синтаксиса: Записать без имени

Синтаксис:

ЗаписатьXML(<ЗаписьXML>, <Значение>, <НазначениеТипа>)

Параметры:

<ЗаписьXML> (обязательный)

Тип: ЗаписьXML.

Объект, через который осуществляется запись XML.

<Значение> (обязательный)

Записываемое в поток XML значение. Тип параметра определяется совокупностью типов, для которых определена XML-сериализация.

<НазначениеТипа> (необязательный)

Тип: НазначениеТипаXML.

Определяет необходимость назначения типа элементу XML.

Значение по умолчанию: Неявное.

Описание варианта метода:

В качестве имени элемента будет использован тип значения.

Вариант синтаксиса: Записать с полным именем

Синтаксис:

ЗаписатьXML(<ЗаписьXML>, <Значение>, <ПолноеИмя>, <НазначениеТипа>)

Параметры:

<ЗаписьXML> (обязательный)

Тип: ЗаписьXML.

Объект, через который осуществляется запись XML.

<Значение> (обязательный)

Записываемое в поток XML значение. Тип параметра определяется совокупностью типов, для которых определена XML-сериализация.

<ПолноеИмя> (обязательный)

Тип: Строка.

Полное имя элемента XML, в который будет записано значение.

<НазначениеТипа> (необязательный)

Тип: НазначениеТипаXML.

Определяет необходимость назначения типа элементу XML.

Значение по умолчанию: Неявное.

Описание варианта метода:

Выполняет запись значения с указанием полного имени элемента.

Вариант синтаксиса: Записать с локальным именем и пространством имен

Синтаксис:

ЗаписатьXML(<ЗаписьXML>, <Значение>, <ЛокальноеИмя>, <URIПространстваИмен>, <НазначениеТипа>)

Параметры:

<ЗаписьXML> (обязательный)

Тип: ЗаписьXML.

Объект, через который осуществляется запись XML.

<Значение> (обязательный)

Записываемое в поток XML значение. Тип параметра определяется совокупностью типов, для которых определена XML-сериализация.

<ЛокальноеИмя> (обязательный)

Тип: Строка.

Локальное имя элемента XML, в который будет записано значение.

<URIПространстваИмен> (обязательный)

Тип: Строка.

URI пространства имен, к которому принадлежит указанное ЛокальноеИмя.

<НазначениеТипа> (необязательный)

Тип: НазначениеТипаXML.

Определяет необходимость назначения типа элементу XML.

Значение по умолчанию: Неявное.

Описание варианта метода:

Выполняет запись значения с указанием локального имени элемента и пространства имен, к которому принадлежит локальное имя.

Описание:

Выполняет сериализацию значения в формат XML.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Примечание:

Значения не всех типов могут быть записаны в формате XML данным методом.

В XML могут быть записаны значения следующих типов: Неопределено, Null, Булево, Число, Строка, Дата, Тип, УникальныйИдентификатор, ДвоичныеДанные, ХранилищеЗначения, ОписаниеТипов, а также ссылки объектов данных и сами объекты данных, наборы записей регистров, менеджер значения константы. В дальнейшем список может пополняться.

При попытке записи значения неподходящего типа будет вызвано исключение.

Тамика

Котовчанин

942 / 482 / 200

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

Сообщений: 3,338

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

1

Отсутствует отображение для типа ‘ДанныеФормыЭлементКоллекции’

29.08.2017, 12:09. Показов 19695. Ответов 7

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


Студворк — интернет-сервис помощи студентам

Что это за штука-то такая? И не могу даже отловить где ругается.

1C
1
2
3
4
5
6
7
8
9
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'cr':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/mngsrv/ws}cr
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

Может кто сталкивался? Буду благодарна за помощь

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



0



Эксперт 1С

3053 / 2000 / 524

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

Сообщений: 6,964

29.08.2017, 12:10

2

Не по теме:

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

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

Молодец) И быстро)

А что было-то?)



0



Котовчанин

942 / 482 / 200

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

Сообщений: 3,338

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

29.08.2017, 12:12

 [ТС]

3

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

А что было-то?)

У меня тут была такая забавная строка в серверной процедуре:
Элементы.Работы.ТекущаяСтрока = Объект.Работы[0];

Если допилить Объект.Работы[0].ПолучитьИдентификатор() — то уже другая ошибка. ))



0



GreenkA

Эксперт 1С

3053 / 2000 / 524

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

Сообщений: 6,964

29.08.2017, 12:38

4

Тамика,

1C
1
Элементы.Работы.ТекущаяСтрока = 0;

Добавлено через 10 минут
Тамика, вообще ты правильно делаешь, на что ругается-то?
Покажи код. Такой?

1C
1
Элементы.Работы.ТекущаяСтрока = Объект.Работы[0].ПолучитьИдентификатор();

Добавлено через 25 секунд
быть может тч пустая?



0



Котовчанин

942 / 482 / 200

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

Сообщений: 3,338

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

29.08.2017, 12:39

 [ТС]

5

GreenkA, не, я имела в виду под «другой ошибкой» — ошибка, которая уже не касается этого.



0



GreenkA

29.08.2017, 12:40

Не по теме:

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

ошибка, которая уже не касается этого.

аа) ну ладно) будет новая тема?:D



0



Котовчанин

942 / 482 / 200

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

Сообщений: 3,338

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

29.08.2017, 12:41

 [ТС]

7

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

аа) ну ладно) будет новая тема?

Сейчас чуток покопаюсь и создам, если ничего не выйдет



0



Эксперт 1С

3053 / 2000 / 524

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

Сообщений: 6,964

29.08.2017, 12:42

8

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

Сейчас чуток покопаюсь и создам

как показывает практика — выжди минимум 3 минуты) велика вероятность, что ты сама все решишь



0



Подскажите как с этим боротся — ошибка вот такого плана в толстом клиенте все нормально, а надо вызывать на тонком:{Документ.ГрафикПроизводства.Команда.ОтправитьВОптимизацию.МодульКоманды(32)}: Ошибка при вызове метода контекста (СервСформировать2)
    Результат = СервСформировать2(ДокументыДляОптимизации,КолВГруппе);
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret   Форма: Элемент   Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Value   Форма: Элемент   Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’

2 метода на клиенте и на сервере, вот сам код:


&НаКлиенте
Процедура ВыполнитьОптимизацию(ДокументыДляОптимизации)   

РежимРаботы  = Вопрос("Группировать по пакетам?",РежимДиалогаВопрос.ДаНетОтмена,,КодВозвратаДиалога.Нет);
Группировать = Ложь;
Если РежимРаботы = КодВозвратаДиалога.Отмена Тогда
Возврат
КонецЕсли;

Если РежимРаботы = КодВозвратаДиалога.Да Тогда
КолВГруппе = 60;
ВвестиЧисло(КолВГруппе,"Количество Изделий в группировке",3,0);
Группировать = Истина;
Иначе
КолВГруппе = 0;
КонецЕсли;

РаботаСОптимизацией.ОбработатьДокументы(ДокументыДляОптимизации, КолВГруппе, Группировать);

Предупреждение("Оптимизация выполнена", 5);


    Результат = СервСформировать2(ДокументыДляОптимизации,КолВГруппе);
Если Вопрос("Проставить КИС в график?", РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Да Тогда

ГрафикПроизв(ДокументыДляОптимизации);

ФормаОбр = ПолучитьФорму("Обработка.КИСВГрафиках.Форма.Форма");

Если Результат.Количество() Тогда
Для Каждого Строка Из Результат[0] Цикл
Если КолВГруппе = 0 Тогда
НоваяСтрока = ФормаОбр.Объект.ТабличнаяЧастьСоответствие.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка);
Иначе
Расчет = Окр(Строка.Количество / КолВГруппе);
Для п =0 По Расчет+2 Цикл
Если п <> 0 и п <> 1 Тогда
НоваяСтрока = ФормаОбр.Объект.ТабличнаяЧастьСоответствие.Добавить();

Строка.Количество = Строка.Количество / п;

ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка);
КонецЕсли;
КонецЦикла;
КонецЕсли;

Значение =0;
//Значение2 =0;
Для п =0 По ФормаОбр.Объект.ТабличнаяЧастьСоответствие.Количество()-1 Цикл
Отбор = Новый Структура;
Отбор.Вставить("ИмяФайла",ФормаОбр.Объект.ТабличнаяЧастьСоответствие[п].ИмяФайла);
// Отбор.Вставить("Материал",ФормаОбр.Объект.ТабличнаяЧастьСоответствие[п].Материал);
НадСтроки = ФормаОбр.Объект.ТабличнаяЧастьСоответствие.НайтиСтроки(Отбор);
КонецЦикла;

  Для п = 0 По НадСтроки.Количество()-1 Цикл
Значение = Значение + НадСтроки[п].Количество;
КонецЦикла;

НоваяСтрока = ФормаОбр.Объект.ТабличнаяЧастьСоответствие.Добавить();
//Строка.КоличествоФакт = Строка[3] - Значение2 ;
Строка.Количество = Строка[3] - Значение ;
ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка);
КонецЦикла;

Иначе
Вопрос("В выбранных нарядах отсутствуют материалы." , РежимДиалогаВопрос.ОК);
Возврат
КонецЕсли;

ФормаОбр.Объект.ОснованиеГрафикПроизводства = ДокументыДляОптимизации;
ФормаОбр.Объект.КИСПроставлен = ДокументыДляОптимизации[0].КИСПроставлен;
ФормаОбр.ОткрытьМодально();
КонецЕсли;

КонецПроцедуры // ВыполнитьОптимизацию()

&НаСервере
Функция СервСформировать2(ПараметрКоманды, КолВГруппе =0) Экспорт

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ГрафикПроИзводстваНаряды.Документ,
| ГрафикПроИзводстваНаряды.Группировка КАК Группировка
|ИЗ
| Документ.ГрафикПроизводства.Наряды КАК ГрафикПроИзводстваНаряды
|ГДЕ
| ГрафикПроИзводстваНаряды.Ссылка = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Группировка,
| ГрафикПроИзводстваНаряды.НомерСтроки";

МассОпераций = Новый Массив;
МассОпераций.Добавить("Раскрой");
МассОпераций.Добавить("Пленка");

Запрос.УстановитьПараметр("Операции", МассОпераций);
Запрос.УстановитьПараметр("Ссылка", ПараметрКоманды[0].Ссылка);
Результат = Запрос.Выполнить().Выгрузить();

//РаскройТаблицаДанных = Новый ТаблицаЗначений;
//ПленкаТаблицаДанных = Новый ТаблицаЗначений;
РаскройТаблицаДанных = Неопределено;
ПленкаТаблицаДанных = Неопределено;

Для Каждого Строка Из Результат Цикл
РаскройТаблицаДанныхИтоговая = Строка.Документ.Запасы.Выгрузить();
РаскройТаблицаДанныхИтоговая.Колонки["Номенклатура"].Имя = "Материал";
РаскройТаблицаДанныхИтоговая.Колонки["НомерСтроки"].Имя = "Номер";
РаскройТаблицаДанныхИтоговая.Колонки["КоличествоРасчетное"].Имя = "КоличествоФакт";
РаскройТаблицаДанныхИтоговая.Свернуть("КИС, Количество, КоличествоФакт, ПланыРаскроя, Номер, Материал");

РаскройТаблицаДанныхИтоговая.Колонки.Добавить("Группировка");
РаскройТаблицаДанныхИтоговая.Колонки.Добавить("НарядВПроизводство");
РаскройТаблицаДанныхИтоговая.Колонки.Добавить("ИмяФайла");
РаскройТаблицаДанныхИтоговая.Колонки.Добавить("НомерФайла");
// РаскройТаблицаДанныхИтоговая.Колонки.Добавить("ПланыРаскроя");

РаскройТаблицаДанныхИтоговая.ЗаполнитьЗначения(Строка.Группировка,"Группировка");
РаскройТаблицаДанныхИтоговая.ЗаполнитьЗначения(Строка.Документ.Ссылка,"НарядВПроизводство");
РаскройТаблицаДанныхИтоговая.ЗаполнитьЗначения(Строка.Документ.Номер,"ИмяФайла");
РаскройТаблицаДанныхИтоговая.ЗаполнитьЗначения(Строка.Документ.Запасы[0].ПланыРаскроя,"ПланыРаскроя");

Если РаскройТаблицаДанных = Неопределено Тогда
РаскройТаблицаДанных = РаскройТаблицаДанныхИтоговая.Скопировать();
ИначеЕсли КолВГруппе = 0  Тогда
Для Каждого СтрокаТД Из РаскройТаблицаДанныхИтоговая Цикл

НоваяСтрока = РаскройТаблицаДанных.Добавить();
//  СтрокаТД.Количество= 60;
Для ТекКолонка = 0 по РаскройТаблицаДанных.Колонки.Количество()-1  Цикл
НоваяСтрока[ТекКолонка] = СтрокаТД[ТекКолонка];

КонецЦикла;
КонецЦикла;
Иначе
Для Каждого СтрокаТД Из РаскройТаблицаДанныхИтоговая Цикл

НоваяСтрока = РаскройТаблицаДанных.Добавить();
//  СтрокаТД.Количество= 60;
Для ТекКолонка = 0 по РаскройТаблицаДанных.Колонки.Количество()-1  Цикл
НоваяСтрока[ТекКолонка] = СтрокаТД[ТекКолонка];

КонецЦикла;
КонецЦикла;


КонецЕсли;



//
//ИначеЕсли Строка(Строка.Документ.Операция) = "Пленка" Тогда
// Если ПленкаТаблицаДанных = Неопределено Тогда
//
// Иначе
//
// КонецЕсли;
//КонецЕсли;
КонецЦикла;
    РезультатРаскроев = новый Массив;
Если РаскройТаблицаДанных = Неопределено Тогда
РаскройТаблицаДанных = Неопределено;
Иначе
РаскройТаблицаДанных.Колонки.Добавить("Порядок");
Счетчик = 0;
ПоследнийНомер = "";
Для Каждого Строка Из РаскройТаблицаДанных Цикл
Если ПоследнийНомер <> Строка.Номер Тогда
ПоследнийНомер = Строка.Номер;
Счетчик = Счетчик + 1;
КонецЕсли;
Строка.Порядок = Счетчик;
КонецЦикла;

  //Результат =   РаскройТаблицаДанных[0].Количество/10;
РезультатРаскроев.Добавить(РаскройТаблицаДанных);

КонецЕсли;

Если ПленкаТаблицаДанных = Неопределено Тогда

Иначе
ПленкаТаблицаДанных.Колонки.Добавить("Порядок");
Счетчик = 0;
ПоследнийНомер = "";
Для Каждого Строка Из ПленкаТаблицаДанных Цикл
Если ПоследнийНомер <> Строка.Номер Тогда
ПоследнийНомер = Строка.Номер;
Счетчик = Счетчик + 1;
КонецЕсли;
Строка.Порядок = Счетчик;
КонецЦикла;

КонецЕсли;
// АдресХранилища = ПоместитьВоВременноеХранилище(,Форма);
//
//ПротоколПереноса = ПолучитьИзВременногоХранилища(АдресХранилища);
строка1 = ЗначениеВСтрокуВнутр(РезультатРаскроев);
Возврат ЗначениеИзСтрокиВнутр(строка1);



// МассивДанных = Новый Массив;
//Для Каждого СтрЛог из РезультатРаскроев Цикл
// // Создаем структуру для хранения данных строки таблицы значений,
// // список полей можно получить динамически, перебрал 1 строку ТЗ
// Стр = Новый Структура("Количество");
// // Копируем данные из строки таблицы значений в структуру
// ЗаполнитьЗначенияСвойств(Стр,СтрЛог);
// // Помещаем структуру в массив
// МассивДанных.Добавить(Стр);
//КонецЦикла;



//Возврат МассивДанных;

КонецФункции


После нажатия да! должна сформироватся обработка

16.01.202013.05.2023Ошибки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В управляемых формах может появиться следующая ошибка:

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: param Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

С данной ошибкой я столкнулся, когда пытался в управляемой форме на стороне сервера выполнить следующую команду:

 ОбъектФормы = РеквизитФормыВЗначение("Объект");
 ТЗВывода = ОбъектФормы.Бонусы.Выгрузить().Скопировать();
 ЗначениеВРеквизитФормы(ОбъектФормы, "Объект");

Решением данной проблемы было обнулить переменную с таблицей данных:

ТЗВывода = Неопределено;

  • Ошибка отображения оверлейной программы steam heroes and generals
  • Ошибка отношения к нам жизненный пример
  • Ошибка отношение уже существует postgresql
  • Ошибка открытия устройства записи audacity 9996
  • Ошибка открытия устройства записи 9985 audacity