Не могу передать хранилище значения в основное приложение с мобильной платформы

1. FesenkoA 57 19.05.17 17:54 Сейчас в теме
Добрый день

Пытаюсь передать ИдентификаторПодписчикаУведомлений с мобильной платформы. Там я получаю его как
IDПодписчика=ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений("797785657074");

Далее записываю в константу с типом Хранилище значения, чтобы позже ее Получить() передавать через Веб. На веб сервере стоит переменная типа DeliverableNotificationSubscriberID (http://v8.1c.ru/8.3/data/ext). Уже пробовал не получать() и ставить переменную типа ValueStorage (http://v8.1c.ru/8.1/data/core), но тогда ошибка Несоответствие типов (параметр номер '1') выбивается не сразу, а при десериализации
ЧтениеXMLДанных.УстановитьСтроку(XMLСтруктураСериализованногоОбъекта); 


Подскажите, как правильно передать идентификатор на основное приложение для отправки push? Может как то можно на МП вытянуть из данного значения параметры, и собрать его на сервере через
ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberID"));


Если это о чем то говорит: МП самописное, сервер - УТ.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. Xershi 1484 20.05.17 02:00 Сейчас в теме
(1) скорее всего дело в:
Описание:

Предназначен для хранения значения в специальном формате. Он может быть записан в поля базы данных, имеющие соответствующий тип. Это позволяет сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля, например, Картинка.
Большинство объектов, которые имеют неизменяемое значение, а также универсальные коллекции, могут быть помещены в ХранилищеЗначения. К значению, хранящемуся в объекте, нельзя обращаться, его можно только извлечь из хранилища.
Описания типов объектов, которые могут быть помещены в ХранилищеЗначения, включают текст "Сериализуется".
Замечание! Не рекомендуется хранить в реквизитах типа ХранилищеЗначения ссылки на другие объекты базы данных.

Важно! В системе не поддерживается ссылочная целостность по объектам, сохраненным в базе данных в полях типа ХранилищеЗначения. Это означает, что при попытке удаления, например, элементов справочников система не контролирует ссылки на эти элементы, сохраненные в ХранилищеЗначения.
+
2. SyachinS 19.05.17 18:21 Сейчас в теме
Работающий пример:
        ТипXDTO = ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberID");
	ID_XDTO = СериализаторXDTO.ЗаписатьXDTO(Идентификатор);
	Структура = Новый Структура;
	Структура.Вставить("applicationID",ID_XDTO.applicationID);
	Структура.Вставить("databaseID",ID_XDTO.databaseID);
	Структура.Вставить("deviceID",ID_XDTO.deviceID);
	Структура.Вставить("subscriberType",ID_XDTO.subscriberType);
	Хранилище = Новый ХранилищеЗначения(Структура);
Показать
+
3. FesenkoA 57 19.05.17 19:38 Сейчас в теме
(2)спасибо, но как его собрать я уже знаю, но мне нужно или
А) получить значения deviceId, applicationId итд с мп, то есть отдельно
Или
Б) перенести хранилище значения с мп на сервер (основное приложение) по веб
+
4. SyachinS 19.05.17 19:50 Сейчас в теме
(3) Ну переносите хранилище значения через Веб или http сервис, а в чем тогда проблема?
+
5. FesenkoA 57 19.05.17 23:33 Сейчас в теме
(4) в том что оно не переносится.. пытался в valueStorage (описал в посте) но она не хочет десериализироваться. Может неправильно ?
+
7. Xershi 1484 20.05.17 02:01 Сейчас в теме
(5) а в том ли контексте работаешь?
+
10. FesenkoA 57 21.05.17 13:50 Сейчас в теме
(7) В УТ принимаю значение в модуле веб-сервиса, в МП данные получаю в общем серверном модуле где то там же записываю в константу, читаю из константы сериализую, а отправляю через серверный модуль формы обработки
+
11. Xershi 1484 21.05.17 15:51 Сейчас в теме
(10) ну вот читай справку что и куда ты суешь и можно ли это сериализовать)
+
12. FesenkoA 57 22.05.17 09:29 Сейчас в теме
(11) Если бы не читал - не писал бы сюда (

ИдентификаторПодписчикаДоставляемыхУведомлений (DeliverableNotificationSubscriberID)

Доступность:
Тонкий клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен (http://v8.1c.ru/8.3/data/ext). Имя типа XDTO: DeliverableNotificationSubscriberID.
+
8. SyachinS 20.05.17 07:45 Сейчас в теме
(5) версия платформы?
+
9. FesenkoA 57 21.05.17 13:47 Сейчас в теме
(8) МП 8.3.6.205 УТ 8.3.7.1949
+
13. nbeliaev 830 24.05.17 14:03 Сейчас в теме
Функция Сериализовать(Данные)

	ОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(Данные);
	ЗаписьXML = Новый ЗаписьXML;
	ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
	ЗаписьXML.УстановитьСтроку(ПараметрыЗаписиXML);
	ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектXDTO);
	Возврат ЗаписьXML.Закрыть();

КонецФункции // Сериализовать()
Показать


сериализовали на клиенте ХЗ

Функция Десериализовать(Данные)

	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(Данные);
	ПрочитанныеДанные = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
	ЧтениеXML.Закрыть();
	Возврат ПрочитанныеДанные;	

КонецФункции // Десериализовать()
Показать


десериализовали на сервере ХЗ

ps моя публикация как раз на эту тему http://infostart.ru/public/606748/
+
14. FesenkoA 57 25.05.17 15:08 Сейчас в теме
(13)неделю назад когда начинал писать - ваша публикация мне очень помогла, но у вас через GCM напрямую, а я через сервер 1С делаю.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот