1С, oauth2, Google API и Google Merchant. Сбор данных и парсинг

Публикация № 673482 14.09.17

Интеграция - WEB-интеграция

ФабрикаXDTO ЧтениеJSON HTTPСоединение HTTPЗапрос

Всем привет. Стала задача, собрать данные с Google Merchants и внести их в 1С, для более детального анализа того, что сейчас показывается, что нет и какие проблемы при этом есть. Если кому это интересно, прошу под кат.

Опыт програмирования на платформе 1С у меня крайне маленький, порядка года, поэтому за какие-то банальные вещи, прощу прощения сразу. Статья будет основана на данной статье, но там не описан процесс парсинга + не описан процесс на HTTPСоединение, что является более универсальным и более удобным. 

Все процедуры производились на клиент-серверном режиме, в конфигурации УТ 10.3 (10.3.13.2) на платформе 1С 8.3 (8.3.8.2322).

Использованные механизмы описаны в ключевых словах.

Еще перед тем, как пойдет код, я хотел бы ответить на вопрос, зачем я это вообще пишу? Во первых, для тех, кто ищет информацию по данным технологиям, во вторых, для того, чтобы получить обратную связь от вас, услышать какие-то советы и как итог - сделать себя лучше =) 

Пара ссылок на основне определения:

  1. oauth2
  2. HTTP
  3. POST/GET запросы
  4. JSON
  5. API

 

Погнали, итак, стоит цель, получить данные с Google Merchant и занести их в 1С.

Сделаем декомпозицию задачи.

  1. Получить данные для авторизации в Google
    1. Сделать уч. запись в Google Cloud Console 
      1. Добавить в разделе API , работу с  Content API for Shopping
      2. Сделать учетную запись с типом "Други типы" - http://jmp.sh/9ikhvbp
      3. Получить ClientId и Secret
  2. Добавить свою учетную запись (которая для Google Cloud Console) в Merchant с обычными правами.
  3. Получить Токен для запросов
  4. Сделать регламент Запроса данных/Обновления токена
  5. При запросе данных парсить JSON и вносить их в свою УС

1 и 2 пункт, делаются очень быстро и заострять свое внимание здесь не будем. 

Веселуха начинается с пункта 3. 

Для получения первого токена, пришлос использовать внешнюю обработку с HTML полем  и кнопкой (Если кто знает, как сделать проще, напишите в комментариях)

При нажатии кнопки, появится окно ввода логин/Пароля для учетки Google, вводим :


    client_id = ВАШ_CLIEN_ID_ПОЛУЧЕННЫЙ_В_GOOGLE_CLOUD
	
	ЧастьЗапроса = "response_type=code"+"&";
    ЧастьЗапроса = ЧастьЗапроса + "client_id="+ client_id + "&";
    ЧастьЗапроса = ЧастьЗапроса + "redirect_uri=http://localhost" + "&";
    ЧастьЗапроса = ЧастьЗапроса + "access_type=offline"+"&";
    ЧастьЗапроса = Параметры + "scope=https://www.googleapis.com/auth/content";
    АдресАвторизации = "https://accounts.google.com/o/oauth2/auth" + "?";
    ПолныйАдресАвторизации = АдресАвторизации + ЧастьЗапроса;
    
    ЭлементыФормы.ВАШ_HTTML_ПОЛЕ.Перейти(ПолныйАдресАвторизации);

Для HTML поля, в обработчике "ДокументСформирован", вставим код для отлова Code (Строка, необходимая для обмена на токен)

     Если Сред(ЭлементыФормы.Гугл.Документ.URLUnencoded,1,23) = "http://localhost/?code=" Тогда
		
		Code	=	Сред(ЭлементыФормы.Гугл.Документ.URLUnencoded,24);
		
	 КонецЕсли;

Теперь у нас есть данные, для получения Token и RefreshToken

Делаем процедуру Получения Токена 

    Сервер =  "accounts.google.com";
	Ресурс = "/o/oauth2/token";
	КодДоступа 		= 	Code;
	client_id		=	ВАШ_CLIENT_ID
	client_secret 	=	ВАШ_SECRET

	СтрокаЗапроса = "client_id=" + client_id + "&";
	СтрокаЗапроса = СтрокаЗапроса + "client_secret=" + client_secret + "&";
	СтрокаЗапроса = СтрокаЗапроса + "grant_type=authorization_code" + "&";
	СтрокаЗапроса = СтрокаЗапроса + "code=" + КодДоступа + "&";
	СтрокаЗапроса = СтрокаЗапроса + "redirect_uri=http://localhost";

	Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);

	Заголовки  = Новый Соответствие;
	Заголовки.Вставить("Content-Type","application/x-www-form-urlencoded");
	
	ЗапросХТТП = Новый HTTPЗапрос(Ресурс,Заголовки);
	ЗапросХТТП.УстановитьТелоИзСтроки(СтрокаЗапроса);

	Ответ = Соединение.ВызватьHTTPМетод("POST",ЗапросХТТП);
	
    Если Ответ.КодСостояния <> 200 Тогда Возврат КонецЕсли;

	Строка = Ответ.ПолучитьТелоКакСтроку();
	
    Чтение = Новый ЧтениеJSON();
	Чтение.УстановитьСтроку(Строка);

	Фабрика = ФабрикаXDTO.ПрочитатьJSON(Чтение);
	
    Чтение.Закрыть();
	
    Токен           = Фабрика.access_token;
	ТокенОбновления = Фабрика.refresh_token;

Тут конечно стоило бы написать кучу инфы про ФабрикуXDTO , но ее на просторах Инфостарта столько, что уже просто стыдно, что-то писать далее. Но если не читали, то очень советую прочитать цикл статей  , очень подробно и интересно расписали.

Но если вкратце, то фабрика преобразует наш XML/JSON в объект, с которым можно работать, через точку, что крайне удобно и не надо парсить документ старыми методами, перебором узлов, с проверкой на закрытие-открытие.

После получения токена, сделаем сразу еще одну процедуру, обновления такового, так как он имеет срок жизни.

 

    Сервер =  "accounts.google.com";
	Ресурс = "/o/oauth2/token";
	КодДоступа 		= 	Code;
	client_id		=	ВАШ_CLIEN_ID
	client_secret 	=	ВАШ_SECRET

	СтрокаЗапроса = "client_id="  + client_id + "&";
	СтрокаЗапроса = СтрокаЗапроса + "client_secret=" + client_secret + "&";
	СтрокаЗапроса = СтрокаЗапроса + "grant_type=refresh_token" + "&";
	СтрокаЗапроса = СтрокаЗапроса + "refresh_token=" + ТокенОбновления;	

	Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);

	Заголовки  = Новый Соответствие;
	Заголовки.Вставить("Content-Type","application/x-www-form-urlencoded");
	
	ЗапросХТТП = Новый HTTPЗапрос(Ресурс,Заголовки);
	ЗапросХТТП.УстановитьТелоИзСтроки(СтрокаЗапроса);

	Ответ = Соединение.ВызватьHTTPМетод("POST",ЗапросХТТП);
	Если Ответ.КодСостояния <> 200 Тогда Возврат КонецЕсли;

	Строка = Ответ.ПолучитьТелоКакСтроку();
	Чтение = Новый ЧтениеJSON();
	Чтение.УстановитьСтроку(Строка);

	Фабрика = ФабрикаXDTO.ПрочитатьJSON(Чтение);
	Чтение.Закрыть();
	Токен = Фабрика.access_token;

 

Теперь, когда мы имеем токен и Refresh токен, можем смело делать запросы.. и тут я столкнулся с бедой... в документации тупо не указано, как его делать, кроме строки

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

 

Для примера, получение списка товарных позиций, из документации выглядит вот так

GET https://www.googleapis.com/content/v2/ИДЕНТИФИКАТОР_МАГАЗИНА_В_MERCHANT/products

Но если вы его сделаете, получите просто ошибку ... 

Поэтому лезем в инструменты разработчика и ловим запрос, процесс описывать не буду, но запрос принимает уже такой вид

https://www.googleapis.com/content/v2/ID_МАГАЗИНА_В_МЕРЧАНТ/productstatuses?maxResults=250&key=ВАШ_CLIENT_ID

 + Заголовок с токен

Теперь код процедуры, с рекурсией =) 

Почему так, потому что гугл, отдаем всего 250 позиций, за один запрос. Так как у нас 10 000 тороговых предложений, то мне надо примерно 41 раз сделать вызов метода ...

Поэтому, рекурсия =) 

Сам вызов процедуры

ПолучениеФайлаСМерчанта(АдресРесурса,ТокенСтраницы)

АдресРесурса = Это тот же адрес, только с доп параметром pageToken=, с этим параметром, гугл отдаст следующую страницу, с новыми позициями.

    Путь   = Я_ФАЙЛЫ_СОХРАНИЛ_НА_ДИСК
	Сервер = "www.googleapis.com";
	Запрос =  АдресРесурса;
	Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
	Заголовки  = Новый Соответствие;
	Заголовки.Вставить("Authorization","Bearer " + Токен);
	ЗапросХТТП = Новый HTTPЗапрос;
	ЗапросХТТП.АдресРесурса	=	Запрос;
	ЗапросХТТП.Заголовки = Заголовки;
	
	Соединение.ВызватьHTTPМетод("GET",ЗапросХТТП);
	Ответ = Соединение.ВызватьHTTPМетод("GET",ЗапросХТТП);
	Файл = Ответ.ПолучитьТелоКакДвоичныеДанные();
	Файл.Записать(Путь + "json_" + ТокенСтраницы + ".json");
	
	Чтение = Новый ЧтениеJSON;
	Чтение.ОткрытьФайл(Путь + "json_" + ТокенСтраницы + ".json");
	
	Фабрика = ФабрикаXDTO.ПрочитатьJSON(Чтение);
	Чтение.Закрыть();
	Если ОбъектXDTOСодержитСвойство(Фабрика,"nextPageToken") Тогда
		Если Фабрика.nextPageToken <> "" Тогда
			ПолучениеФайлаСМерчанта("/content/v2/ID_МАГАЗИНА/productstatuses?maxResults=250&pageToken="+Фабрика.nextPageToken+"&key=897236016313-ceggltgsseaoke0bfb48sivrr3dj766k.apps.googleusercontent.com",Фабрика.nextPageToken);
		КонецЕсли;
	КонецЕсли;

 

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

МассивФайлов = НайтиФайлы(Путь,"*.json");
	
	Если МассивФайлов.Количество() = 0 Тогда
		Сообщить("Файлов не найдено");
		Возврат;
	КонецЕсли;
	
	ТабличноеПоле8.Очистить();
	Для Каждого Файл из МассивФайлов Цикл
		Чтение = Новый ЧтениеJSON;
		Чтение.ОткрытьФайл(Файл.ПолноеИмя);
		Фабрика = ФабрикаXDTO.ПрочитатьJSON(Чтение);
		Чтение.Закрыть();
		
		Для каждого Товар из КоллекцияXDTO(Фабрика.resources.resources) Цикл
			
			стр = ТабличноеПоле8.Добавить();
			Стр.Номенклатура 	= 	Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Сред(Товар.ProductID,14));
			Стр.Артикул 		=	Стр.Номенклатура.Артикул;
			Стр.ЦеноваяГруппа	=	Стр.Номенклатура.ЦеноваяГруппа;
			Стр.Категория		=	Стр.Номенклатура.МЮС_КаталогНоменклатуры;
			Стр.Ответственный	=	Стр.Номенклатура.МЮС_КаталогНоменклатуры.Ответственный;
			Стр.Ссылка 			=	Товар.Link;
			Стр.ProductID		=	Товар.ProductID;
			Стр.Displayed       =   Товар.destinationStatuses.destinationStatuses[0].approvalStatus;
			Стр.Shoping		    =   Товар.destinationStatuses.destinationStatuses[1].approvalStatus;
			
			
			Если ОбъектXDTOСодержитСвойство(Товар,"dataQualityIssues") тогда
				Для каждого Строка из КоллекцияXDTO(Товар.dataQualityIssues.dataQualityIssues) Цикл
				 					
					Стр.IDerror 	= 	?(ОбъектXDTOСодержитСвойство(Строка,"id")			,Строка.id		,"");
					Стр.severity 	= 	?(ОбъектXDTOСодержитСвойство(Строка,"severity")		,Строка.severity	,"");
					Стр.timestamp 	= 	?(ОбъектXDTOСодержитСвойство(Строка,"timestamp")	,Строка.timestamp	,"");
					Стр.Location	=	?(ОбъектXDTOСодержитСвойство(Строка,"Location")		,Строка.Location	,"");
					
				КонецЦикла;
			КонецЕсли;
			
		
		  КонецЦикла;
		УдалитьФайлы(Файл.ПолноеИмя);
		
	КонецЦикла;
	
	ЭлементыФормы.ТабличноеПоле8.СоздатьКолонки();

 

Тут используется 2 функции, одна проверяет на наличие свойства, вторая проверяет тип объекта XDTO, список он, или единичный

 

Код обеих, авторство не укажу, найдены на просторах Инфостарта.

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

 

В целом все ...

Если вы дочитали это, то уже спасибо =)

Если дадите какой-то хороший совет, буду прям очень рад.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. shmellevich 133 20.09.17 12:17 Сейчас в теме
Статья хороша +!

А чем не угодил "ПрочитатьJSON(ЧтениеJSON, Истина)" - на выходе будет Соответствие. и безопасность получения свойств проще, и не нужны доп. функции ))

и как себя поведет фабрика если ключом окажется не строка, а например число?

{
   "key1":"value1",
   100:{"part1":50, 
            "part2":30, 
            "part3":20}
}


я когда на подобный джисон попал, долго мучался, было тяжело отойти от уже отлаженного механизма работы с XDTO объектами, все сломать и построить заново )).
user604633_slevin64celevra; +1 Ответить
2. Mi11er 95 20.09.17 17:37 Сейчас в теме
(1) 0_о комментарий к статье... надо будет выпить сегодня.

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

+ у меня не так много опыта в этой теме и когда делаю такие парсеры, делаю не как то универсально, а именно заточенный под этот сервис.
8. uno-c 214 12.12.18 17:35 Сейчас в теме
Если кто знает, как сделать проще, напишите в комментариях
Можно получать access token через 2LO авторизацию https://developers.google.com/identity/protocols/OAuth2ServiceAccount. Это сервер-сервер, без использования учетки пользователя. Проще или нет - субъективно, но 2LO объективно лаконичнее.
4. pbazeliuk 1934 03.10.17 00:46 Сейчас в теме
(1) ПрочитатьJSON, ЗаписатьJSON очень медленныe. Здесь упоминается про это https://infostart.ru/public/640996/, опытным путем удалось подтвердить слова автора.
5. shmellevich 133 03.10.17 15:54 Сейчас в теме
(4) Согласно скрина из статьи видно, что фабрика пишет медленнее, чем даже обычная ЗаписатьJSON в 2 раза.
Или я не правильно понимаю?
6. pbazeliuk 1934 03.10.17 16:07 Сейчас в теме
(5) Про фабрику не знаю, там описано только:
3. ПрочитатьJSON, ЗаписатьJSON - самые медленные
2. Запись в поток - сейчас использую вот этот метод, он почти в 2 раза быстрее, чем предыдущий
1. Запись без контроля - этот пока нет времени реализовать.

По поводу фабрики не знаю, необходимо тестировать.
7. Inkasor 28 09.10.17 01:31 Сейчас в теме
(6)Привет :)

ПрочитатьJSON, ЗаписатьJSON - самые медленные

Дело в том, что 1С как раз по умолчанию инициализирует одну фабрику для быстрой обработки в рамках глобального контекста. Это быстро и удобно для, наверное, 99% задач, стоящих обычно перед коллегами :) Это и есть ПрочитатьJSON, ЗаписатьJSON как они есть.
Мы работаем только на потоке, причем с заранее подготовленными данными, поэтому пишем без контроля, что ещё очень сильно ускоряет обработку.
3. huse 22.09.17 21:17 Сейчас в теме
"Добавить свою учетную запись (которая для Google Cloud Console) в Merchant с обычными правами."

Подскажите как сделать эту операцию для Firebase?

PS content на firebase заменил, но проект запрашивает разрешение и не редиректит. А при нажатии Разрешить пытается открыть страницу с адресом res://ieframe.dll/dnserrordiagoff_webOC.htm#https://accounts.google.com/o/oauth2/approval?as=.......... после чего говорит что не может ее отобразить
9. buzzzard 51 23.07.20 19:50 Сейчас в теме
(3) Вы не разобрались с Firebase случайно?
11. huse 17.12.20 03:41 Сейчас в теме
(9) разобрался но в отношении данной ошибки уже не помню лекарство
10. AxiLLes89 21 26.09.20 05:02 Сейчас в теме
Привет) Статья супер) сообщения в hanhouts не отправлял?
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12903    comol    32    

108

Online телефонный справочник из 1С: Зарплата и управление персоналом

WEB-интеграция Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    28861    ruha    21    

36

Кэширование COM-соединения. Три способа

Внешние источники данных WEB-интеграция Обмен между базами 1C Платформа 1С v8.3 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    44876    Infostart    46    

59

Методика интеграции HTML редакторов в поле HTML документа базы 1С

WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

В статье описаны критерии WYSIWYG HTML редакторов и общая картина интеграции с платформенными механизмами. На момент платформы 1С 8.3 и возможно для будущих релизов описание будет скорее всего актуально. Апробировано на 1С 8.3.20 и 8.2.12, а также на мобильной платформе 8.3.19.59.

12.04.2022    1949    user1206119    2    

13

Что делать, когда методы объекта ПолеHTMLДокумента.Документ (УФ) недоступны?

WEB-интеграция Управляемые формы 8.3.14 Бесплатно (free)

Начиная с версии 8.3.14 некорректно загружаются некоторые веб-страницы в поле HTML-документа на УФ - методы ПолеHTMLДокумента.Документ недоступны. Методом "научного втыка" удалось обойти этот глюк системы.

27.02.2023    534    romasna    2    

8

Возможности доработки выгрузки из 1С в Битрикс

WEB-интеграция Платформа 1С v8.3 Управленческий учет Бесплатно (free)

В статье собраны некоторые полезные и интересные примеры доработок выгрузки из 1С на сайты на платформе Битрикс (Возможно, что-то подойдёт и для WordPress и других платформ, принимающих типовую выгрузку на сайт из 1С). Доработки рассмотрены без привязки к конкретным конфигурациям, примеры кода взяты в основном из доработок УТ 10 и 11. Некоторые доработки требуют изменений на стороне Битрикса, некоторые укладываются в типовой функционал. Примеры взяты из личного опыта, возможно, описание где-то не полное, т.к. доработки делались в разное время. Если материал будет интересен или будут аналогичные актуальные задачи, буду стараться дополнять статью более подробным описанием и примерами.

01.11.2022    1445    de0nis    2    

13

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

В статье хочу поделиться опытом настройки подключения 1С к стороннему HTTP-сервису, использующему авторизацию посредством передачи клиентского SSL-сертификата.

07.12.2021    11476    kholkin    12    

106

Подробная настройка работы с сервисом 1С:Сверка

WEB-интеграция Анализ учета Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

19.01.2023    730    Koder_Line    0    

0

Пагинация в 1С

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Те, кому приходилось делать REST API на базе HTTP-сервисов 1С, могли в какой-то момент столкнуться с необходимостью разработки методов, которые позволяли бы возвращать данные с пагинацией, т.е. последовательными порциями. В языках общего назначения пагинация реализуется простым использованием операторов OFFSET и LIMIT в SQL-запросе к базе данных. В языке запросов 1С оператора OFFSET нет, поэтому всем приходится решать эту задачу обходными способами. Один из таких обходных способов представлен в этой статье.

09.01.2023    2739    aleksei_adamov    36    

21

1С бакэнд (каталог товаров)

WEB-интеграция Платформа 1С v8.3 1С:Розница 2 Россия Бесплатно (free)

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

01.01.2023    1548    aldar    7    

20

Новый SimpleWEB – тот же Simple, теперь еще web

WEB-интеграция Мобильная разработка Мобильная платформа Бесплатно (free)

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

19.12.2022    2834    informa1555    9    

39

Goods info - приложение для получения информации о товарах

WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Бесплатно (free)

Мобильное приложение предназначено для получения информации о товарах. Кроме этого, можно произвести сборку заказа и отправить на email или в мессенджер.

04.09.2020    2431    hpi    11    

6

Реализация нестандартных (для 1С) интерфейсных решений в Web-клиенте

WEB-интеграция Идеи и тренды в разработке Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Онлайн-сервисы, построенные на 1С, могут использовать все многообразие веб-технологий. О том, как спроектировать, реализовать и красиво оформить интерфейс продукта 1С, в докладе на конференции Infostart Event 2021 Post-Apocalypse рассказал CTO компании WiseAdvice Олег Филиппов.

21.10.2022    7102    comol    15    

70

Модуль переводов и платежей QIWI

Розничная торговля WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Инструкция по установке и работе "Модуля переводов и платежей QIWI" для УТ11.4. Публикация создана с целью размещения актуальной онлайн инструкции по работе пользователей с функционалом оформления платежей или переводов КИВИ через РМК в УТ11.4, а также для описания установки модуля в УТ 11.4 и размещения необходимых библиотек dll.

03.06.2022    760    Rastopchinss    5    

2

Rest API от чайника для чайников

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На написание статьи побудило чтение книги "Технологии интеграции "1С:Предприятия 8.3"" Хрусталевой Е.Ю. В первой главе там постоянно чередуются слова REST, REST-интерфейс, архитектура REST и т.д. Мне стало интересно, я начал копать, что это такое, и тема оказалась достаточно интересной.

06.06.2022    14515    zeltyr    2    

11

Организация HTTP публикации каталога товаров используя PostgREST

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    3001    malikov_pro    2    

17

Загрузка выпусков подкаста Радио 1С Энтерпрайз

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Код для загрузки всех выпусков подкаста Радио 1С Энтерпрайз для оффлайн-прослушивания.

29.04.2022    1232    q_i    9    

16

УПП: Ошибка при взаимодействии с ФСС

Регламентированный учет и отчетность WEB-интеграция Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

При обновлении релиза УПП до 1.3.178.2 пользователи начали жаловаться, что не отправляются в ФСС документы "Ответ на запрос ФСС для расчета пособия" и "Сведения о застрахованных лицах, ФСС". В статье предложен вариант обхода данной ошибки, возможно, это кому-то поможет.

28.04.2022    1532    alex_bob    8    

3

Создание кодогенератора для Postman

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Опишу порядок разработки кодогенератора для Postman c использованием OneScript и HTTPКоннектор.

13.03.2022    1552    malikov_pro    4    

9

Как из 1С отдать миллионы строк в BI и успеть это сделать быстро

Консолидация данных Анализ и проектирование ИТ-систем WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На онлайн-митапе «Бизнес-анализ по данным базы 1С. Интеграция c платформами BI» выступил ведущий разработчик WiseAdvice.tech Дмитрий Фурцев. Дмитрий рассказал о том, как отдать миллионы строк из 1С в платформу бизнес-аналитики и не потратить на это сутки.

14.02.2022    5364    Fudj1k    11    

22

Передача сообщений из 1С в MS Teams

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример организации уведомлений в канал MS Teams.

09.02.2022    2306    Alex_YAM    4    

24

Работа с 1С через протокол OData

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    34958    ProgrammingStore    27    

88

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С (Часть 2)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Это вторая часть цикла статей, посвящённых типовому модулю интеграции 1С Предприятия и Битрикс24. Цель данной части: рассмотреть тонкости, связанные с обменом товарами и сопутствующими сущностями (спойлер - единицы измерения и свойства товаров). Также затронем некоторые нюансы связи сущностей 1С и Б24 (относящиеся не только к товарам) и их побочное влияние при переносе данных из модуля в модуль (при смене конфигурации, переустановки или обновлении модуля).

27.11.2021    9198    freegman74    16    

19

Web консоль управления сеансами 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Мы дали ему название adm1c, он позволяет посредством веб доступа удалять или смотреть на сеансы в 1С базах и при необходимости удалять их. Да и что тут такого, сказали бы, есть же консоль на win, с нее же это можно делать, и все верно, но есть пара но.

26.11.2021    3156    4ernuy    16    

28

Реализация перевода текста средствами Azure

WEB-интеграция Локализация решений Платформа 1С v8.3 Россия Бесплатно (free)

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

19.11.2021    764    user1559835    2    

4

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    14619    malikov_pro    14    

87

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021    12987    freegman74    13    

37

Окей, Google

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    2176    Soloist    6    

29

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4941    sorter1    3    

47

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    30031    Neti    23    

114

Быстрое чтение составных http сообщений multipart/form-data

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Алгоритм быстрого разбора составного http сообщения multipart/form-data.

26.09.2021    3129    cherkasovvitalik    4    

56

Использование Yandex Translate (Яндекс.Переводчик)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    15096    malikov_pro    8    

19

Интеграция 1С с Битрикс24 через вебхуки

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Пример получения токена и http запрос к API битрикса.

15.09.2021    9767    TyurinArt    11    

32

Обмен с HTTP сервисом файлами по формату multipart/form-data

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Потребовалось отправить картинку в теле запроса в HTTP сервис методом POST, куча реализаций, но есть маленькие нюансы, если хотя бы кому-то поможет, то уже это было не напрасно.

07.09.2021    11408    ix5s    25    

67

Разработка гибридного web-приложения на 1С, возможности и ограничения

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Все чаще разработчики склоняются к использованию 1C в качестве бэкенда при разработке веб-приложений. Но благодаря встраиванию веб-клиента 1С в сайт можно получить еще больше готовой функциональности. О том, как реализовать гибридное приложение за счет связки 1С с другими веб-технологиями, рассказал разработчик компании Neti Эльдар Мингалиев.

06.09.2021    5296    Бэнни    12    

51

Работа с WEB-сервисами под HTTPS на примере прямого обмена между базами (1С – 1С) 

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Использование веб-сервисов 1С при обмене 1С – 1С позволяет быстро передавать достаточно большие объемы данных из базы-источника в базу-приемник в объектах языка 1С. Данный метод обмена может применяться при бесшовной интеграции между двумя базами 1С, но требует определенной серверной инфраструктуры (установленного и настроенного WEB-сервера).

03.09.2021    12248    UltraUnion2005    9    

35