Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

1С + Firebase (Firestore)

1С + Firebase (Firestore)
Я
   Сниф
 
23.03.18 - 20:00
Привет. Видел примеры обращения к Firebase из 1С обычными get и post  запросами. Но Firebase это же real-time database. Нету способа использовать эту возможность из 1С?
 
 
   Fram
 
1 - 23.03.18 - 20:07
firebase работает через http?.. я просто не в курсе. мне любопытно
real-time database это какой то технический протокол предоставляющий интерфейс для доступа из других систем?
   Сниф
 
2 - 23.03.18 - 20:18
(1) Да, firebase работает через http. И из 1С.

[code]

&НаКлиенте

Процедура Загрузить(Команда)
    
    ЗагрузитьНаСервере();
    
КонецПроцедуры

&НаКлиенте
Процедура Выгрузить(Команда)
    
    ВыгрузитьНаСервере();
    
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНаСервере()
    
    Метод = "GET";                                                  // Все запросы на чтение данных выполняются методом GET
    Ресурс = "items.json";                                          // Адрес ресурса - соответствут имени узла в firebase
    АдресПриложения = "https://ninth-airship-149206.firebase.com/";;        // Адрес вашего приложения firebase
    //АдресПриложения = "https://myapp-a377c.firebaseio.com/";;        // Адрес вашего приложения firebase
    Авторизация = "?auth=***"; // Авторизационный токен вашего firebase приложения. Его можно найти по пути: Project Settings - Project Settings - Service Accounts - Database Secrets - Show)
    Запрос = АдресПриложения + Ресурс + Авторизация;
    WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"utf-8");                  
    //WinHttp.SetProxy(2,"СЕРВЕР:ПОРТ");                            //если вы работаете через прокси
    WinHttp.Open(Метод, Запрос, 0);
    WinHttp.SetRequestHeader("Accept-Language", "en");
    WinHttp.SetRequestHeader("Accept-Charset","utf-8");
    WinHttp.setRequestHeader("Content-Language", "en");
    WinHttp.setRequestHeader("Content-Charset", "utf-8");
    WinHttp.setRequestHeader("Content-Type","application/json; charset=utf-8");
    WinHttp.Send();    
    Рез = WinHttp.ResponseText();
    Сообщить(Рез);
    WinHttp = "";
    WinHttp = Неопределено;
    
КонецПроцедуры

&НаСервере
Процедура ВыгрузитьНаСервере()
    
    Метод = "PATCH";                                                // Все запросы на отправку данных выполняются методом PATCH
    Ресурс = "goods-groups.json";                                   // Адрес ресурса - соответствут имени узла в firebase
    АдресПриложения = "https://myapp-a377c.firebase.com/";;        // Адрес вашего приложения firebase
    Авторизация = "?auth=****"; // Авторизационный токен вашего firebase приложения. Его можно найти по пути: Project Settings - Project Settings - Service Accounts - Database Secrets - Show)
    Запрос = АдресПриложения + Ресурс + Авторизация;
    WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
    WinHttp.Option(2,"utf-8");                  
    //WinHttp.SetProxy(2,"СЕРВЕР:ПОРТ");                            //если вы работаете через прокси  
    WinHttp.Open(Метод, Запрос, 0);
    WinHttp.SetRequestHeader("Accept-Language", "en");
    WinHttp.SetRequestHeader("Accept-Charset","utf-8");
    WinHttp.setRequestHeader("Content-Language", "en");
    WinHttp.setRequestHeader("Content-Charset", "utf-8");
    WinHttp.setRequestHeader("Content-Type","application/json; charset=utf-8");
    
    Данные = Новый Соответствие();
    Данные.Вставить("abcdef", "Телевизоры");
    
    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, Данные);
    ДанныеJson = Запись.Закрыть();
    
    WinHttp.Send(ДанныеJson);    
    Рез = WinHttp.ResponseText();
    Сообщить(Рез);
    WinHttp = "";
    WinHttp = Неопределено;
    
КонецПроцедуры
[/code]
   Сниф
 
3 - 23.03.18 - 20:19
(1)
A real-time database is a database system which uses real-time processing to handle workloads whose state is constantly changing.[  База данных в режиме реального времени представляет собой систему баз данных, которая использует обработку в реальном времени для обработки рабочих нагрузок, состояние которых постоянно меняется. ]
   Fram
 
4 - 23.03.18 - 20:28
(2) http сервер идет в комплекте и разворачивается с установкой firebird или, все таки, это какой то сторонний API?
   Сниф
 
5 - 23.03.18 - 20:28
(1) термин real-time database я встретил у Гугл. Технически это некий бесплатный хостинг от Гугл. 500мегабайт под json базу данных, 5 гиг под файлы. И библиотеки под разные языки. Я использую javascript. Сегодня прочитал статью, что технически Firebase это синтез протоколов websocket и http, но со стороны клиента эти подробности скрыты и ты получаешь поток данных , если на него подписан.
   Fram
 
6 - 23.03.18 - 20:29
(3) и как этот теоретический термин должен помочь 1С достучаться до firebird ?
   Сниф
 
7 - 23.03.18 - 20:35
(6) в бесплатный пакет от Google входит:
- техническое доменное имя
- бесплатный хостинг файлов (у меня js-скрипты и html)
- сама база данных Firebase или Firestore

Вот с самой базой данных чтобы обмениваться 1С файликами json пока только тупой опрос со стороны 1С через 5 секунд.
   Fram
 
8 - 23.03.18 - 20:42
извини, ТС, я попутал firebird и firebase. это совершенно разные вещи. но сервис безусловно интересный
   Asmody
 
9 - 24.03.18 - 00:19
(0) Нет конечно. 1С же не умеет вебсокеты слушать. Так что обратку по старинке - дергать в обработке ожидания.
   Garykom
 
10 - 24.03.18 - 02:31
(9) Не проще обертку поднять для вебсервисов 1С или ВК заюзать?
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует