Push сообщения с использованием Firebase cloud message

Публикация № 606748

Разработка - Мобильная разработка

FCM firebase cloud message push android мобильная платформа

58
Используем новую технологию FCM, отправляем пуши на устройства на базе Android, инициируем вызов сервера клиентом с самого сервера.

Всех приветствую.

Сегодня расскажу о том, как можно быстро и легко отправить произвольное push сообщение с сервера на мобильное устройство на базе Android (на iOS нет возможности попробовать, на Windows Phone этот метод работать не будет, по крайней мере пока). 

Чтобы пример был осмысленным, внесем немного ясности. Допустим есть некая конфигурация, которая крутится на неком ПК - назовем это Сервер. Есть необходимость в том, чтобы при наступлении какого-либо события на Сервере была инициирована, например, синхронизация с одним или несколькими телефоном/ТСД (далее просто мобильное устройство или МУ).  На самом деле можно придумать любой другой пример, но суть в том,  что инициатива какого-либо действия будет именно со стороны Сервера а не МУ.  Сигналом к действию для МУ и будет выступать push сообщение.

Вот такая вот небольшая задача, которую надо решить.

Нам потребуется:

  1.  Платформа 8.3.6 и выше
  2.  Мобильная платформа 8.3.6 и выше
  3.  Аккаунт Google 
  4. Около 20 мин свободного времени )

О том, как развернуть мобильную платформу для разработчика на своем устройстве писать не буду, информации много (я лично слушал бесплатный курс многоуважаемого DitriX).

Ну, приступим. Откроем конфигурацию Сервера и создадим в ней общую форму, из которой будем отправлять пуши клиенту. На форме создадим одну команду, которая и будет отправлять сообщение. Теперь разберемся, каким объектом на уровне платформы представлено push сообщение.  СП подскажет нам, что это ДоставляемоеУведомление. Его инициализация довольно простая, объект доступен везде, кроме Вэб-клиента, что нас вполне устраивает. Поместим следующий код в обработчик нажатия команды общей формы. Контекст выполнения в данном случае не важен. Сразу оговорюсь, что дальше по тексту не будет каких либо проверок на корректность данных, это и так все понятно.

    Уведомление                    = Новый ДоставляемоеУведомление;
    Уведомление.Заголовок		   = "Необходимо выполнить синхронизацию";
	Уведомление.Текст			   = "Новые задания ожидают загрузки на устройство.";
	Уведомление.Данные 			   = "ВыполнитьСинхронизацию";
	Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;

Если бы мы хотели использовать локальные уведомления мобильной платформы на самом МУ, то такой инициализации было бы вполне достаточно, но у нас задача прислать пуш от сервера. Поэтому придется разобраться с еще одним свойством объекта ДоставляемоеУведомление, а именно Получатели. Это массив, то есть при желании можно отправить сообщение сразу нескольким МУ (например, если документ уже был выгружен на МУ1, а затем менеджер решил, что документ должен быть на МУ2). Тип данных элементов этого массива ИдентификаторПодписчикаДоставляемыхУведомлений, и опять же смотрим СП и видим, что о нас позаботились разработчики 1С и придумали замечатльный метод ПолучитьИдентификаторПодписчикаУведомлений, который возвращает как раз то, что нам нужно. Казалось бы практически все готово, но тут начинается самое интересное. Смотрим, что данный метод доступен только на мобильном клиенте, и вдобавок в качестве параметра необходимо указывать какой-то НомерПриложенияGoogleCloud.  Получить его довольно просто. Для этого идем в Консоль разработчика Google, авторизуемся и попадаем на стартовую страницу. Тут необходимо создать новый проект.

Создаем проект в консоли разработчика Google

Мастер создания проектов попросить придумать проекту какое-либо имя (оно будет нужно только для того, чтобы отличать проекты в самой консоли) и согласиться с условиями гугла. После создания проекта уже можно посмотреть необходимый нам НомерПриложенияGoogleCloud. Для этого перейдем в панель администрирования проекта, а затем в настройки. 

Смотрим номер проекта

Попробуем теперь получить ИдентификаторПодписчикаДоставляемыхУведомлений, который доступен через менеджера доставляемых уведомлений, но вспомним, что это все доступно только на мобильном клиенте. Поэтому надо решить, как мы будем передавать полученный ИдентификаторПодписчикаДоставляемыхУведомлений на Сервер. Способов на самом деле достаточно, но я предлагаю использовать http-сервис. Естественно он должен быть создан на Сервере. Итак, создадим http-сервис, с корневым URL testpush и одним методом типа GET, в модуль которого поместим следующий код 

    ПараметрыЗапроса = Запрос.ПараметрыЗапроса;
	Если ПараметрыЗапроса.Количество() <> 1 Тогда
		Ответ = Новый HTTPСервисОтвет(400);
		Ответ.Заголовки.Вставить("Content-Type","text/text; charset=UTF-8");
		Ответ.УстановитьТелоИзСтроки("Неверное количество параметров.");
		Возврат Ответ;
	КонецЕсли;
	
	IDПодписчика = ПараметрыЗапроса.Получить("reginfo");
	
	Константы.IDПодписчика.Установить(Новый ХранилищеЗначения(IDПодписчика, Новый СжатиеДанных(9)));
	
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.Заголовки.Вставить("Content-Type","text/text; charset=UTF-8");
	Ответ.УстановитьТелоИзСтроки("Все прошло успешно.");
	Возврат Ответ;

 Что здесь происходит? Так как мы планируем, что этот сервис будет вызываться с МУ, то ожидаем от МУ 1 параметр reginfo (можно его сделать обязательными, или вообще использовать POST и передавать все в теле, но сейчас не про это) - это сериализованный объект ИдентификаторПодписчикаДоставляемыхУведомлений. Поместим все это в Хранилище значения и  запишем в константу, предварительно создав ее. Теперь наконец-то на сервере у нас будет нужный нам параметр для отправки, но пока у нас до сих пор нечего отправлять, да и неоткуда. Займемся этим вопросом и начнем делать конфигурацию для МУ. Так как объект ИдентификаторПодписчикаДоставляемыхУведомлений имеет переменчивую природу и реккомендуется его переодически обновлять то поступим следующим образом. В  модуле управляемого приложения поместим следующий код (конфигурация для МУ)

Процедура ПриНачалеРаботыСистемы()
	
	ОбновитьIDПодписчика();

	ПодключитьОбработчикОжидания("Подключаемый_ОбновитьIDПодписчика", 7200);
	
КонецПроцедуры

Процедура Подключаемый_ОбновитьIDПодписчика() Экспорт
	ОбновитьIDПодписчика();
КонецПроцедуры

Процедура ОбновитьIDПодписчика()

	#Если МобильноеПриложениеКлиент Тогда

		НомерПроекта = ОбщийМодульВызовСервера.ПолучитьНомерПроекта();
		
		Если ПустаяСтрока(НомерПроекта) Тогда
			Возврат		
		КонецЕсли; 
		
		Попытка
			IDПодписчика = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(НомерПроекта);
		Исключение
			Возврат
		КонецПопытки;
		
		ПараметрыЗапроса = Новый Структура("АдресСервера, ИмяБазы, IDПодписчика");
		// указываем IP Сервера, он может быть как локальный, так и нет
		ПараметрыЗапроса.АдресСервера = "192.168.0.11";
		// имя базы, под которым она была опубликована на вэб сервере
		// о том, как выполнить публикацию информации в Интернете информации предостаточно
		ПараметрыЗапроса.ИмяБазы      = "base";
		ПараметрыЗапроса.IDПодписчика = IDПодписчика;
		
		ОбщийМодульВызовСервера.ОтправитьIDНаСервер(ПараметрыЗапроса);
		
	#КонецЕсли

КонецПроцедуры

Для того, чтобы IDПодписчика всегда был актуальным на Сервере, подключим обработчик ожидания, который будет получать "свежий" ИдентификаторПодписчикаДоставляемыхУведомлений и отправлять его на Сервер, кроме того получение и отправку будем вызывать при самом старте системы. Все эти операции можно выполнять в фоне, чтобы это было незаметно для пользователя. Важным моментом является то, что при вызове метода ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений будет происходить обращение к серверам Google, поэтому на МУ должен быть доступен Интернет. Стоит заметить, что у меня не вышло получить таким образом IDПодписчика на вирутальном устройстве, все вываливалось в ошибку неправильного параметра НомерПроекта (может это как-то связано с ограничением бесплатного функционала Genymotion), но на реальном устройстве все прекрасно отрабатывает.  В общих модулях поместим следующий код.

ОМ Вызов сервера

Функция ПолучитьНомерПроекта() Экспорт

	Возврат Константы.НомерПроекта.Получить();

КонецФункции // ПолучитьНомерПроекта()

Процедура ОтправитьIDНаСервер(ПараметрыЗапроса) Экспорт
	
	ОбщийМодульСервер.ОтправитьIDНаСервер(ПараметрыЗапроса);	

КонецПроцедуры

ОМ Сервер

Процедура ОтправитьIDНаСервер(ПараметрыЗапроса) Экспорт
	
	ПараметрыЗадания = Новый Массив();
	ПараметрыЗадания.Добавить(ПараметрыЗапроса);
	ФоновыеЗадания.Выполнить("ОбщийМодульСервер.ОтправитьIDНаСерверВФоне", ПараметрыЗадания, , "ОтправкаIDПодписчика");

КонецПроцедуры

Процедура ОтправитьIDНаСерверВФоне(ПараметрыЗапроса) Экспорт
	
	Попытка
		Соединение = Новый HTTPСоединение(ПараметрыЗапроса.АдресСервера);
		// первым параметров HTTPЗапрос является адрес ресурса
		// в данном случае сначала идет имя серверной базы, под которым она опубликована на вэб-сервере
		// т.к. мы использовали http-сервис, то после имени идет служебный параметр hs
		// при создании http-сервиса мы указывали коревой URL - testpush 
		// т.к. в сервисе 1 нас всего один метод, и он имеет тип GET, то через знак ? укажем имя параметра reginfo
		// и далее сериализованный IDПодписчика
		// если все ок, то в браузере можно набрать полученный URL и на нашем Сервере все отработает как нужно
		Запрос 	   = Новый HTTPЗапрос(ПараметрыЗапроса.ИмяБазы + "/hs/testpush?reginfo="+Сериализовать(ПараметрыЗапроса.IDПодписчика));
		Запрос.Заголовки.Вставить("Content-Type","text/xml; charset=UTF-8");
		Соединение.ВызватьHTTPМетод("GET", Запрос);	
	Исключение
	КонецПопытки;

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

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

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

Теперь у нас все готово чтобы на Сервере наконец-то оказался ИдентификаторПодписчикаДоставляемыхУведомлений, запускаем мобильное приложение, указываем наш номер проекта, перезапускаем приложение и вуаля, на Сервере константа IDПодписчика теперь хранит что-то типа

<DeliverableNotificationSubscriberID xmlns="http://v8.1c.ru/8.3/data/ext" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<subscriberType>GCM</subscriberType>
	<deviceID>APA91bHaICui92Jdsbv9vrBQsmebjhXvEhUgswKRkCoFwFVHcrCR6RlRH0OqTYRNWUUoM19nv_emkL-OuLfuAwVZfz8u07SDLTwffphWJ71yzTn3YRAKL6M</deviceID>
	<applicationID>com.e1c.mobile</applicationID>
	<databaseID>7e874fd6-e97e-6c1f-ac33-683d141e189d</databaseID>
</DeliverableNotificationSubscriberID>

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

Уведомление.Получатели.Добавить(Десериализовать(Константы.IDПодписчика.Получить().Получить()));

Получаем из константы хранилище значения, а из него уже нашу сериализованную строку и десериализуем ее.

Функция Десериализовать(Данные, ТипПреобразования = Неопределено)

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

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

Теперь у нас есть готовое к отправке пуш сообщение. Для отправки  необходимо использовать метод глобального контекста ОтправкаДоставляемыхУведомлений.Отправить.  В качестве первого параметра необходимо передать сформированный объект ДоставляемоеУведомление, а вот вторым параметром идет строка с ключом авторизации для подключения к службе доставки "Google Cloud Messaging" (из СП). Стоит заметить, что Google Cloud Messaging уже не получится использовать, т.к. гугл использует более новую технологию Firebase Cloud Messaging или просто FCM. Таким образом нам нужно получить этот заветный ключ авторизации у гугла. Для этого вернемся в консоль разработчика Google и перейдем по ссылке.

Переход к FCM

Перед нами откроется страница Firebase Cloud Messaging, там много чего интересно, но нам надо перейти в консоль.

Переход к консоли FCM

Добавим новый проект, указав имя, которое мы указывали при создании проекта в консоли разработичка гугл. После ввода первых символов мастер создания предложить выбрать этот проект. Соглашаемся, также выбираем страну и нажимаем Добавить FireBase. Псоле этого возвращаемся в консоль разработчика гугл (теперь панель управления консоли примет иной вид нежели ранее) и идем в раздел Учетные данные. Тут нас будет интересовать ключи API, а именно ключ сервера.

Ключ API

Копируем его, ведь именно он нам и нужен для отправки пуша, то есть это и есть ключ авторизации для подключения к службе доставки. Возвращаемся в конфигуратор Сервера и немного добавим кода в общей форме. В итоге код отправки push сообщения будет выглядеть следующим образом

    Уведомление                    = Новый ДоставляемоеУведомление;
    Уведомление.Заголовок		   = Заголовок;
	Уведомление.Текст			   = ТекстСообщения;
	Уведомление.Данные 			   = Данные;
	Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
	Уведомление.Получатели.Добавить(Десериализовать(ПолучитьIDПодписчика()));
	ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, КлючСервера);

Где Заголовок, ТекстСообщения, Данные, КлючСервера - это реквизиты формы, а функция ПолучитьIDПодписчика возвращает значение одноименной константы. 

Настало время первого теста. Запускаем приложение на МУ, блокируем экран или сворачиваем приложение, открываем в режиме Предприятие конфигурацию Сервер и жмем Отправить.

Сервер

Ура, МУ прожужжал/пропищал или что-то в этом роде, в общем, все получилось, сообщение доставлено.

Телефон

Остался еще один небольшой нюанс. Пока толку от такого сообщения немного, приложение ничего не делает при получении пуша. Исправим этот момент. В конфигурации МУ, в модуле управляемого приложения в событие ПриСтартеСистемы добавим следующий код

#Если МобильноеПриложениеКлиент Тогда
	ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("Подключаемый_ОбработкаУведомления");
#КонецЕсли

Процедура Подключаемый_ОбработкаУведомления 

Процедура Подключаемый_ОбработкаУведомления(Уведомление, Локальное, Показано) Экспорт

	// просто сообщим тест пуша
	Сообщить(Уведомление.Текст);

КонецПроцедуры

Теперь после отправки сообщения с сервера можно выполнить любые действия на клиенте. В данном случае мы просто покажем текст сообщения.

Финал

Вместо заключения

Firebase это не только отправка push сообщений, но как мимнимум позволяет работать с рекламой в мобильных приложениях (с этим пока не разбирался), и, наверно еще много чего интересного, так что есть чем заниматься, господа!

p.s. в архиве 2 конфигурации - Сервер и Клиент, код которых на 90% изложен в этой публикации. 

58

Скачать файлы

Наименование Файл Версия Размер
Push сообщения с использованием Firebase cloud message:
.zip 13,09Kb
06.04.17
50
.zip 13,09Kb 50 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. CyberCerber 323 06.04.17 15:03 Сейчас в теме
Быстро пробежался, может, не заметил... Какие преимущества у этого сервиса по сравнению с тем, что предоставляет сама 1С?
2. fr13 06.04.17 15:12 Сейчас в теме
А какой сервис у самой 1С? На сколько мне известно, то такого нет. Обращение идет к серверам гугла, эпла и т.д. Наоборот есть возможность это миновать, в менеджере отправки в методе Отправить есть возможность указать, что используется промежуточный сервис, но как это работает - не разбирался.
Еще можно напрямую через http-запрос отправить через любой сторонний сервис, но опять же не сервера 1С. Или быть может речь про локальные уведомления самой мобильной платформы?
3. CyberCerber 323 06.04.17 15:29 Сейчас в теме
(2) Я говорю про этот сервис - https://pushnotifications.1c.com
Да, это промежуточный сервис, который обращается к нативным сервисам платформ.
Просто его настройка и использование намного проще, чем рассказано у вас в статье. Вот и интересуюсь, стоит ли оно того?
4. fr13 06.04.17 15:50 Сейчас в теме
(3) не знал про такой сервис от 1С, будет нужно - разберусь как им пользоваться. А так, мне думается, что все будет тоже самое, кроме получения ключа сервера и номера проекта. Если так, то в чем сложность моего способа?
5. flyer 229 06.04.17 16:36 Сейчас в теме
супер! надо обязательно протестировать функционал. штука однозначно нужная.
6. user665172_ya.kefimov 06.04.17 19:06 Сейчас в теме
Вопрос, тестировали как ведет себя обработка пуш уведомления если мобильное приложение выгружено из памяти? Всмысле показывается ли пуш средствами ОС или будет показан только когда запустится мобильное приложение или вообще не будет показан?

Еще вопрос, пробовал ли оправлять пуш из консоли firebase?

И еще вопрос, пуш успешно получен когда мобильное приложение собрано сборщиком и установлен на девайс или установленным мибильным приложением в "режиме разработки"?
7. fr13 06.04.17 19:28 Сейчас в теме
(6) Если приложение выгружено из памяти, то ничего не происходит, к сожалению. Когда запускаешь 1С все сообщения приходят сразу. Хотя я где-то читал, что должны пуши приходить и когда выгружено приложение из памяти.
В консоли firebase не разбирался, пока не было времени и необходимости.
Пуш будет получен и если приложение собрано в apk и если опубликовано на вэб-сервере, т.е. в "режиме разработки" (в статье именно 2 вариант)
8. user665172_ya.kefimov 06.04.17 19:56 Сейчас в теме
(7) Спасибо за ответы, пару недель тоже экспериментировал с пушами, делал все как в статье за исключением того, что пробные пуши отправлял прямо из консоли firebase. При этом консоль показывала что пуш отправлен, но мобильное приложение ни в какую не хотело его принимать. У меня все-таки подозрение, что в статье описана работа с GСM, а не FCM. Вроде разница между ними небольшая и пока в FCM сохраняется обратная совместимость с GCM, но все-такие какая-то разница есть. Например в проектах react-native требуются определенные телодвижения для перехода с GCM на FCM (правка файла манифеста приложения)
Если будет время прошу попробовать все-таки отправить пуш из firebase консоли (firebase консоль - Notifications - Новое сообщение) и посмотреть пример ли его мобильная платформа. Тогда поймем действительно ли мобильная платформа принимает именно FCM пуши.
9. user665172_ya.kefimov 07.04.17 22:13 Сейчас в теме
Так, подтвердились нехорошие опасения. Мобильная платформа не видит FCM пушей, только GSM. У firebase на днях появилась замечательная фишка cloud functions. Их например можно использовать для отправки пушей мобильной платформе, триггером события при этом является изменение данных в узле firebase database. Так вот внутри этих cloud functions используются именно FCM, а не GCM. Я тестировал так: задеплоил простую функцию, собрал простое приложение на react-native. Так вот, это нативное приложение пуши из cloud function отправленные при помощи FCM принимает замечательно, а мобильное приложение нет =(
И я так понимаю в кишки мобильного приложения залезть не получится и поправить это, только ждать пока 1с это сами реализуют.
10. Lavrentyus 21.04.17 14:30 Сейчас в теме
	Уведомление = Новый ДоставляемоеУведомление;
	Уведомление.Получатели.Добавить("12345);
	Уведомление.Текст = "Текст уведомления";
	Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.Нет;
	Уведомление.Наклейка = 2;
	
	ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, "PUSH_SRV_API_KEY_12345");
Показать


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

Ошибка при вызове метода контекста (Отправить)
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, "PUSH_SRV_API_KEY_12345");
по причине:
Несоответствие типов (параметр номер '1')


Принимаемые типы первого параметра:

<Уведомление> (обязательный)

Тип: ДоставляемоеУведомление, Массив.


Что я делаю не так?
11. fr13 21.04.17 14:45 Сейчас в теме
(10) Судя по Вашему коду Вы в Получатели добавляете просто строку, а нужно ИдентификаторПодписчикаДоставляемыхУведомлений
Lavrentyus; +1 Ответить
12. Lavrentyus 24.04.17 05:49 Сейчас в теме
13. 7OH 32 04.07.17 10:11 Сейчас в теме
Нашёл вашу статью - хорошая статья, но успел всё сделать похожим способом.

Пока руки не дошли до полной реализации http сервера (чтобы весь ид передавать), сделал вот такую функцию для создания ИД на сервере по строке
&НаСервереБезКонтекста
Функция ПолучитьПолучателя(DeviceID, Type)
        
    xdtoПодписчик = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberID"));
    xdtoПодписчик.DeviceID = DeviceID;
    xdtoПодписчик.SubscriberType = ФабрикаXDTO.Создать(
					ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberType")
					, ?(Type = Перечисления.ТипыУстройств.Андроид, "GCM", "APNS")
	);
	
    НовыйСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
    Подписчик = НовыйСериализаторXDTO.ПрочитатьXDTO(xdtoПодписчик);
        
    Возврат Подписчик;
    
КонецФункции
Показать


Но на этапе получения исключённых
масИсключения = ОтправкаДоставляемыхУведомлений.ПолучитьИсключенныхПолучателей(НаборКонстант.КлючДляGOOGLE);


получаю ошибку
"Не переданы данные для авторизации в сервисе отправки уведомлений"

Ключик пробовал и "Ключ API 1" и серверный - всё равно реакция одна.

Может вы сможете подсказать, куда копать ?
14. fr13 04.07.17 11:36 Сейчас в теме
(13)
ПолучитьИсключенныхПолучателей

вроде как только для APNS работает эта штука, а Вы ключ гугл пытаетесь передать.
15. 7OH 32 04.07.17 12:28 Сейчас в теме
(14) Спасибо большое за наводку - и действительно ведь - написано в мануале.
Теперь уже лучше - ошибка выглядит иначе
"Отправка сообщения 1 через GCM завершилась ошибкой: ключ отправителя не подходит для получателя"
Ну тут видимо всё же придётся передавать ИД целиком с сериализацией.
16. odinassdeveloper 20.11.17 18:44 Сейчас в теме
(15) Добрый день? Вам удалось разобраться с этой ошибкой? У меня есть 2 проекта: один был реализован 2 года назад и там пуши отправляются до сих пор, второй делаю сейчас и получаю эту же ошибку. Со стороны 1С у меня механизм идентичный, разница только в проектах Google (под новую задачу создал новый проект)
17. 7OH 32 20.11.17 22:18 Сейчас в теме
(16) В целом да - разобрался. Там проблема была в том, что получение массива отключенных работает только на яблоках.
Могу поделиться примером базы - стучите.
18. odinassdeveloper 21.11.17 12:04 Сейчас в теме
(17) Спасибо, на свежую голову сам разобрался.
Подытожу для истории: получить ключ сервера для GCM API на данный момент можно только в Firebase console. Вот тут подробно расписано. Конкретно я споткнулся на том, что из-за всех этих экспериментов с проектами гугла и ключами для их API я забыл перегенерировать идентификатор мобильного клиента и он оставался подписан на другой проект гугла.
19. OnErrorResumeNext 08.12.17 16:17 Сейчас в теме
(18)
Скажите пожалуйста, как именно перегенерировать идентификатор мобильного устройства? Какие действия сделать?
20. odinassdeveloper 08.12.17 16:50 Сейчас в теме
(19)
так
kyper89; OnErrorResumeNext; +2 Ответить
21. frutty 84 03.02.18 14:47 Сейчас в теме
(20) испробовал всякое, но так и не смог отправить (получить) сообщение

	Уведомление = Новый ДоставляемоеУведомление;	
	
	Для каждого IDGCM Из IDGCMs.IDGCM Цикл
	
	Уведомление.Получатели.Добавить(IDGCM.Получить());
	
	КонецЦикла;
	
	Уведомление.Заголовок = "Заголовок";
	Уведомление.Текст = "Текст";
	Уведомление.Данные = "654654";
	Уведомление.Наклейка = 2;
	Уведомление.ИнтервалПовтора = 0;
	Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
	
	Если Уведомление.Получатели.Количество() > 0 Тогда
		Попытка
			мИсключенныеПолучатели = Новый Массив;
			мИнформацияОПроблемахОтправкиДоставляемыхУведомлений = Новый Массив;
			ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, "AIzaSyCp1J..............................jdazL8", мИсключенныеПолучатели,,мИнформацияОПроблемахОтправкиДоставляемыхУведомлений); 
			ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, "AAAApAOy1s4:..............................................................................................................................................VHePtr2APYA39UWA7rl8IM4e9GYPzf7", мИсключенныеПолучатели,,мИнформацияОПроблемахОтправкиДоставляемыхУведомлений); 
		Исключение

		КонецПопытки;
	КонецЕсли;
	
Показать


Пробовал ключ и новый и старый. По итогу в мИнформацияОПроблемахОтправкиДоставляемыхУведомлений получаю ошибку с "Не переданы данные для авторизации в сервисе отправки уведомлений.".
Что блин я не так делаю?
Прикрепленные файлы:
23. tgnike 01.03.18 10:07 Сейчас в теме
(21) Нужно в данные авторизации передать соответствие.
 
ДанныеАвторизации = Новый Соответствие;
ДанныеАвторизации.Вставить(ТипПодписчикаДоставляемыхУведомлений.GCM, КлючСервера);
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАвторизации, ,,мИнформацияОПроблемахОтправкиДоставляемыхУведомлений); 
oyti; dima1c; it@contlog.ru; +3 Ответить
53. it@contlog.ru 13.04.18 06:06 Сейчас в теме
(23)
ДанныеАвторизации = Новый Соответствие; ДанныеАвторизации.Вставить(ТипПодписчикаДоставляемыхУведомлений.GCM, КлючСервера);


Мне этот совет помог.
Пробовал
на 8.3.11 в режиме совместимости с 8.3.8 - работает.
на 8.3.8 без режима совместимости - работает.
на 8.3.8 в режиме совместимости с 8.3.7 НЕ работает с ошибкой "Ошибка работы с Интернет: Удаленный узел не прошел проверку"
на 8.3.7 без режима совместимости НЕ работает с ошибкой "Ошибка работы с Интернет: Удаленный узел не прошел проверку"

использовал все самые последние варианты работы на момент 04.2018. firebase.google.com длинный ключ сервера.

Скорее всего ниже совместимости с версией 8.3.8 отправка средствами 1с не работает.
22. maksakov.en@mmk.ru 12.02.18 07:34 Сейчас в теме
Спасибо за статью. Все получилось. Только есть вопросы:

1. Зачем обновлять ПодключитьОбработчикОжидания("Подключаемый_ОбновитьIDПодписчика", 7200)?
IDПодписчика у меня уже неделю один и тот же.

2. Кому-то удалось все же получить Push при закрытом моб. приложении (у меня нет)?
Вот что написано здесь: http://v8.1c.ru/o7/201502push/index.htm:
Если мобильное приложение работает в фоновом режиме (неактивно) или вообще не исполняется (выгружено из памяти), то уведомление отображается операционной системой. При этом используется звуковое оповещение и наклейка. В iOS наклейка будет установлена у иконки мобильного приложения на домашнем экране, а в Android она задаёт число, которое будет отображено в сообщении на панели уведомлений. После того, как пользователь нажмёт на уведомление, будет активизировано (или запущено) мобильное приложение, и будет выполнен (если он подключён) обработчик уведомлений.
24. dvissarov5 06.03.18 18:45 Сейчас в теме
Спасибо за статью. До этого все работало исправно, а потом случилось такая странность. (см. скриншот).
При этом с этой ошибка платформа предлагает завершить работу, в исключение в коде не уходит

Был до этого ключ GCM , потом импортировал в FCM и при этом все осталось так же
Самое интересное что иногда проходит push иногда нет.
И то ли проблема в нашем все таки окружении или в каких то изменениях у google.

Сделано все через объекты 1с
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление,ДанныеАвторизации)


2. Непонятно что является ID проекта в FCM для получения идентификатора мобильного устройства , то ли Project ID , то ли Sender ID?
Прикрепленные файлы:
25. itoleg 12.03.18 17:46 Сейчас в теме
Ошибка одинаковая.
проблема началась 27 февраля 2018 года
Ранее работало без збоя.
Решения в интернете не нашел.

Есть решение данной проблемы?


Платформа: 1С:Предприятие 8.3 (8.3.11.3034)
Конфигурация: Сервер
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: украинский (Украина), Сеанс: русский
Вариант интерфейса: Такси

Ошибки:
--------------------------------------------------------------------------------
12.03.2018 16:44:00
Ошибка работы с Интернет: Удаленный узел не прошел проверку
26. ikekoval 101 12.03.18 19:01 Сейчас в теме
(25)
Есть решение данной проблемы?

Ошибка работы с Интернет: Удаленный узел не прошел проверку


Подпишусь на обновления в теме. Такая же ошибка возникла недавно
27. ikekoval 101 13.03.18 09:23 Сейчас в теме
(25)Одноэсники рекомендуют в таком случае на сервере включить лог CAPI2 и искать ошибку в момент отправки пуша. Большинству помогла установка сертификата (ошибки на него указывал лог) во вложении (тип хранилища - локально.
Проблема в платформе, которая работает в режиме совместимости версии старше 8.3.7. Если есть возможность совместимость снять, то проверка сертификата будет выполняться средствами ОС.

Мне установка сертификата не помогла. Работаю с УПП в режиме совместимости 8.2.13. Сегодня отпишу по разбору лога.
Прикрепленные файлы:
GTSGIAG3.crt
Daimon; Коленкин Илья; odinassdeveloper; dvissarov5; +4 Ответить
28. dvissarov5 13.03.18 09:59 Сейчас в теме
(27)
Спасибо.
Тоже увидели форум и там нашли решение. Нам установка сертификата помогла, мы в свое время заморочились и сняли совместимость.
https://partners.v8.1c.ru/forum/topic/1694511#prettyPhoto
Там есть вариант и без снятия совместимости через запросы напрямую, минуя объекты 1С. Идет активное обсуждение.
29. ikekoval 101 13.03.18 11:00 Сейчас в теме
(28) С проблемой столкнулся только вчера вечером и для начала решил опробовать всё, что связано с ошибками сертификатов. По итогу скорее всего опишу прямой запрос т.к. в логах шаром покати, только ошибки при установке нового сертификата т.к. удостоверяющий центр не отвечает, а копать дальше уже сил нет =/
31. artist17 19.03.18 08:46 Сейчас в теме
(27)Мне помогло установка сертификата и добавление в конец файла cacert.pem ключ сертификата Symantec Class 3 Secure Server CA - G4

-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEg­MB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2Jh­bFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjEx­MjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjET­MBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJ­KoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6­ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeM­WhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZf­Xklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKR­ILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpR­l4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOB­nDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU­m+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2Ny­bC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwe­wGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQL­q4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4­h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenV­OavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCM­NYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRu­JQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGT­Lg==
-----END CERTIFICATE-----
32. ikekoval 101 19.03.18 12:33 Сейчас в теме
(31) Спасибо, но мне помогла полумера с сертификатом =) Прямой запрос, к слову, тестировали... Не получилось ибо запрос всё равно сервер отправляет, а сертификата нет.

Сервер (2008R2) с которого push перестали отправляться. Платформа 8.3.10.2466 совместимость 8.2.13 клиент-сервер, обычные формы.

Что сделал. Так как логи CAPI2 ничего не показывали - установил Wireshark на сервер 1с, запустил и в момент отправки push в глаза бросилась ошибка "Unknown CA". Смотрю адрес сервера с которого получил ответ, забиваю его в IE - открылся гугл. Захожу в сертификаты сайта, скачиваю, смотрю наименование - GIA3.

Окей. 1й вариант - вбить его название в гугле и искать ключ сертификата. 2й вариант - разбирать сертификат в .pem формат через openssl, но это черезчур для моих навыков. 3й вариант - спросить на форуме, как я и поступил.

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

-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEg­MB4G A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2Jh­bFNp Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjEx­MjE1 MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjET­MBEG A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJ­KoZI hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6­ErPL v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeM­WhG8 eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZf­Xklq tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKR­ILzd C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpR­l4pa zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOB­nDCB mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU­m+IH V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2Ny­bC5n bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwe­wGoG 3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQL­q4Gs J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4­h4hO 291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenV­OavS ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCM­NYxd AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRu­JQ/7 TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGT­Lg==
-----END CERTIFICATE-----


Дописал его в cacert,pem. УБЕДИЛСЯ, что дата изменения у файла обновилась и только тогда перезапустил 1с сервер (не факт, что требуется). Вуаля, вопрос решён.

Всем добра!
Прикрепленные файлы:
30. itoleg 13.03.18 15:52 Сейчас в теме
Смотрю, проблема существует и актуальна. полумеры с сертификатом не помогают.

Также решил описать прямой запрос.
Пока есть ошибки.
Может скооперироваться та довести до логической работы прямой запрос.
Вот мой текст запроса:

ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " ", Истина));   
	СтруктураЗапроса = Новый Структура;  
	Данные = Новый Структура;
	СтруктураЗапроса.Вставить("data", Новый Структура("message,title","GCM Notifier:Message Success","GCM Notifier:Title Success"));
	Данные = Новый Структура;
	Данные.Вставить("title","GCM Notifier:Title Success");
	Данные.Вставить("body", "GCM Notifier:Message Success");
	Данные.Вставить("sound","default");
	Данные.Вставить("badge","1");
	СтруктураЗапроса.Вставить("notification", Данные);
	
	//Можно так
	//СтруктураЗапроса.Вставить("to", "APA91bFFUQHGAOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX­XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiA");//То что генерируется в мобильном устройсве
	
	//Если отмпарвка нескольким то 
	массивИД    = Новый Массив; 
	массивИД.Добавить("APA91bFFUQHGAOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX­XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiA");//То что генерируется в мобильном устройсве
	СтруктураЗапроса.Вставить("registration_ids", массивИД);
	
	СтруктураЗапроса.Вставить("ApplicationID", "com.e1c.mobile");
	ЗаписатьJSON(ЗаписьJSON, СтруктураЗапроса);
	strJSON = ЗаписьJSON.Закрыть();

	Соединение = Новый HTTPСоединение("gcm-http.googleapis.com/gcm/send");
	HTTPЗапрос = Новый HTTPЗапрос(); 
	HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
	HTTPЗапрос.Заголовки.Вставить("Authorization", "key=AIzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX9o");//Ключ Google
	HTTPЗапрос.УстановитьТелоИзСтроки(strJSON,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать);
	ОтветHTPP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
	
	Сообщить(ОтветHTPP.ПолучитьТелоКакСтроку());
	
	//Ответ
	//{"multicast_id":5396816832955369423,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}
Показать
50. Dimon93dimon 02.04.18 19:21 Сейчас в теме
(30) Я вот не понимаю, что делаю не так. Возвращает ошибку:

Отправка сообщения 1 через GCM завершилась ошибкой: <HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
user932300; +1 Ответить
51. user623969_dusa 02.04.18 21:57 Сейчас в теме
(50) на старых платформах данные авторизации лучше передавать строкой а начиная с совместимости 8.3.10 через соответствие
52. Dimon93dimon 03.04.18 12:30 Сейчас в теме
(51)В этом и проблема. использую соответствие и не использую режим совместимости. Платформа 8.3.12.
57. user932300 18.05.18 18:04 Сейчас в теме
(52)
м и проблема. использую соответствие и не использую режим совместимости. Платформа 8.

Lvbnhbq?
(52)Дмитрий, вам удалось решить данную проблему?
У меня такая же ситуация
56. user872194 10.05.18 09:56 Сейчас в теме
(30)
Может скооперироваться та довести до логической работы прямой запрос.
Вот мой текст запроса:


Oleg P, Получилось в итоге отправить таким запросом на андроид?
61. ruslan_hut 15 06.08.18 16:41 Сейчас в теме
Написал прямым запросом, как в (30), только добавил параметр защищенное соединение:
АдресСервера = "fcm.googleapis.com/fcm/send";
	
	ssl = Новый ЗащищенноеСоединениеOpenSSL(
                Новый СертификатКлиентаWindows(
                                СпособВыбораСертификатаWindows.Выбирать),
                Новый СертификатыУдостоверяющихЦентровWindows()); 

	Соединение = Новый HTTPСоединение(АдресСервера,,,,,,ssl);


И еще. Долго бился, не мог понять почему приходит ответ Unauthorized, в итоге оказалось, что в консоли Firebase в свойствах проекта нужно брать ключ АПИ не из общих параметров а на закладке Cloud Messaging.
80. user1071454 18.03.19 14:03 Сейчас в теме
(61)
АдресСервера = "fcm.googleapis.com/fcm/send";

ssl = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(
СпособВыбораСертификатаWindows.Выбирать),
Новый СертификатыУдостоверяющихЦентровWindows());

Соединение = Новый HTTPСоединение(АдресСервера,,,,,,ssl);


Руслан, не могли бы вы подсказать. Писал прямым запросом. Получается принимать пуш через параметр notification(т.е в фоновом режиме) , а вот с параметром data не получается. Пуш не приходит в открытом приложении
81. ruslan_hut 15 18.03.19 19:10 Сейчас в теме
(80) Приложение нативное или на мобильной платформе?
У меня формирование сообщения сделано вот так (по сути тело вставляется два раза, один раз для обработки на клиенте в фоновом режиме, другой для обычного режима)

само сообщение: ТелоСообщения
для уведомления: ПараметрыУведомления
всё вместе: ПараметрыСообщения

 ТелоСообщения = Новый Структура;
	ТелоСообщения.Вставить("title", ДанныеСообщения.Заголовок);
	ТелоСообщения.Вставить("body", ДанныеСообщения.Сообщение);
	ТелоСообщения.Вставить("document_guid", ДанныеСообщения.Идентификатор);
	
	ПараметрыУведомления = Новый Структура;
	ПараметрыУведомления.Вставить("title", ДанныеСообщения.Заголовок);
	ПараметрыУведомления.Вставить("body", ДанныеСообщения.Сообщение);
	ПараметрыУведомления.Вставить("data", ТелоСообщения);
	
	ПараметрыСообщения = Новый Структура;
	ПараметрыСообщения.Вставить("to", ТокенПолучателя);
	ПараметрыСообщения.Вставить("data", ТелоСообщения);
	ПараметрыСообщения.Вставить("notification", ПараметрыУведомления);
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку();
	
	
	ЗаписатьJSON(ЗаписьJSON, ПараметрыСообщения);
	СтрокаТелоЗапроса = ЗаписьJSON.Закрыть();
Показать
82. user1071454 18.03.19 22:22 Сейчас в теме
(81)
само сообщение: Тело

Приложение нативное. Мне кажется, моя проблема в том, что на клиенте я неправильно делаю вывод сообщения. Буду признателен, если подскажите. Получается, в обработчик доставляемых уведомлений вы передаете ПараметрыУведомления?
т.е как-то так?

Процедура ПриНачалеРаботыСистемы()
	
	
	#Если МобильноеПриложениеКлиент Тогда
	ДоставляемыеУведомления.ПодключитьОбработчикУведомлений("Подключаемый_ОбработкаУведомления");

    #КонецЕсли
	
КонецПроцедуры



Процедура Подключаемый_ОбработкаУведомления(ПараметрыУведомления, Локальное, Показано)  Экспорт


	#Если МобильноеПриложениеКлиент Тогда
	 Сообщить(ПараметрыУведомления);
	#КонецЕсли
    
КонецПроцедуры
Показать
83. ruslan_hut 15 19.03.19 09:47 Сейчас в теме
(82) У меня моб. приложение на Java, по этому как надо сделать в 1С не подскажу..
84. user1071454 19.03.19 10:38 Сейчас в теме
(30)
ЗаписьJSON = Новый ЗаписьJSON;

Здравствуйте, получилось у вас довести запрос до рабочего состояния?
33. maksakov.en@mmk.ru 19.03.18 13:05 Сейчас в теме
Сначала все работало, потом стало выдавать
Ошибка работы с Интернет: Удаленный узел не прошел проверку

обновил платформу до 8.3.11.3034 теперь такая ошибка у меня:

{ОбщаяФорма.ОтправитьPushсообщение.Форма(41)}: Ошибка при вызове метода контекста (Отправить)
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ЭтотОбъект.КлючСервера);
по причине:
Не переданы данные для авторизации в сервисе отправки уведомлений.
34. maksakov.en@mmk.ru 19.03.18 13:37 Сейчас в теме
Если сделать, так то тоже ошибка
ОтправкаДоставляемыхУведомлений.ПолучитьИсключенныхПолучателей(КлючСервера)

Не переданы данные для авторизации в сервисе отправки уведомлений
35. user623969_dusa 21.03.18 12:45 Сейчас в теме
аналогичная ошибка - перскочил платформу - если бы остался на 8.3.8 все бы работало
36. user623969_dusa 21.03.18 13:17 Сейчас в теме
возникло предположение а не проблема ли это различия мобильной платформы и стационарной ид подписчика то получается в платформе 8.3.8 например и естественно посылая пуш с 8.3.11 будет ошибка сертификата - есть у кого время проверить гипотезу?
40. user623969_dusa 22.03.18 18:18 Сейчас в теме
(36) установка мобильной платформы 8.3.11 картины не меняет с 8.3.11 стационарной ошибка а на 8.3.8 и даже 8.3.9 работает
37. maksakov.en@mmk.ru 22.03.18 07:09 Сейчас в теме
В 8.3.10 ошибка: Ошибка работы с Интернет: Удаленный узел не прошел проверку (раньше не было ошибок, до 8 марта)

После этой ошибки я обновил платформу на 8.3.11, ошибка: Не переданы данные для авторизации в сервисе отправки уведомлений.

Приложения для мобильника я не менял, ID подписчика всегда выдает один и тот же, он не изменен.

Может настало время платить за сервис google?
38. user623969_dusa 22.03.18 09:23 Сейчас в теме
(37) точно гугл не причем если локально запуститься на 8.3.8 отправка работает
39. Коленкин Илья 24 22.03.18 16:48 Сейчас в теме
запустил под 8.3.8 без использования режима совместимости ошибка пропадает но к сожалению не могу позвонить отключить совместимость. Есть еще другие решения этой задачи?
41. user623969_dusa 22.03.18 18:26 Сейчас в теме
(39) установка сертификата выше по сообщениям сработала GTSGIAG3.crt

и еще замечание
//так работает
ДанныеАвторизации = Новый Соответствие;
ДанныеАвторизации.Вставить(ТипПодписчикаДоставляемыхУведомлений.GCM, Ключ);
ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАвторизации);
//а так можно было раньше, больше не работает
//ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, Ключ);
romashka_93; Коленкин Илья; +2 Ответить
72. romashka_93 29.11.18 05:01 Сейчас в теме
(41) user623969_dusa, огромное спасибо. Уже сломала голову и замучала техподдержку на v8. Две недели не отправлялись пуши на андроид. Грешила на смену мобильной платформы (как раз совпало, что перешли на 8.3.12), очередной перевыпуск сертификата гугла и прочее, а дело в маленьком кусочке кода
43. Коленкин Илья 24 23.03.18 11:10 Сейчас в теме
Установил сертификат. версия 8.3.10.2667, переписал код - Все работает.
44. odinassdeveloper 23.03.18 17:24 Сейчас в теме
(43)
ановил сертификат. версия 8.3.10.2667, переписал код

А режим совместимости какой?
45. Коленкин Илья 24 23.03.18 17:31 Сейчас в теме
(44) РежимСовместимости 8.3.6.
47. odinassdeveloper 23.03.18 17:52 Сейчас в теме
(45) Еще раз уточню:
1. Установили сертификат из (27)
2. Сделали вызов как в (39)
3. Режим совместимости оставили 8.3.6
4. Платформа 8.3.10.2667
И все работает?
И какая у Вас ОС?
48. user623969_dusa 23.03.18 21:18 Сейчас в теме
(44) мне нужна совместимость 8.3.8 всего то но проблема возникла у тех кто обновил платформу на 8.3.10 она возникла не просто из-за повышения совместимости а из-за смены платформы, с 8.3.9 не пробовал
49. ikekoval 101 24.03.18 10:27 Сейчас в теме
(48) Неправда. Проблема возникла не из-за обновления платформы, а на пустом месте. Пришло время и старый сертификат истёк. Для сервера мало кто следит за сроками сертификатов.
Вопрос уже был решен.
Если режим совместимости 8.3.7+ то ищем сертификат GIA3 в консоле certmgr.msc и проверяем даты. Просроченный обновляем.
Если 8.3.7 и менее, то пишем ключ сертификата в cacert.pem
dvissarov5; Коленкин Илья; +2 Ответить
54. saa@kuzov.org 27.04.18 00:59 Сейчас в теме
ОС Windows 10 и Windows 2016 Server
Платформа 8.3.11 и 8.3.12 (последние с сайта).
Попытка отправить push на Андроид.

На строке

ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАвторизации, , , МассивОшибокОтправкиPUSH);


тонкий клиент просто крашится, и Windows предлагает "отладка" или "закрыть программу".

В технологическом журнале пусто.

Кто-нибудь сталкивался?
55. user872194 08.05.18 12:00 Сейчас в теме
привет всем! много ваших советов помогло. но столкнулся с такой штукой. 1с-ка отправляет уведомление но приложение не отображает текст(пишет null). но когда отправляю с разных сайтов все получается. в чем может быть дело?
Уведомление                    = Новый ДоставляемоеУведомление;
	Уведомление.Заголовок		   = "111";
	Уведомление.Текст			   = "123"; 
	Уведомление.Данные			   = "213"; 
	Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию;
	
	xdtoПодписчик = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberID"));
	xdtoПодписчик.DeviceID = "ID1";
	xdtoПодписчик.SubscriberType = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.3/data/ext","DeliverableNotificationSubscriberType"), "GCM");
	НовыйСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
	Подписчик = НовыйСериализаторXDTO.ПрочитатьXDTO(xdtoПодписчик);
	Уведомление.Получатели.Добавить(Подписчик);
	ДанныеАвторизации = Новый Соответствие;
	ДанныеАвторизации.Вставить(ТипПодписчикаДоставляемыхУведомлений.GCM, "ID2");
	МассивУв=Новый массив;
	МассивУв.Добавить(Уведомление);
	ОтправкаДоставляемыхУведомлений.Отправить(МассивУв, ДанныеАвторизации);
	
	

Показать
58. Daimon 22.05.18 17:09 Сейчас в теме
Спасибо, автору!!! После танцев с бубнами, но таки взлетело!
8.3.12.1440 (без режима совместимости) и 8.3.11.61 (мобильная). Сертификат безопасности понадобился.
59. r.zdorkin 18.06.18 13:29 Сейчас в теме
пробую сделать то же самое только для iOS
в итоге не получается отправить сообщение.
на сколько я знаю для отправки уведомления APNS необходимо в операторе во второй параметр "ДанныеАутентификации"

ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАутентификации);


подсунуть Файл сертификата (а не ключСервера, как это на андроиде), необходимый для подключения к службе доставки "Apple Push Notification Service" (расширение .pem). у кого-то получилось это сделать, если да, то какие были особенности, у меня что-то никак не взлетит и сертификат сгенерил и подсунул его в виде макета, но уведомление не проходят, ошибок со стороны 1с не выходит
60. ziercool 29 02.07.18 18:54 Сейчас в теме
Странно, но мне кажется что это GCM а не FCM....
62. Region102 07.08.18 07:19 Сейчас в теме
(60) Мне тоже кажется, что 1С до сих пор использует GCM а не FCM. Но я в принципе использую http запросы к этим сервисам. Стандартный класс 1С от версии к версии может вести себя не предсказуемо.
63. user760779 10.08.18 15:59 Сейчас в теме
Всё ок, только что то не робит и пуш не приходит( Печаль беда. А ещё постоянно ругается на ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, КлючСервера);, так как думает что я это буду в мобилке юзать
64. ZIGRAS 11.08.18 11:42 Сейчас в теме
Решил попробовать PUSH и уже на первом этапе застрял -
IDПодписчика = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений("10412********");
выдает ошибку
{Обработка.Тест.Форма.Форма.Форма(498)}: Ошибка при вызове метода контекста (ПолучитьИдентификаторПодписчикаУведомлений)
по причине:
Не удалось получить идентификатор подписчика push-уведомлений.

Мобильная платформа 8.3.12.74. Подскажите что не так то(
65. user623969_dusa 13.08.18 09:30 Сейчас в теме
(64) если контекст вызова правильный - клиент мобильное приложение, тогда надо смотреть правильно ли заведен проект - из первого что приходит на ум, проверить разрешения на ip, которые могут получать идентификатор
66. ZIGRAS 14.08.18 10:57 Сейчас в теме
(65) При создании проекта, уже по умолчанию устанавливаются ограничения по ip? Где это можно посмотреть? Все API включены, квоты по умолчанию.
67. user1048985 25.10.18 15:25 Сейчас в теме
Hi,

I working on push notification. My code is:

Mobile;

//managed application module


Procedure OnStart()

UpdateClientID();



AttachIdleHandler("Connectable_UpdateFollowingID", 7200);

#If MobileAppClient Then

DeliverableNotifications.AttachNotificationHandler("Plugin_ProcessingNotifications");

#EndIf

EndProcedure


Procedure Connectable_UpdateFollowingID() Export

UpdateClientID();

EndProcedure


Procedure UpdateClientID()

#If MobileAppClient Then

mProjectNumber = CommonCallServer.GetProjectNumber();

If IsBlankString(mProjectNumber) Then

Return;

EndIf;



Try

SubscriberID = DeliverableNotifications.ReceiveNotificationSubscriberID(mProjectNumber);

Except

Message(ErrorDescription());

Return;

EndTry;



mQueryOptions = New Structure("ServerAddress, NameBase, ClientID");

// указываем IP Сервера, он может быть как локальный, так и нет

mQueryOptions.ServerAddress = "192.168.0.14";

// имя базы, под которым она была опубликована на вэб сервере

// о том, как выполнить публикацию информации в Интернете информации предостаточно

mQueryOptions.NameBase = "GELAL";

mQueryOptions.ClientID = SubscriberID;



CommonCallServer.SendIDToServer(mQueryOptions);

#EndIf

EndProcedure


Procedure Plugin_ProcessingNotifications(Notification, IsLocal, IsShow) Export

// просто сообщим тест пуша

Message(Notification.Text);

#If MobileAppClient Then

MultimediaTools.PlaySoundAlert(SoundAlert.Default,True);

Noti = New DeliverableNotification;

Noti.Title = Notification.Text;

Noti.Text = Notification.Text;

Noti.SoundAlert = SoundAlert.Default;

DeliverableNotifications.AddLocalNotification(Noti);

#EndIf

EndProcedure



It is working. my mobile device get id from firebase and update server constant is clientID.

Than, i was try send a deliverablenotification on server to mobile device.

Server;

&AtServer

Procedure OnCreateAtServer(Cancel, StandardProcessing)

ThisForm.ServerKey = "AAAA5L5rYdQ:APA91bEY0GG6FZB2GCW3OwnUhBtAREB65pghyZvc9UKJC64IyOenBJFTDYVq­wVBw7T2POQg-E_Vd37eALjkKqb9gKWlPlxCOtO2BQa82DXEnDJSR-qnonyFiC8aLXTCx4rAmTrkjpLdA";

ThisForm.Başlık = "AA";

ThisForm.Mesaj = "AAA";

EndProcedure


&AtClient

Function DeSerialize(Data, ConversionType = Undefined)

XMLReader = New XMLReader;

XMLReader.SetString(Data);

mReadXML = XDTOSerializer.ReadXML(XMLReader, ConversionType);

XMLReader.Close();

Return mReadXML;

EndFunction


&AtServerNoContext

Function GetClientID()

Return Constants.ClientID.Get().Get();

EndFunction


&AtClient

Procedure Gönder(Command)

Notification = New DeliverableNotification;

Notification.Title = Başlık;

Notification.Text = Mesaj;

Notification.SoundAlert = SoundAlert.Default;

pXML = DeSerialize(GetClientID());

Notification.Recipients.Add(pXML);

DeliverableNotificationSend.Send(Notification, ServerKey);

EndProcedure


&AtClient

Procedure OnOpen(Cancel)

ThisForm.ClientID = DeSerialize(GetClientID()).DeviceID;

EndProcedure


This code is working. Not give error. But notification not received my mobile device.

My versions are:
Mobile device: Android 5.1
Mobile App: 8.3.12.67

Server: 8.3.12.1567

How can i fix this issue? Please help me.

i bought this program. Not working. The notification is not forwarded to the phone. I want to give back. Will you solve my problem?
68. oyti 37 07.11.18 15:07 Сейчас в теме
(67) First of all, pay attention to the server address 192.168.0.14 (you need to change to your current one).
Then make sure that the client sends the recipient's identifier to the server (in the sending form, the lowest field should be filled in).
And there are a lot of nuances with the publication of a web service and a mobile application.
And of course here
DeliverableNotificationSend.Send (Notification, ServerKey);
must be changed to Соответствие (I do not know the English equivalent)
Please provide more error information.
73. oyti 37 29.11.18 11:20 Сейчас в теме
Как и у многих крашилось по
Ошибка работы с Интернет: Удаленный узел не прошел проверку

Перелопатил многие варианты... в итоге заработало по следующему сценарию:
1. cacert.pem с сайта ИТС
2. добавляем Google Internet Authority G3 (взять можно чуть ли не на любом компьютере сертификат с расширением .crt, преобразовать к pem по сценарию https://infostart.ru/public/79494/)
WireShark по-прежнему ловит ошибку Unknown CA. Думал, что с моими манипуляциями что-то не то, а на деле все оказалось проще. Случайно обратил внимание, что сертификат GlobalSign в cacert.pem, служащий корневым для GIAG3, истек еще в 2014.
3. добавляем актуальный GlobalSign в cacert.pem
PROFIT

Платформа: 1С:Предприятие 8.3 (8.3.11.2867)
Режим совместимости: 8.3.4
Клиент-сервер
Прикрепленные файлы:
cacert.pem
GIAG3.txt
GlobalSign.txt
94. frkbvfnjh 559 01.11.19 11:38 Сейчас в теме
(73) Почему нигде в документации 1С это не сказано?
95. frkbvfnjh 559 01.11.19 11:45 Сейчас в теме
(73) Можете дать готовый cacert.pem? Я так понял в предоставленном Вами уже вставлен GIAG3.txt, я попробовал добавить в конец еще GlobalSign.txt, но нифига, все равно вылетает та же ошибка. Какого черта, почему все так сложно? Почему не получается просто по ключу сервера, если в документации такой способ разрешен?
74. Amel2010 29 28.01.19 21:09 Сейчас в теме
Хотелось все это попробовать...
Скачал архив. Создал базы. Что дальше делать - не понятно.
Будьте добры, "разжуйте" для "чайников".
Как это развернуть за пресловутые "20 минут" свободного времени?
75. Xershi 763 28.01.19 22:43 Сейчас в теме
(74) компилить мобильное приложение. Научить это делать за 20 не выйдет. Гилев за пять вечеров учит. Курс бесплатный.

Так же вопрос автору. В качестве сервера может выступать второй мобильный клиент? Какая скорость такого общения? В шахматы в режиме онлайн сможет работать?
76. fr13 637 29.01.19 04:39 Сейчас в теме
(75) МенеджерОтправкиДоставляемыхУведомлений не доступен на мобильном устройстве, так что push с МУ на МУ средствами мобильной платформы 1С отправить не получиться. Нужен посредник в виде десктопной платформы.
78. dimasts 22 14.02.19 09:19 Сейчас в теме
В начале статьи было сказано, что будет всё быстро и легко, но по факту всё вообще не понятно.

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

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

Через https://pushnotifications.1c.com всё получается намного проще в два клика и работает как часы. Но хотелось всё сделать без посредников.

Код 1С элементарный к нему вопросов нет.
Прикрепленные файлы:
vsesam80; +1 Ответить
79. dimasts 22 14.02.19 18:07 Сейчас в теме
85. user1044844 18.04.19 15:41 Сейчас в теме
(78) Получилось ли доставить push уведомление на iOS устройство через https://pushnotifications.1c.com ? Если да, то подскажите, пожалуйста, в чем там отличие от отправки на android устройство.
86. EvgeTrofi 08.08.19 07:32 Сейчас в теме
(78) Есть инструкция как этим сервисом пользоваться?
87. Reznik_Nikolay 19.08.19 16:24 Сейчас в теме
Ребят, как поведет себя отправка через push уведомления от сервера к мобильным приложениям данных json? Причем json может быть огромным.

Т.к. на стороне мобильной платформы нет http сервисов, универсальный обмен json не подойдет, т.к. отсылка идет со стороны сервера. Со стороны мобильного приложения запрашивать обновления и синхронизацию не хочу.
88. user623969_dusa 20.08.19 08:42 Сейчас в теме
В СП
МенеджерОтправкиДоставляемыхУведомлений (DeliverableNotificationSendManager)


Примечание:

Суммарная длина полей уведомления в системе APNS не может превышать 2 КБайт. Суммарная длина полей уведомления в системе GCM не может превышать 4 КБайт. При превышении установленного лимита будет сгененировано исключение.

у меня 8.3.12 нет примечания к FCM, предполагаю там тоже есть ограничения
89. Reznik_Nikolay 20.08.19 10:48 Сейчас в теме
(88) Хмм. Сейчас не могу глянуть. Относится это к свойству "Данные"? Я вчера пробовал сделать, у меня уведомление с локальной тачки (сервер) отправляется, но на смартфон ничего не приходит. Попробую вечером ещё раз... (вроде делал всё по инструкции)
90. Reznik_Nikolay 21.08.19 23:51 Сейчас в теме
Всё получилось...

Самое забавное, что суммарная информация передачи push уведомления по полям: "заголовок, текст, данные" - не должна превышать 2кб, иначе не приходит.

Печаль, беда... Кто-нибудь сталкивался? есть пути обхода? Скажем, мне бы JSON передать, где 2000 символов, не получится...
91. Daimon 22.08.19 08:06 Сейчас в теме
(90)В данных сообщения передавай клиенту UID, по которому он сам заберет с сервера нужные данные.
92. Reznik_Nikolay 22.08.19 09:33 Сейчас в теме
(91) Да, согласен, но идея была сразу парсить JSON. Начитался, видимо придется так и делать.

Есть идеи, как по другому с сервера сразу передавать данные на мобилку? Возможно, я загоняюсь уже =)
93. Daimon 22.08.19 10:40 Сейчас в теме
(92)
Возможно, я загоняюсь уже =)

думаю да. В свое время реализовывал по указанному выше пути. Все работает на "ура" и по сей день без сбоев.
Оставьте свое сообщение

См. также

Simple UI – простой конструктор мобильных приложений для бизнеса. Обновление 11.12.19: распознавание текста и многое другое 50

Инструменты и обработки Программист Пользователь Руководитель проекта Архив с данными v8 УУ Абонемент ($m) Мобильная разработка

Simple UI – платформа для создания приложений на Android мобильных рабочих мест (в точ числе ТСД, телефонов и т.д.), работающих в режиме мобильного фронта к учетнйо системе так и самостоятельно. Это продолжение и развитие проекта Simple WMS. Новая платформа содержит все, что есть в Simple WMS но, вместе с тем реализует новые подходы к разработке, которые позволяют создавать приложения для любых целей, а не только для склада. Приложение имеет полную обратную совместимость и способно запускать старые конфигурации. Тестировалось на 1С: Предприятие 8.3 релиз 8.3.13.1865.

5 стартмани

14.11.2019    3435    23    informa1555    8       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Получение AndroidID в мобильном приложении 8

Инструменты и обработки Программист Архив с данными v8::Mobile Россия Абонемент ($m) Мобильная разработка

Получаем Android DeviceID в мобильном приложении/клиенте, используя стороннее приложение.

1 стартмани

05.11.2019    2065    sam441    8       

Использование библиотеки Retrofit в проектах на Андроид 4

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Android Абонемент ($m) Мобильная разработка

Использование библиотеки Retrofit в проектах на Андроид для обмена данными с 1С с помощью HTTP-сервисов, с примерами и готовым рабочим шаблоном.

5 стартмани

04.11.2019    1594    WKBAPKA    2       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Мобильное приложение для Android для отправки СМС из 1C 14

Инструменты и обработки no Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) SMS рассылки Мобильная разработка

Вашему вниманию предлагается мобильное приложение (конфигурация .cf) + HTTP сервис для отправки СМС из 1С8

2 стартмани

04.11.2019    1865    dimasikus31    2       

Мобильная платформа. Косяки работы с интерфейсом 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Android Абонемент ($m) Мобильная разработка Работа с интерфейсом

Думаю, каждый, кто хоть немного акцентировался на работе интерфейса на мобилке, сталкивался с проблемами с управлением элементами формы. О них и предлагаю поговорить.

1 стартмани

24.10.2019    1425    Crazy_Max    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол 63

Инструменты и обработки no Приложение (apk) v8 1cv8.cf Абонемент ($m) Мобильная разработка

В платформе 1С реализована прекрасная возможность работы с открытым веб-протоколом OData, который предоставляет любой другой платформе интерфейс доступа - возможность запрашивать и обновлять данные из базы 1С. Далее в статье будут описаны особенности работы мобильного приложения ODa, которое без программировании на стороне Android'a позволит разработчикам публиковать базы 1С, что даст возможность обычным пользователям взаимодействовать с объектами метаданных, используя нативные элементы интерфейса платформы Android.

1 стартмани

22.10.2019    4334    7    Kosigo    11       

Мой помощник и бухгалтер 5

Отчеты и формы no Приложение (apk) v8::Mobile Домашние учет и финансы Россия УУ Android Абонемент ($m) Учет доходов и расходов Мобильная разработка

Домашняя бухгалтерия, записная книжка, контакты, напоминания, сканер штрих-кода, матрица Эйзенхауэра - все в твоём телефоне.

1 стартмани

26.09.2019    1935    2    user-sergey    10       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид 9

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент Мобильная разработка Защита и шифрование

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    1749    1    IgorKissil    0       

Пример простого и приятного внешнего HTML интерфейса для мобильного приложения 10

Отчеты и формы Программист Конфигурация (md, cf) v8::Mobile Абонемент ($m) Работа с интерфейсом Мобильная разработка

Реализация простого и приятного внешнего HTML интерфейса для мобильного приложения. Делимся исходниками, чтобы разработчики мобильных приложений разрабатывали больше приятных интерфейсов для приложений.

5 стартмани

05.09.2019    2301    21    Baksheev-Nikita    10       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

ERP 2.4 "Рабочее место работника склада" на ТСД + Android 7 9

Инструменты и обработки Программист Расширение (cfe) v8 ERP2 УУ Учет ТМЦ Абонемент ($m) Терминал сбора данных Рабочее место Мобильная разработка

Решение задачи использования терминала сбора данных в режиме онлайн при помощи типовой обработки ERP 2.4 "Рабочее место работника склада", запуском ERP на мобильном клиенте 1С. Для настройки использовался ТСД Urovo V5100 на ОС Андроид 7.

1 стартмани

07.08.2019    3891    5    chemezov    8       

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции 11

Инструменты и обработки Программист Пользователь Архив с данными v8::Mobile Розничная и сетевая торговля (FMCG) Android Розничная торговля Абонемент ($m) Терминал сбора данных Мобильная разработка

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции на ТСД под Android. Получение данных марок (штрихкодов), используя БПО для мобильного приложения. Разработка на платформе 8.3.13.1809. Мобильная платформа 8.3.13.64. Версия сборщика 2.0.8.19.

1 стартмани

18.07.2019    2780    7    savostin.alex    0       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Мобильное приложение "Сбор заказов" 7

Отчеты и формы Программист Пользователь Приложение (apk) v8 v8::Mobile 1cv8.cf Украина УУ Монитор заказов Абонемент ($m) Мобильная разработка

Приложение «Сбор заказов» разрабатывалось и разрабатывается для хранения и накопления данных от торговых представителей и автоматического обмена данными с программой учёта на базе платформы 1С:Предприятие. Мобильное приложение написано на технологии мобильной платформы 1С:Предприятие. Механизм обмена данных происходит посредством почтового сервера. В дальнейшем будет реализован механизм непосредственного доступа приложения к учётной системе через прямое интернет-соединение. FTP-соединение не работает как надо, так что будем довольствоваться тем, что есть... :)

4 стартмани

06.06.2019    2972    yarsort    9       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Мобильное приложение 1С: Список покупок и анализ расходов 33

Отчеты и формы Программист Пользователь Конфигурация (md, cf) v8 v8::Mobile Домашние учет и финансы Россия УУ Windows Финансовый учет и бюджетирование (FRP) Абонемент ($m) Мобильная разработка

В публикации рассмотрено небольшое домашнее мобильное приложение для составления списка покупок и анализа расходов. В приложении реализованы: работа с штрихкодами (сканирование встроенной камерой), поиск наименования товара по штрихкоду из интернета, загрузка чеков из ФНС по QR-коду, вывод QR-кода ранее загруженного чека и др.

1 стартмани

06.06.2019    4060    18    vasilievil    4       

Event Management - мобильное приложение для управления мероприятиями (Android) 2

Отчеты и формы no Приложение (apk) v8::Mobile Развлечения, искусство, спорт УУ Android Производство готовой продукции (работ, услуг) Абонемент ($m) Мобильная разработка

Event Management - мобильное приложение для управления мероприятиями. Отлично подойдет event-агентствам, свадебным организаторам, а также тем, кто проводит консультации, тренинги и т.д. Работает на Android (проверено на версии 5.1).

4 стартмани

31.05.2019    2450    1    yuriy_lokhonya    1       

Многофункциональная выгрузка из 1С: Управление торговлей (УТ11, УТ10) в Бухгалтерию предприятия (БП2, БП3) Промо

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C Управление торговлей (ред. 11 или 10) и 1С Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

9500 руб.

[Расширение] для подключения мобильного устройства к УТ11.4/ КА 2/ERP 2 для работы с ордерным складом на базе Simple WMS. Для автоматизации склада нужен только телефон 22

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 ERP2 УТ11 КА2 УУ Оптовая торговля Розничная торговля Учет ТМЦ Абонемент ($m) Сканер штрих-кода Терминал сбора данных Мобильная разработка Управление торговлей

Представляю готовое решение для работы с ордерами и проведения инвентаризаций в виде расширения на базе конструктора Simple WMS. Не требует доработки конфигурации, подключается как обычное расширение. Работать может с обычного телефона на Андроид либо с ТСД либо через RDP. Расширение содержит справочники, поэтому режим совместимости конфигурации должен быть не меньше 8.3.11. Расширение написано для конфигурации Управление торговлей 11.4.7 и тестировалось на Комплексная автоматизация 2.4.7.151.

5 стартмани

27.05.2019    5073    26    informa1555    20       

Мобильное приложение по учету личных финансов Android 7.0 7

Отчеты и формы no Архив с данными v8 Домашние учет и финансы УУ Android Финансовый учет и бюджетирование (FRP) Абонемент ($m) Мобильная разработка

Мобильное приложение по учету личных финансов, имеется возможность вести учет по банкам, по валюте сканировать чеки, вести учет по статьям движения денежных средств, реализована возможность резервного сохранения данных и синхронизации с приложением на ПК. Имеется демо-версия и собранный apk файл. Тестирование производилось Android 7.0 1С:Предприятие 8.3 (8.3.14.1694) Мобильная платформа 1С:Предприятия 8.3.14.53.

1 стартмани

26.05.2019    2292    3    o.kovalev    4       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.

19700 руб.

Оффлайн телефонный справочник для IOS и Android 7

Инструменты и обработки Программист Пользователь Приложение (apk) v8 1cv8.cf Россия Абонемент ($m) Мобильная разработка

Как сделать телефонный справочник компании на мобильном телефоне для IOS, если у тебя android, бюджет в 100 долларов, несколько стартмани, а ты мастер программирования только в 1С? + БОНУС, как в компании бесплатно использовать телефонный справочник IOS и Android.

1 стартмани

20.05.2019    3103    2    rujiy_kot    2       

Шаблон http-сервиса для вашего проекта 89

Инструменты и обработки Программист Архив с данными v8 v8::Mobile 1cv8.cf Абонемент ($m) Внешние источники данных WEB Мобильная разработка

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    9022    57    MarkoSokolov    47       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Управление задачами (мобильное приложение) 15

Отчеты и формы no Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Мобильная разработка

Конфигурация "Управление задачами" для мобильного приложения.

2 стартмани

29.04.2019    2862    8    noprogrammer    0       

EGAIS Scan - приложение для ТСД 4

Статья Системный администратор Программист Бухгалтер Пользователь Архив с данными v8 УТ10 УПП1 УТ11 КА2 Россия УУ Оптовая торговля Розничная торговля Учет ТМЦ Абонемент ($m) Терминал сбора данных Мобильная разработка

Каждый, кто занимается торговлей алкогольной продукцией, сталкивался с проблемами сканирования акцизных марок и трудностями при взаимодействии с учетной системой 1С. Приложение EGAIS Scan - простое и оптимальное решение для выполнения быстрой приемки и отгрузки алкогольной продукции.

1 стартмани

17.04.2019    2647    5    MrChe    1       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Управление ТСД Zebra с помощью внешней компоненты для мобильной платформы 5

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент Мобильная разработка

Представлена внешняя компонента для управления сканерами терминалов Zebra из мобильных приложений 1С.

2 стартмани

15.04.2019    3303    6    IgorKissil    1       

Андроид активити, разработанное для запуска и сбора информации из мобильного приложения 1С 8.3 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::Mobile 1cv8.cf Автомобили, автосервисы Android Абонемент ($m) Мобильная разработка

Активити доступно из кода мобильного приложения 1С 8.3. Может использоваться как часть приложения при приемке автомобиля на предприятиях автосервиса. По сути является модальным диалогом, для внесения данных по осмотру автомобиля при приемке/передаче.

1 стартмани

10.04.2019    2258    hiEnergy    1       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Мобильный менеджер 4

Отчеты и формы Пользователь Архив с данными v8 1cv8.cf Россия УУ Android Оптовая торговля Розничная торговля Абонемент ($m) Мобильная разработка

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

1 стартмани

09.04.2019    2395    1    ziercool    1       

Подкасты сайта "Эхо Москвы" в мобильном приложении 1С 3

Инструменты и обработки no Архив с данными v8::Mobile Россия Android Абонемент ($m) Мобильная разработка

Данная разработка показывает возможности мобильного приложения от 1С на примере получения данных с сайта радиостанции "Эхо Москвы" и последующего проигрывания мультимедиа.

1 стартмани

09.03.2019    2468    2    NovPas    6