Передаем контакты из 1С в Битрикс24 через REST API

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

Разработка - Системная интеграция - Внешние источники данных

Битрикс 24 REST API

Хочу поделиться опытом использования Битрикс24 REST API для экспорта контактов из 1С УТ 11

Первым делом регистрирую свое приложение в Битрикс24. Это нужно для получения client_id и client_secret.  Эти коды используются при авторизации.

Необходимо дать приложению требуемые права и поставить отметку "Приложение использует только API"

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

Теперь подключаемся к Битрикс24

Процедура ПодключитьсяКБитрикс()

	Если НЕ (AccessToken = "" ИЛИ RefreshToken = "" ИЛИ RefreshTime = Дата(1, 1, 1)) Тогда
		
		Возврат;
		
	КонецЕсли;

 	
	ssl = Новый ЗащищенноеСоединениеOpenSSL(
                Новый СертификатКлиентаWindows(
                                СпособВыбораСертификатаWindows.Выбирать),
                Новый СертификатыУдостоверяющихЦентровWindows());   
                         
	Соединение = Новый HTTPСоединение(
                            АдресБитрикс24, //"хххххх.bitrix24.ru",
							, // порт
							"user@mail.ru", // пользователь
							"123456", // пароль
							, // прокси
                            5, // таймаут в секундах
                            ssl // защищенное HTTPS соединение
                        );
						
						
	Заголовки = Новый Соответствие;
	
	Запрос = Новый HTTPЗапрос("oauth/authorize/?client_id=" + <strong>client_id</strong>, Заголовки);					
	Ответ = Соединение.Получить(Запрос);
	
	
	// если нас переадрессовали
	Если Ответ.КодСостояния = 302 Тогда
		
		//в Location взять code
		
		Параметры = ПолучитьПараметрыИзGetСтроки(Ответ.Заголовки.Получить("Location"));
		Cookie = Ответ.Заголовки.Получить("Set-Cookie");
		Код = Неопределено;
		
		
		Если Параметры.Свойство("code", Код) Тогда
			
			// используя Код получаем access_token и refresh_token
			
			Соединение = Новый HTTPСоединение(
                            "oauth.bitrix.info",
							, // порт
							, // пользователь
							, // пароль
							, // прокси
                            5, // таймаут в секундах
                            ssl // защищенное HTTPS соединение
                        );
						
			Запрос.АдресРесурса	= "oauth/token" + ПараметрыАвторизацииВСтроке(Код);	
			Запрос.Заголовки.Вставить("Cookie", Cookie);
			
			
			Ответ = Соединение.Получить(Запрос);
			
			
			Если Ответ.КодСостояния <> 200 Тогда
				
				ВызватьИсключение "Ошибка при получении access_token"; 
				
			Иначе
				
				// разобрать полученный json
				json = Ответ.ПолучитьТелоКакСтроку();
				
				
				Чтение = Новый ЧтениеJSON;
				Чтение.УстановитьСтроку(json);
				ОтветСтруктура = ПрочитатьJSON(Чтение);
				
				// сохраняю параметры подключения
				AccessToken  = ОтветСтруктура.access_token;
				RefreshToken = ОтветСтруктура.refresh_token;
				RefreshTime  = ТекущаяДата() + ОтветСтруктура.expires_in;
				
			
			КонецЕсли;
			
			
			
		Иначе
			
			ВызватьИсключение "Ошибка при подключении, нет параметра code";
			
		КонецЕсли;
		
		
	КонецЕсли;

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

Функция ПараметрыАвторизацииВСтроке(Код)
	
	// собрать параметры в строку Get запроса
	Возврат "/?" + "grant_type=authorization_code" + "&" + 
		"client_id=" + client_id + "&" + 
		"client_secret=" + client_secret + "&" + 
		"code=" + Код;
		
КонецФункции

client_id и client_secret получили при регистрации приложения в Битрикс24.

Функция "ПолучитьПараметрыИзGetСтроки" из строки вида адрес?параметр1=значение1&параметр2=значение2 возвращает структуру, где ключ = параметр, а значение = значение

Теперь пробуем добавить контакт

СтрПараметров =  "fields[NAME]=" + Имя + "&fields[SECOND_NAME]=" + Отчество + "&fields[LAST_NAME]=" + Фамилия +
		"&fields[ADDRESS_CITY]=" + СтруктураПараметров.Город + 
		"&fields[COMMENTS]=" + СтруктураПараметров.Вашвиддеятельности + 
		"&fields[EMAIL][0][VALUE_TYPE]=WORK&fields[EMAIL][0][VALUE]=" + СтруктураПараметров.Email +
		"&fields[ASSIGNED_BY_ID]=" +  ОтветственныйИД + "&fields[TYPE_ID]=CLIENT" +
		"&fields[PHONE][0][VALUE_TYPE]=WORK&fields[PHONE][0][VALUE]=" + СтруктураПараметров.Телефон;
		
	
	Рез = ОтправитьRESTЗапрос("crm.contact.add", СтрПараметров, "");
	
	// смотрим что получилось

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

	Если РезСтр.Свойство("result", ИдНовогоКонтакта)  Тогда
		
		Сообщить("Контакт добавлен!");
		
	Иначе
		
		ВызватьИсключение "Ошибка при добавлении нового контакта!";
		
	КонецЕсли;

Что делает ОтправитьRESTЗапрос:

Функция ОтправитьRESTЗапрос(RESTЗапрос, Параметры, Тело)
 	
	ПроверитьТокен();
	
	
	ssl = Новый ЗащищенноеСоединениеOpenSSL(
                Новый СертификатКлиентаWindows(
                                СпособВыбораСертификатаWindows.Выбирать),
                Новый СертификатыУдостоверяющихЦентровWindows());   
                         
	Соединение = Новый HTTPСоединение(
                            АдресБитрикс24,
							, // порт
							, // пользователь
							, // пароль
							, // прокси
                            5, // таймаут в секундах
                            ssl // защищенное HTTPS соединение
                        );
						
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Cookie", Cookie);
	
	
	
	Если Параметры = "" Тогда
		Запрос = Новый HTTPЗапрос("rest/" + RESTЗапрос + "?auth=" + AccessToken, Заголовки);											
	Иначе
		Запрос = Новый HTTPЗапрос("rest/" + RESTЗапрос + "?auth=" + AccessToken + "&" + Параметры, Заголовки);											
	КонецЕсли;
	
	Запрос.УстановитьТелоИзСтроки(тело);
	
			
			
	Ответ = Соединение.Получить(Запрос);	

	Возврат Ответ.ПолучитьТелоКакСтроку();

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

Ну и соответственно  процедура ПроверитьТокен:

Процедура ПроверитьТокен()
 	
	// проверяю токен на валидность
	
	Если RefreshTime = Дата(1, 1, 1) Тогда
		
		ПодключитьсяКБитрикс();
		Возврат;
		
	КонецЕсли;
	
	Если  RefreshTime - 5 < ТекущаяДата() Тогда
		
			ssl = Новый ЗащищенноеСоединениеOpenSSL(
                Новый СертификатКлиентаWindows(
                                СпособВыбораСертификатаWindows.Выбирать),
                Новый СертификатыУдостоверяющихЦентровWindows());   		
		// обновить токен
			Соединение = Новый HTTPСоединение(
                            "oauth.bitrix.info",
							, // порт
							, // пользователь
							, // пароль
							, // прокси
                            5, // таймаут в секундах
                            ssl // защищенное HTTPS соединение
                        );
						
						
			Заголовки = Новый Соответствие;			
			Заголовки.Вставить("Cookie", Cookie);						
			
			Запрос = Новый HTTPЗапрос("oauth/token" + ПараметрыОбновленияВСтроке(), Заголовки);
			
			
			
			
			Ответ = Соединение.Получить(Запрос);
			
			
			Если Ответ.КодСостояния <> 200 Тогда
				
				ВызватьИсключение "Ошибка при получении access_token"; 
				
			Иначе
				
				// разобрать полученный json
				json = Ответ.ПолучитьТелоКакСтроку();
				
				Чтение = Новый ЧтениеJSON;
				Чтение.УстановитьСтроку(json);
				ОтветСтруктура = ПрочитатьJSON(Чтение);
				
				
				// сохраняю параметры подключения
				AccessToken  = ОтветСтруктура.access_token;
				RefreshToken = ОтветСтруктура.refresh_token;
				RefreshTime  = ТекущаяДата() + ОтветСтруктура.expires_in;
			
			КонецЕсли;
		
		
	КонецЕсли;

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


Функция ПараметрыОбновленияВСтроке()
	
	Возврат "/?" + "grant_type=refresh_token" + "&" + 
		"client_id=" + client_id + "&" + 
		"client_secret=" + client_secret + "&" + 
		"refresh_token=" + RefreshToken;
	
КонецФункции

Что пока не удалось сделать. Пока не удалось передавать пользовательские поля. И при создании контакта ответственным ставится пользователь, под которым залогинились. А не тот, которого указываю в fields[ASSIGNED_BY_ID].

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

Комментарии
Избранное Подписка Сортировка: Древо
1. script 214 09.01.17 20:07 Сейчас в теме
У меня к Вам огромная просьба. Покажите пожалуйста в какую сторону копать если нужно передавать из 1С реализации а в битрикс 24 загружать "Сделки"
2. user662672_explorer2000 175 10.01.17 08:38 Сейчас в теме
Добрый день! Смотрите офф документацию, в частности по сделкам http://dev.1c-bitrix.ru/rest_help/crm/cdeals/index.php. Для создания сделки используйте метод crm.deal.add. Перечень передаваемых полей доступен там же. Такой сущности, как реализация нет в Битрикс24, возможно это счета? по ним вся информация здесь http://dev.1c-bitrix.ru/rest_help/crm/invoice/index.php. Там примеры к сожалению только на js, так что пробуйте и смотрите что возвращается в качестве ответа. Если ошибка, то будет описание ошибки.
3. bulpi 163 10.01.17 14:03 Сейчас в теме
Люди, а вы не в курсе, что существует вот это :
http://1c.1c-bitrix.ru/intranet/download.php
Там готовые модули, в частности для УТ 11.1 есть.
Выгружаются организации, контрагенты, контактные лица партнеров, реализации....
Но плюс поставлю, т.к. метод реализован другой.
5. script 214 10.01.17 18:52 Сейчас в теме
(3) И не только смотрели, но и внедрили. Только когда внедрили, то оказалось что это полная ерунда.
Выгружает
Из 1С контрагенты в Б24 в клиенты
Из 1С конт. лица в Б24 в контакты
Из 1С все (любые) документы в Б24 в Дела
И все.

А внутри просто шлак. Запросы к базе через две точки.
Обращение к несуществующим полям в справочниках из-за которых все это сразу вываливается в ошибки.
Пишешь на поддержку - тебе дают 1С-ника, который лезет в запросы. Начинает там начинает ограничивать поля неограниченной длины - при тебе.
А сам модуль добавляет столько мусора, столько лишних объектов, что только из-за этого уже начинаешь жалеть что связался с ним.
Pawlick; Somebody1; ambosimba; LomayaZakat; memb3r; svilsa; seperblunt2; user731236; VachKirp; Aquashop; Starec_I; +11 Ответить
12. Alister 9 24.04.17 20:01 Сейчас в теме
(5) еще замечательная поддержка, которая долго ищет какой релиз какой редакции УТ 11 минимально нужен для работы с Б24, а потом не могут объяснить какой же модуль используется для интеграции с УТ - трекер или модуль обмена с сайтом и чем они отличаются.
user731236; IgorS; +2 Ответить
38. amd1986 07.11.17 13:08 Сейчас в теме
(5) только по ходу не поняли, что это и как это работает. Иначе бы не городили бы новое приложение, а использовали уже готовый для 1С трекера. Не говоря о том, что трекер смотрели старой версии.
Запросы к базе через две точки.
Всякое может быть, не спорю. Если бы делали наиболее оптимальные запросы , то такие как вы еще сильнее взвыли бы.
Обращение к несуществующим полям в справочниках из-за которых все это сразу вываливается в ошибки.
Может не читали для какого релиза этот модуль? Ну как всегда, виноваты все, кроме вас..
Начинает там начинает ограничивать поля неограниченной длины - при тебе
И что хотели сказать?
А сам модуль добавляет столько мусора, столько лишних объектов, что только из-за этого уже начинаешь жалеть что связался с ним.
Может потому что это универсальный модуль,а не только под вас?

Да, судя по реализации - опрятно написано, но малофункционально.
39. user662672_explorer2000 175 07.11.17 13:42 Сейчас в теме
(38) Уважаемый, это по сути инструмент, а не законченный функционал. Синхронизация контактов одно из применений. Подставьте методы работы с лидами, сделками и т.д., оберните логикой и получите нужный функционал. Это не универсальное решение и для применения требует программирования.
40. amd1986 08.11.17 15:33 Сейчас в теме
(39) да это все понятно. Пост был адресован не вам.
4. user662672_explorer2000 175 10.01.17 14:39 Сейчас в теме
Тут неверно я указал привязку к УТ. Данный код можно использовать в любой конфигурации, даже под которую нет готовых модулей. Да и функционал можно реализовать какой угодно, т.к. доступен любой метод REST API
6. script 214 11.01.17 03:28 Сейчас в теме
И еще один вопрос.
Это доступ через REST API работает и на облачной версии или только в коробке?
8. kuntashov 366 12.01.17 17:25 Сейчас в теме
(6) Все нововведения у Б24 сначала в облаке. В коробке REST API добавили совсем-совсем недавно.
7. user662672_explorer2000 175 11.01.17 06:32 Сейчас в теме
На облачной работает точно, проверялось на ней. С коробочной не проверял, ее просто нет.
9. alprk 13.01.17 10:15 Сейчас в теме
Спасибо что поделились, как раз собирались городить свои костыли к Б24))
10. alprk 13.01.17 10:36 Сейчас в теме
Удивило что вы сделали авторизацию по логину и паролю. Почему бы не получить токен единожды, регулярно его обновляя?
Хотя конечно определенные плюсы в этом есть, особенно если вызовы нерегулярные. Я например даже не думал что оно даст авторизоваться по Basic, даже через curl проверил сейчас что оно работает, но вдруг перестанет (в документации ведь об этом ни слова).
11. user662672_explorer2000 175 13.01.17 12:20 Сейчас в теме
(10) Я вроде бы так и хотел сделать) Первоначально по логину и пароль получаю AccessToken и RefreshToken. Далее если время жизни токена истекло, уже обновляю его.
13. user755384 20.05.17 00:17 Сейчас в теме
Большое спасибо за статью! Очень помогла. Если знаете, подскажите, пожалуйста, в каком виде параметры (СтрПараметров) передавать в функцию для добавления товарных позиций к сделке. (crm.deal.producrows.set). Передаю
СтрПараметров = "id="+ИДСделки+
"&rows[PRODUCT_ID]="+ИдТовара+
"&rows[PRICE]="+"100"+
"&rows[QUANTITY]=1";
Ошибки не выдает, но и товары не добавляет.
14. user662672_explorer2000 175 22.05.17 06:47 Сейчас в теме
Вам нужно переделать передачу параметров вот так:

СтрПараметров = "id="+ИДСделки+

"&rows[0][PRODUCT_ID]="+ИдТовара1+
"&rows[0][PRICE]="+"100"+
"&rows[0][QUANTITY]=1"+

"&rows[1][PRODUCT_ID]="+ИдТовара2+
"&rows[1][PRICE]="+"500"+
"&rows[1][QUANTITY]=5";

Рез = ОтправитьRESTЗапрос("crm.deal.productrows.set", СтрПараметров, "");
15. dimasts 22 02.06.17 19:22 Сейчас в теме
Если авторизоваться по токену а не по логину и паролю, получится [ASSIGNED_BY_ID] правильно передавать??? Кто нибудь пробовал?

Просто это то, ради чего мы затеваем всю интеграцию :)
16. user662672_explorer2000 175 05.06.17 08:39 Сейчас в теме
Первоначальная регистрация по логину\паролю. Вы получаете токен время жизни которого ограничено. По истечении этого времени Вы обновляете токен без использования логина\пароля. Нужен старый токен, client_id и client_secret. Посмотрите процедуру ПроверитьТокен(). ASSIGNED_BY_ID присваивается автоматом. По идее его и в параметрах можно передавать, но у меня всегда ответственный тот, под кем я залогинился. Возможно нужны администраторские права. Точно не знаю.
mila_nikolaeva; dimasts; +2 Ответить
17. dimasts 22 30.06.17 07:42 Сейчас в теме
ASSIGNED_BY_ID сделал равным 2
Контакт создался с ответственным с чужого портала!
Чё так правда можно?!
NewLifeMan; +1 Ответить
18. dimasts 22 09.07.17 09:27 Сейчас в теме
В названии надо использовать слово «Забираем», а не «Передаём», так как передать из Битрикс24 что либо в 1с ни фига не просто. Создать http-сервис и зарегистрировать обработчик события в Битрикс24 дело не хитрое. А вот как заставить эти события срабатывать и переходить по запросам, которые к ним привязаны? Причём этот запрос в браузере работает как часы. а тут ещё Заговор
19. dimasts 22 09.07.17 15:11 Сейчас в теме
(18)Причина была в том что в 1с метод был установлен GET. Лучше сначала устанавливать Любой, чтобы проверить, а потом уже определяться с каким работать.
24. wiseowl 17.10.17 10:48 Сейчас в теме
(19) посмотрите, пожалуйста, мой вопрос ниже, может быть вы сможете мне помочь...
20. user662672_explorer2000 175 10.07.17 07:47 Сейчас в теме
(18) Контакты все же мы передаем (экспортируем или назовите как хотите, сути не меняет) из 1С в Битрикс24. О чем Вы пишите не тема статьи. Хотите забирать информацию из Битрикс24? Делайте аналогично, забирайте контакты с фильтром по незаполненности ORIGIN_ID например. При записи контакта в 1С пишите его GUID в ORIGIN_ID
21. bytecoded 26 25.08.17 16:08 Сейчас в теме
А с локализациями не пробовали работать? Пробую создавать валюты, одна не удается задать локализацию — если задавать через параметр LANG при вызове currrency.add, то ругается на пустое поле Format (которого в перечне полей локализации вообще нет). Если уже после создания валюты вызвать currency.localizations.set — ошибок нет, но и данные валюты, касающиеся локализаций, никак не изменяются.
22. Milanick 03.09.17 15:19 Сейчас в теме
23. wiseowl 17.10.17 10:42 Сейчас в теме
Делала по вашему примеру. Мне нужно почти тоже самое, только токен необходимо получить для power BI и данные отправлять туда.

Пишу get запрос (текст ниже), при использовании защищенного сертификата не происходит перенаправление по ссылке, которая указана в redirect_uri, если использовать http, то происходит постоянное перенаправление на тот же адрес, но уже с https соединением.
При проверке в браузере, перенаправление происходит и все нормально. Как можно решить эту проблему?

При перенаправлении на office.com я должна в строке получить параметр "code", который потом хочу использовать для получения токена приложения.
В Set-Cookie есть такое поле как "buid" это одно и тоже? Если да, то в принципе я могу использовать его в качестве кода авторизации, но проблему с перенаправлением все равно надо как то решить, так как при получении токена с запросом тоже самое, редирект не происходит...

Адрес="login.microsoftonline.com";
АдресРесурса="&response_mode=query&response_type=code&redire­­ct_uri=https%3A%2F%2Fwww.office.com%2F&nux=1&msafed=0";
client_id="3bf6d724-6dae-4177-a437-cd1e20619bd8";
//Если НЕ (AccessToken = "" ИЛИ RefreshToken = "" ИЛИ RefreshTime = Дата(1, 1, 1)) Тогда
//        
//        Возврат;
//        
//    КонецЕсли;

     
    ssl = Новый ЗащищенноеСоединениеOpenSSL();
                //Новый СертификатКлиентаWindows(
                // СпособВыбораСертификатаWindows.Выбирать),
                //Новый СертификатыУдостоверяющихЦентровWindows());   
                         
    Соединение = Новый HTTPСоединение(
                            Адрес, //"хххххх.bitrix24.ru",
                            , // порт
                            , // пользователь
                            , // пароль
                            , // прокси
                            , // таймаут в секундах
                           ssl  // защищенное HTTPS соединение
                        );
                        
                        
    //Заголовки = Новый Соответствие;
    
    Запрос = Новый HTTPЗапрос("/common/OAuth2/Authorize?client_id=" + client_id + АдресРесурса);                    
    Ответ = Соединение.Получить(Запрос);
    
     Сообщить (Ответ.КодСостояния);      
    АдресРесурса = Ответ.Заголовки.Получить("Location");
    Сообщить (АдресРесурса);
Показать
25. MakarkinPRO 28.10.17 16:46 Сейчас в теме
А есть наоборот из Битрикс24 в 1С, чтобы Битрикс24 (компании контакты) была материнская система.
28. user662672_explorer2000 175 30.10.17 14:07 Сейчас в теме
(25) Есть приложение, которое импортирует сделки в 1С. В периодическом задании запускается процедура, которая через функцию crm.deal.list получает ID сделок, у которых ORIGIN_ID не заполнено. По каждой сделке в 1С создается заказ, GUID заказа записывается в ORIGIN_ID лида. Точно так же по клиентам и контактам. Это по новым, а вот как отреагировать на изменение сделок вопрос. Нужно подписаться на событие, но URL не указать никакой, чисто средствами 1С не обойтись
33. MakarkinPRO 30.10.17 21:04 Сейчас в теме
34. user662672_explorer2000 175 30.10.17 21:19 Сейчас в теме
(33) Я немного наврал, клиент захотел лиды из Битрикс24 трансформировать в клиентские заказы в УТ. Т.е. ни сделки и ни счета. Давненько было..
26. Milanick 28.10.17 18:35 Сейчас в теме
А как в REST API обходится вывод больше 50 ?

Например ,хочу получить список пользователей, а там больше 50 пользователей не выводит :(. А у меня их больше 200 :(
29. user662672_explorer2000 175 30.10.17 14:12 Сейчас в теме
(26) Из документации: Списочные методы возвращают данные страницами по 50 элементов (число может изменяться). Для получения следующей страницы данных к запросу нужно добавить параметр start со значением, пришедшем в параметре next ответа. Ссылка https://dev.1c-bitrix.ru/rest_help/rest_sum/index.php
27. salex2002 29.10.17 15:52 Сейчас в теме
Почему-то по стандартной схеме не могу модифицировать сделку crm.deal.update

Результат = ОтправитьRESTЗапросPOST("crm.deal.update", "id="+ИДКлиента+"&fields[TITLE]="+Выборка.Представление,"")



возвращает Неопределено.
30. user662672_explorer2000 175 30.10.17 14:18 Сейчас в теме
(27) Сложно что-то сказать, возможна ошибка при получении токена. Зайдите
отладчиком в ОтправитьRESTЗапросPOST
31. salex2002 30.10.17 17:06 Сейчас в теме
(30)
Да другие методы работают через ОтправитьRESTЗапросPOST, тот же crm.deal.add. Используется ваша обработка 685093. Может в самом портале что-то включить. Пока его в базовом бесплатном варианте использую для тестов.
32. salex2002 30.10.17 17:23 Сейчас в теме
(31) Включил демо-режим "Компания" - заработал crm.deal.update
35. RIS2020 01.11.17 18:27 Сейчас в теме
Здравствуйте всем!

oauth/token/?grant_type=authorization_code
&client_id=local.59f9cc5662a690.43624909
&client_secret=PA5VfcmiEtE8rzkzJupvo0OX468IDPBvuZGTfYaFs3Oae­XMCOs
&code=8za5opd5bvd6hoynktv351l4zuzn0du2

КодСостояния: 400
Тело: {"error":"invalid_client1"}

В чём может быть проблема ?
36. isaev2016 02.11.17 12:03 Сейчас в теме
Справился ли кто с crm.activity.list и "COMMUNICATIONS" ? Не могу ни прочитать, ни установить правильно. Пока веду активную переписку с ТП Битрикс24
37. RIS2020 02.11.17 17:48 Сейчас в теме
Мой вопрос снимается, была ошибка в тексте
41. user880839 15.12.17 11:53 Сейчас в теме
Немного припозднился к разговору. Заведение нового Клиента получилось сразу. Спасибо! А вот с чтением данных из Bitrixa проблема. Хочу получить Контакт по методу crm.contact.get, а вот как задать ID в параметрах ни как не догоню... Ругается на то, что параметр вообще не задан. "ID is not defined or invalid."
74. Mva_72 21.05.18 17:57 Сейчас в теме
(41)
А подскажите, пожалуйста,как вы передали id?
75. user662672_explorer2000 175 22.05.18 07:56 Сейчас в теме
(74) разве вот так ОтправитьRESTЗапрос("crm.contact.get", "id=12345", ""); не работает?
76. Mva_72 22.05.18 10:58 Сейчас в теме
42. user880839 15.12.17 13:07 Сейчас в теме
Результат получил (нельзя пробелы указывать при задании параметров), но все значения в полях указаны отдельно по буквам. Сейчас посмотрю, что можно сделать.
43. user880839 15.12.17 15:12 Сейчас в теме
Преодолеть последствия экранирования (замены русских букв) в ответе на запрос помогла функция

Функция УТФвСтроку(ВхСтр)
ВыхСтр="";
поз=1;
Пока поз<СтрДлина(ВхСтр) Цикл
симв=Сред(ВхСтр,поз,1);
Если симв="\" И Сред(ВхСтр,поз+1,1)="u" Тогда
поз=поз+2;
Вес=4096;
ВыхКод=0;
Для п=0 По 3 Цикл
кодСимв=КодСимвола(ВхСтр,поз+п);
Если кодСимв>96 Тогда // a-f
кодСимв=кодСимв-87;
ИначеЕсли кодСимв>64 Тогда // A-F
кодСимв=кодСимв-55;
Иначе
кодСимв=кодСимв-48; // 0-9
КонецЕсли;
ВыхКод=ВыхКод+кодСимв*Вес;
Вес=Вес/16;
КонецЦикла;
ВыхСтр=ВыхСтр+Символ(ВыхКод);
поз=поз+4;
Иначе
ВыхСтр=ВыхСтр+симв;
поз=поз+1;
КонецЕсли;
КонецЦикла;
Возврат ВыхСтр;
КонецФункции

Спасибо добрым людям.

Но это я похоже сам с собой сегодня на форуме разговариваю...
ivan_luzinov; +1 Ответить
44. user662672_explorer2000 175 18.12.17 07:36 Сейчас в теме
Добрый день!

ПрочитатьJSON не выполняет эту же конвертацию? Не было проблем с получением текста на кириллице
ivan_luzinov; +1 Ответить
45. ikekoval 101 21.12.17 15:04 Сейчас в теме
(0) Автор, Спасибо за статью! Очень помогла, когда писал выгрузку компаний. Столкнулся с проблемой скудности описания данных в https://dev.1c-bitrix.ru/rest_help
Метод "crm.company.add". Не могу передать адрес компании. Во 1х данные не сохраняются в нужных полях, во 2х не понимаю где они должны отображаться. При запросе "crm.company.get(id)" поля есть, но они пустые.
Метод "crm.company.update". Телефон, почта не затираются, а создаются дополнительные с теми же данными (дубль). Параметр "fields" одинаковый для обоих методов и ниже живой пример. Что делаю не так? Пробовал адрес исполнить как массив, хоть судя по описанию полей он не множественный через &fields[ADDRESS][0][VALUE]=123022

fields[TITLE]=ООО "Рога-Копыта"&fields[COMPANY_TYPE]=Клиент&fields[ADDRESS]=123022, Москва г, Звенигородская 2-я ул, дом № 13, строение 37&fields[ADDRESS_CITY]=Москва г&fields[ADDRESS_COUNTRY_CODE]=643&fields[ADDRESS_COUNTRY]=Российская Федерация&fields[ADDRESS_POSTAL_CODE]=123022&fields[PHONE][0][VALUE_TYPE]=WORK&fields[PHONE][0][VALUE]=+7 (495) 999-11-22

"во 2х не понимаю где они должны отображаться" - к таблицам company может пристегиваться таблица "crm.requisite". На каком-то этапе после записи компании я добавлял к ней запись об организации, но в интерфейсе эти данные я видел только в окне редактирования и с адресами там тоже не срослось, а добавлять всё нужное через пользовательские поля не решился.
46. user662672_explorer2000 175 26.12.17 08:11 Сейчас в теме
Добрый день! телефон для контакта добавляю\обновляю например так "....&fields[PHONE][0][VALUE_TYPE]=WORK&fields[PHONE][0][VALUE]=+71111111111....", работает ...
47. isaev2016 27.12.17 04:38 Сейчас в теме
Сегодня авторизация отвалилась, пока нашел что вместо 302 возвращает состояние 200..
48. user662672_explorer2000 175 28.12.17 08:32 Сейчас в теме
(47) такое впечатление, что 26-го вечером что-то было, работающие закачки вываливались в неожиданных местах. Все восстановилось, даже не успел толком разобраться, с 27-го точно уже все работает
49. baracuda 2 20.02.18 22:51 Сейчас в теме
Автору лайк. Можно в личку пару вопросиков. Сейчас курю интеграцию самописной конфы с битриксом...
50. user662672_explorer2000 175 21.02.18 06:39 Сейчас в теме
Добрый день! Конечно пишите, постараюсь ответить
51. pbabincev 114 22.02.18 14:50 Сейчас в теме
Добрый день.
Спасибо за статью, думаю, что многим она пригодилась, в том числе и мне.

Опишу как в итоге сделал я. Ключевое - то, что я использовал веб-хуки и для формирования тела запроса использовал штатную сериализацию JSON.
Надеюсь, кому-нибудь пригодится.


Например, для добавления поста в живую ленту мне же:


Функция ТестПостВЖивуюЛенту() Экспорт 
	
	ПараметрыЗапроса = Новый Структура;
	
	
	
	Метод = "log.blogpost.add";
	
	SPERM_U = Новый Массив;
	SPERM_U.Добавить("U254"); // это ID пользователя, которому дать доступ читать этот пост
	
	ПараметрыЗапроса.Вставить("POST_MESSAGE", 	"Hello, World!");
	ПараметрыЗапроса.Вставить("POST_TITLE", 	"title - 3");
	ПараметрыЗапроса.Вставить("SPERM", 			Новый Структура("U", SPERM_U));
	
	
	ПараметрыЗапроса = СериализоватьВJSON(ПараметрыЗапроса);
	
	Возврат ВыполнитьЗапрос(Метод, ПараметрыЗапроса);
	
КонецФункции

Функция ВыполнитьЗапрос(Метод, Знач ПараметрыЗапроса)

	АдресСервера = "mycompany.bitrix24.ru";
	АдресРесурса = "/rest/254/xxxxxxxxxx/" + Метод + ".json"; // тут "254" - пользователь, от имени которого опубликован веб-хук; "xxxxxxxxxx" - сам веб-хук
	
	
	Попытка
		HTTPСоединение = Новый HTTPСоединение(АдресСервера, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL); // соединяемся по https
	Исключение
		Возврат ОписаниеОшибки();
	КонецПопытки;
	
	
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("Accept-Language", "ru");
	Заголовки.Вставить("Accept-Charset", "utf-8");
	Заголовки.Вставить("Content-Language", "ru");
	Заголовки.Вставить("Content-Charset", "utf-8");
	Заголовки.Вставить("Content-type", "application/json"); // тут обозначаем, что "общаемся" через JSON
	
	HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, Заголовки);
	HTTPЗапрос.УстановитьТелоИзСтроки(ПараметрыЗапроса);
	
	
	HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	
	
	ТелоОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
	
	
	Строка = ДесериализоватьИзJSON(ТелоОтвета);
	
	Возврат HTTPОтвет.КодСостояния;
	
КонецФункции

Функция СериализоватьВJSON(ПараметрыЗапроса)
	
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, , ));
	ЗаписатьJSON(ЗаписьJSON, ПараметрыЗапроса);
	
	ПараметрыJSON = ЗаписьJSON.Закрыть();
	
	Возврат ПараметрыJSON;

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

Функция ДесериализоватьИзJSON(СтрокаJSON)
	
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
	Строка = ПрочитатьJSON(ЧтениеJSON);
	
	Возврат Строка;
	
	
КонецФункции

Показать


Как мы видим, всё просто и логично :-)
ivan_luzinov; mikukrnet; +2 Ответить
52. amd1986 12.03.18 20:04 Сейчас в теме
(51) У вас все просто до того момента, пока не наткнетесь в ограничение в 2 запроса в секунду.
53. pbabincev 114 13.03.18 21:55 Сейчас в теме
(52)
Это ограничение продиктовано вэбхуком?
54. amd1986 14.03.18 11:43 Сейчас в теме
(53) Нет, нагрузкой на Б24. Нужно передавать пакетами по 50 элементов.
55. Milanick 15.03.18 08:40 Сейчас в теме
Ребята помогите пожалуйста с такой ерундой как Универсальные списки.
Есть примеры работы с ними через rest api ?
56. harmless 09.04.18 13:57 Сейчас в теме
Подскажите как сформировать тело POST запроса для передачи не одного, а массива контактов. Такое возможно?
57. user662672_explorer2000 175 10.04.18 07:54 Сейчас в теме
(56) на мой взгляд такое нельзя, crm.contact.add хоть через GET, хоть через POST подразумевает передачу одного контакта
58. amd1986 10.04.18 18:45 Сейчас в теме
(56)Можно через batch запрос. Пример посмотреть, как реализовано, можно в новом модуле синхронизации от Битрикса
harmless; +1 Ответить
59. user662672_explorer2000 175 11.04.18 09:17 Сейчас в теме
60. kobal 11.04.18 14:02 Сейчас в теме
Всем привет.
Озадачился вопросом слива Задач из Б24 в 1С для выстраивания очереди выполнения задач.
Приоритетность будет строиться исходя из данных о клиентах в 1Ске (важность, срочность и тд)
Прочитав ленту понимаю, что есть проблема слива обновленных задач (перенесли дату, ответственного и т.д.)
Но на первом этапе стоит задача просто слить все задачи в 1Ску.
Кто может поделиться кодом?
Спасибо.
61. amd1986 11.04.18 15:28 Сейчас в теме
(60) Используйте новый механизм регистрации изменений. Если для задач есть событий(при добавлении/обновлении задачи), тогда взлетит.
62. pbabincev 114 16.04.18 12:03 Сейчас в теме
(61)
Александр, можете уточнить - вы имеете в виду то, что в Б24 появился механизм регистрации изменений? Давно он там есть?
Спасибо.
63. amd1986 16.04.18 19:30 Сейчас в теме
(62)Примерно месяц - полтора. С выходом нового модуля синхронизации в режиме реального времени.
Смысл логики такой:
1) Цепляем офлайн события на нужные типы данных в Б24.
2) Когда зацепленное событие выполняется, то записывается инфа о событии и ид элемента в спец таблицу.
3) HTTP запросом С получаем данные из этой таблицы и обрабатываем.

Также реализован спец метод push&pull сервера, который сразу сообщает, что появилось хоть одно новое офлайн событие(ну это для реал тайм).

Это все в кратце. Частично дока уже есть тут: https://dev.1c-bitrix.ru/rest_help/general/events_method/index.php
Но там мизер. По событиям(которые были реализованы почти для всех сущностей CRM) пока только в модуле синхронизации.


Т.е. можно получить только изменения(например только новые и измененные компании/контакты), а не все данные. А возможность узнать об изменении сразу - дает возможность реализации реал тайм обмена.
pbabincev; +1 Ответить
66. pbabincev 114 17.04.18 17:27 Сейчас в теме
67. kobal 18.04.18 09:40 Сейчас в теме
(61) Спасибо за подсказку.
Я решил попробовать просто сливать задачи по реквизиту CHANGED_DATE - дата последнего изменения;
Тут скачал пример по созданию задачи и сливу ее по ID.
Но чтобы получит список по фильтру надо применять метод task.item.list

В параметры нужно передавать 1= (ORDER) Массив для сортировки, 2= (FILTER) фильтр, 3= (PARAMS) Массив для опций вызова, 4= (SELECT) Массив полей записей. Дока тут https://dev.1c-bitrix.ru/rest_help/tasks/task/item/list.php


и вот проблема никак не могу его заполнить параметрами.
Что удалось нарыть.
Пример кода.
1) Запрос = Новый HTTPЗапрос("rest/" + RESTЗапрос + "?auth=" + AccessToken + "&" + Параметры, Заголовки);
Выдает 50 задач.
2) если заполнить параметры
СтрПараметров = fields[CREATED_DATE]=" + "asc"; //desc
Выдает 50 первых или 50 последний с сортировкой по дате создания.
Видимо я устанавливают параметр 1 ORDER,
как установить параметр 2 FILTER (отборы) никак не могу разобраться.
Кто знает подскажите!
СПАСИБО!
68. user662672_explorer2000 175 18.04.18 10:40 Сейчас в теме
(67) Если пользоваться процедурами из статьи, то например так

Ответ = ОтправитьRESTЗапрос("task.item.list", "order[]=&filter[RESPONSIBLE_ID]=46&filter[!REAL_STATUS]=5¶ms[]=&select[]=", "");


Запрос получает не выполненные задачи по ответственному с ИД=46

Это работает, проверено
69. user662672_explorer2000 175 18.04.18 10:45 Сейчас в теме
(68) какой-то глюк, почему-то вместо & и слитно params[] вставляет ¶ms[]
70. kobal 18.04.18 11:55 Сейчас в теме
(68) Спасибо огромное! Заработало.
Я лично убил на изучение и поиск проблему часа 3-4 :)
Как могу отблагодарить?
64. script 214 17.04.18 12:24 Сейчас в теме
Т.е. можно получить только изменения(например только новые и измененные компании/контакты), а не все данные. А возможность узнать об изменении сразу - дает возможность реализации реал тайм обмена.


Ну так это уже совсем другое дело.

Скажите пожалуйста, кто уже хорошо покопался, я так понял что некоторые манипуляции данными в Б24 из 1С можно сделать только в платных тарифах Б24.

В частности интересует обмен Сделки-Заказы + статусы, Компании - Контрагенты, и товарами
65. user662672_explorer2000 175 17.04.18 12:49 Сейчас в теме
(64) Все перечисленное будет работать и на бесплатном тарифе. Думаю, если есть доступ через интерфейс, то и через API будет работать. С ограничениями еще не сталкивался...
71. amd1986 18.04.18 12:17 Сейчас в теме
(65)Регистрация изменений, в полном объеме, на бесплатном тарифе работать не будет.
73. user662672_explorer2000 175 26.04.18 09:30 Сейчас в теме
Добрый день!

кусочек кода как обновляю контакт с телефоном


?(СтруктураПараметров.Свойство("Телефон"), "&fields[PHONE][0][ID]=" + ИДТелефона + "&fields[PHONE][0][VALUE_TYPE]=WORK&fields[PHONE][0][VALUE]=" + СтруктураПараметров.Телефон 
		


ИДТелефона из массива PHONE когда получаю контакт по crm.contact.get


Хотя коллеги уже это описали здесь https://dev.1c-bitrix.ru/rest_help/crm/contacts/crm_contact_get.php. Смотрите пользовательский комментарий.
77. uinx 94 01.06.18 10:58 Сейчас в теме
Добрый вечер!
Коллеги, подскажите что такое "AccessToken и RefreshToken" - как их получить?
78. user662672_explorer2000 175 01.06.18 11:29 Сейчас в теме
AccessToken - некий ID который получается при подключении к Битрикс24, он должен в дальнейшем передаваться при каждом обращении к API. Время действия ограничено. Когда время действия AccessToken истекает, его необходимо получить заново. При помощи RefreshToken, который так же получается при регистрации. Как получить в статье есть пример кода и в обработке из вложения.
ivan_luzinov; +1 Ответить
79. novatrade 05.06.18 10:19 Сейчас в теме
Я бы строку
				ВызватьИсключение "Ошибка при получении access_token"; 

заменил бы на:
		ПодключитьсяКБитрикс();
		Возврат;

в процедуре проверки токена. Столкнулся с этим.
80. ПрестарелыйЗаяц 02.08.18 10:32 Сейчас в теме
А есть этот пример в виде обработки у кого-нибудь ?
81. ПрестарелыйЗаяц 02.08.18 10:36 Сейчас в теме
Функция "ПолучитьПараметрыИзGetСтроки" из строки вида адрес?параметр1=значение1&параметр2=значение2 возвращает структуру, где ключ = параметр, а значение = значение

Что это за функция и где она ???
105. uno-c 114 17.10.19 14:54 Сейчас в теме
(81)
&НаСервере
Функция ПолучитьПараметрыИзGetСтроки(ГетСтрока)
	
	ТолькоПараметры = Сред(ГетСтрока, СтрНайти(ГетСтрока, "?") + 1);
	МассивПараметров = СтрРазделить(ТолькоПараметры, "&", Ложь);
	Результат = Новый Структура;
	Для каждого эл из МассивПараметров Цикл
		МассивКиЗ = СтрРазделить(эл, "="); //должны получить массив из двух элементов
		Если МассивКиЗ.Количество() <> 2 Тогда
			ВызватьИсключение("Неверная строка параметров:" + ТолькоПараметры);
		КонецЕсли;
		Результат.Вставить(МассивКиЗ[0],МассивКиЗ[1]);
	КонецЦикла;
	Возврат Результат;
	
КонецФункции
Показать
107. Flynxx 17.10.19 15:56 Сейчас в теме
(105) мой вариант
Функция ПолучитьПараметрыИзGetСтроки(СтрокаОтвета)
	КакаятоСтрока =  УТФвСтроку(СтрокаОтвета);	
	Параметры = Новый Структура;
	//ПозицияСимвола =  СтрНайти(СтрокаОтвета,"?"); 
	ПозицияСимвола =  Найти(СтрокаОтвета,"?"); 
	СтрокаОтветаНовая = Прав(СтрокаОтвета,стрДлина(СтрокаОтвета)-ПозицияСимвола);
	
	//МассивПодстрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрокаОтветаНовая,"&");
	МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаОтветаНовая,"&");
	Для Индекс = 0 По МассивПодстрок.Количество() - 1 Цикл
		ЗначениеПары = МассивПодстрок[Индекс];
		//ПозицияСимвола = СтрНайти(ЗначениеПары,"=");
		ПозицияСимвола = Найти(ЗначениеПары,"=");
		Параметр = Лев(ЗначениеПары,ПозицияСимвола-1);
		ЗначениеПараметра =Прав(ЗначениеПары,СтрДлина(ЗначениеПары)-ПозицияСимвола);
		Параметры.Вставить(Параметр,ЗначениеПараметра);
		
	КонецЦикла;
	
	Возврат Параметры;
КонецФункции
Показать
82. user662672_explorer2000 175 02.08.18 13:05 Сейчас в теме
Вот здесь есть законченная обработка. Это тоже моя статья, в ней есть все функции
83. men260181 21 18.10.18 11:55 Сейчас в теме
Спасибо автору, вариант рабочий, но тормозной. Для больших объемов информации не годится к сожалению.
Milanick; +1 Ответить
84. user662672_explorer2000 175 18.10.18 12:41 Сейчас в теме
не подойдет, т.к. по одному передает. Нужно через batch, как-нибудь дойдут руки сделаю
Milanick; men260181; +2 Ответить
85. Milanick 19.10.18 22:52 Сейчас в теме
Блин, такой потенциал у инструмента , а пользоваться почти невозможно :(
86. user1073447 23.10.18 13:10 Сейчас в теме
нужна интеграция 1с и битрикс - создание обычного счета и счета/оферты в битрикс, синхронизация с 1с, отладка автоматической интеграции номенклатуры и товаров между битрикс/1с интересуют сроки и стоимость, нахождение программиста в спб обязательно!
автоматические инструменты не подойдут, есть особенности заполнения полей
87. Vladislava-smile 14.12.18 11:09 Сейчас в теме
Добрый день. Как обстоят дела через batch? Пробую так:
rest/batch.xml?auth=c671135c0031a352003001c600000001706203479f972da7baeb2d9­58790d4f5c68828&halt=0&cmd[task.item.add]=&fields[TITLE]=Проверка Битрикс&fields[DESCRIPTION]=Проверка обмена Битрикс&fields[DEADLINE]=18.12.2018 0:00:00&fields[START_DATE_PLAN]=17.12.2018 0:00:00&fields[RESPONSIBLE_ID]=1&fields[CREATED_BY]=1

ошибка ( Может знаете в чем проблема?
88. Vladislava-smile 14.01.19 10:21 Сейчас в теме
Проблема с выгрузкой задач из Б24.

Запрос:
"rest/task.item.list?auth=ТокенБ24&order[CHANGED_DATE]=asc&filter[CHANGED_DATE]>=2019-01-11T00:00:00+03:00". в ответ пустой массив, если убирать фильтр по дате изменения - сортирует и отображает. Подскажите, как работать с датой????
89. user662672_explorer2000 175 14.01.19 10:55 Сейчас в теме
попробуйте вместо filter[CHANGED_DATE]>=2019-01-11T00:00:00+03:00 вот так filter[>=CHANGED_DATE]=2019-01-11T00:00:00+03:00

Перед названием фильтруемого поля может указать тип фильтрации:
"!" - не равно
"<" - меньше
"<=" - меньше либо равно
">" - больше
">=" - больше либо равно

взял отсюда https://dev.1c-bitrix.ru/rest_help/tasks/task/item/list.php
90. Vladislava-smile 14.01.19 11:14 Сейчас в теме
(89) Да я тоже читала документацию, это код для php, а я отправляю запрос через url, и не так там это пишется, как они дают в примерах ((.
91. user662672_explorer2000 175 14.01.19 11:17 Сейчас в теме
больше или равно не проверял, но точно работает например так ....&filter[!REAL_STATUS]=5&....
92. Vladislava-smile 14.01.19 11:31 Сейчас в теме
(91) Прав, трабл был в часовом поясе ... СтрПараметров = "order[CHANGED_DATE]=asc" + "&filter[>CHANGED_DATE]=2019-01-10 16:53:00"; работает. Спасибо)
93. user662672_explorer2000 175 14.01.19 11:41 Сейчас в теме
94. kobayoshi 4 07.03.19 16:21 Сейчас в теме
Доброго времени дня.
Огромное спасибо за статью, хоть стало понятно с какой стороны к этому битриксу подойти, а то поддержка у них ни бе, ни ме...
Только вот никак не найду, где можно почитать, какие разновидности field's и тому подобных переменных бывают? На https://dev.1c-bitrix.ru/rest_help/crm только сами методы описаны, и куцые примеры... Или я не нашёл?
95. user662672_explorer2000 175 11.03.19 08:12 Сейчас в теме
96. kobayoshi 4 11.03.19 11:05 Сейчас в теме
(95) Я тоже, но зачастую нет описания того, что можно передать: "параметры_метода". Например, https://dev.1c-bitrix.ru/rest_help/crm/contacts/crm_contact_add.php, в этом методе есть fields, а вот какие поля можно передавать в этот массив, не сказано((
97. user662672_explorer2000 175 12.03.19 08:21 Сейчас в теме
есть метод crm.contact.fields, он вернет описание полей. Хотя даже нет необходимости его вызывать - в описании метода все поля перечислены. Их и передавайте в crm.contact.add в массиве fields
kobayoshi; +1 Ответить
98. Flynxx 08.10.19 12:36 Сейчас в теме
Попробовал сделать по статье. не происходит редиректа на страницу с полем code вместо этого идет редирект на страницу авторизации. Хотя я передаю и логин и пароль. причем если из браузера сделать то нормально перебрасывает на страницу где можно взять поле code. Не подскажете куда копать?
Оставьте свое сообщение

См. также

Получение данных из Сигур

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Получение данных из СКУД Сигур (без танцов с бубном)

25.12.2019    1276    skaoxy    5       

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

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

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

Интеграция решений на 1С и сервиса обмена данными RabbitMQ через Web REST API

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Внешние источники данных

Отправка "Hello world" из 1С на сервер RabbitMQ и обратно при помощи web REST API. Проще уже некуда! Совместимо с Linux и Windows! Реализация протестирована на 1С 8.3.14.1854 (x64).

21.10.2019    6662    Eret1k    12       

Выгрузка из 1С номенклатуры со штрихкодами без программирования

Статья Программист Пользователь Стажер Нет файла v8 УТ11 Россия Бесплатно (free) Загрузка и выгрузка в Excel Внешние источники данных

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С: Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию.

28.08.2019    4872    user1114182    4       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Выгрузка данных в таблицу MS SQL SERVER

Статья Программист Нет файла v8 MS SQL Бесплатно (free) Внешние источники данных

Процедура по выгрузке данных из 1C (таблица значений) в таблицу MS SQL SERVER через COM.

02.07.2019    3976    EvgenSav    17       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

1С и компьютерное зрение: новый подход к контролю за ассортиментом магазина

Статья Бизнес-аналитик Нет файла v8 1С:Франчайзи, автоматизация бизнеса УУ Розничная торговля Бесплатно (free) Внешние источники данных

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    5801    osipov_cvizi    16       

Интеграция решений на 1С и сервиса обмена данными RabbitMQ

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Внешние источники данных

"Hello world" из 1С на сервер RabbitMQ и обратно. Полностью открытый код 1С! Реализация протестирована на 1С 8.3.12.1714 (x64).

24.04.2019    11937    Eret1k    45       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

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

5500 рублей

MS Access и 1С. Что, когда и зачем?

Статья Программист Бизнес-аналитик Нет файла v8 Бесплатно (free) Практика программирования Внешние источники данных Разработка

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    20300    YPermitin    32       

RabbitMQ + Конвертация Данных 3.0

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

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

21.03.2019    18097    barelpro    82       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Выполнение REST API запросов к Битрикс24 из 1с8

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

Модуль для выполнения REST API запросов к Битрикс24 с примерами вызова.

1 стартмани

12.02.2019    4627    26    sdemon72    4       

Загрузка ЭЛН (электронных листов нетрудоспособности) из файлов

Статья Системный администратор Программист Нет файла v8 УПП1 Россия БУ Зарплата ФОМС, ПФ, ФСС Бесплатно (free) Внешние источники данных

Что делать, если по каким-то причинам нет возможности разместить 1С и Крипто-Про на одном рабочем месте? Правильно - открывать конфигуратор и пилить. Благо, там не сложно. Непосредственно решение для УПП 1.3. Для ЗиК 2.5 и Комплексной автоматизации должно быть аналогично.

07.02.2019    3978    SatanClaws    4       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Работа с кассой Atol через веб-сервер ДТО-10

Статья Программист Нет файла v8 Россия Кассовые операции НДС Бесплатно (free) Внешние источники данных ККМ Фискальный регистратор

Поддержка многопользовательской печати на одном устройстве ККТ. Поддержка изменений в законодательстве (Переход на ФФД 1.05 и НДС 20%).

31.12.2018    23611    medangel    41       

RabbitMQ, Python и Windows. Step By Step

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Внешние источники данных

Работа с шиной RabbitMQ, используя Python на Windows. Пошаговый быстрый старт.

13.12.2018    6532    w.r.    7       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Из 1С в IIKO: Передаем перемещения УТ в приходные накладные

Статья Программист Нет файла v8 УТ11 Рестораны, кафе и фаст-фуд УУ Оптовая торговля Бесплатно (free) Внешние источники данных

Рассмотрение вариантов передачи документа "Перемещение товаров" из Управление торговлей 11 в документ "Приходная накладная" IIKO.

12.09.2018    5835    oyti    7       

IIKO (Айко). Обмениваемся накладными с 1С

Статья Программист Нет файла v8 БП3.0 Рестораны, кафе и фаст-фуд БУ УУ Бесплатно (free) Внешние источники данных

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

01.06.2018    11529    oyti    13       

Открыто голосование за доклады на INFOSTART MEETUP Krasnodar Промо

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

Битрикс24. Работаем с оффлайн событиями

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Внешние источники данных

Появление оффлайн событий упростило синхронизацию Битрикс24 -> 1С. Теперь, например, можно загрузить только измененные между сеансами обмена сделки. А не тащить все незавершенные. В статье описание, как это можно сделать.

1 стартмани

11.05.2018    7560    32    user662672_explorer2000    29       

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

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

6500 рублей

Интеграция Zimbra и 1С

Статья Программист Нет файла v8 Россия УУ Управление взаимоотношениями с клиентами (СRM) Бесплатно (free) Внешние источники данных

В публикации описывается способ интеграции 1С с почтовым сервером Zimbra, используя SOAP сервис. Рассматривать вопрос интеграции будем на примере бизнес задачи, из блока CRM. Реализации общей адресной книги(GAL-Global Address List) между сотрудниками. Сотрудники(компания) ведет весь учет в 1С, в том числе и элементы CRM, а Zimbra выступает лишь в роли почтового сервиса. Сделать данную публикация побудило отсутствие в интернете готовых примеров совместной работы 1С и Zimbra. Надеюсь, она поможет кому-либо сократить время на реализацию похожей задачи.

16.04.2018    9345    Гексагон    17       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Обмен сведениями о пособиях с ФСС для Зарплата и Управление персоналом 2.5.129.3

Статья Программист Нет файла v8 v8::СПР ЗУП2.5 Россия БУ Зарплата ФОМС, ПФ, ФСС Бесплатно (free) Внешние источники данных

Ошибка отправки файла при обмене сведениями о пособиях с ФСС. Зарплата и Управление Персоналом, редакция 2.5 (2.5.129.3).

06.03.2018    16308    Igorexa    30       

К вопросу об интеграции 1С и Битрикс24

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных

Обработка реализует 4 метода из Rest API Битрикс24 - получение списка бизнес-процессов, получение списка задач, создание задачи и получение свойств задачи по ее идентификатору.

1 стартмани

19.02.2018    11815    76    bulpi    15       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Загрузка данных из DocsVision

Статья Программист Нет файла v8 Бесплатно (free) Внешние источники данных

Необходимо было реализовать загрузку данных из программы документооборота "DocsVision 5" в "1С:Документооборот 8". Данное описание оставляю больше для себя, чтобы не забыть, ну и, может, еще кому поможет, т.к. не нашел нигде нормального описания.

17.01.2018    7658    apxi    2       

Создание мобильного клиента 1С на Android с использованием HTTP-сервисов

Статья Программист Нет файла v8 v8::Mobile Android Бесплатно (free) Внешние источники данных Мобильная разработка

Краткий курс по созданию мобильного приложения на Android, который связывается с сервером 1С через HTTP-сервис. Публикация рассчитана на тех, кто хорошо знаком с программированием на платформе 1С и владеет основами программирования на платформе Android (умеет создавать Activity и знает, как устроена структура проекта).

03.11.2017    29663    cdiamond    15       

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

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

Загружаем картинки товаров в Битрикс24 через REST API

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Внешние источники данных

Пример обработки для загрузки и выгрузки картинки товара из Битрикс24 через REST API.

1 стартмани

17.10.2017    13465    20    user662672_explorer2000    14       

Как сделать конфигурацию «1С:Предприятие 8» приложением QuickBooks. Проходим авторизацию OAuth 1.0a+OpenID 2.0

Статья Программист Нет файла v8 Бесплатно (free) Внешние источники данных Практика программирования

Пришло время, когда интеграция со сторонними организациями и их приложениями стала необходимостью для успешного ведения бизнеса. В этой статье будет рассмотрено прохождение авторизации OAuth 1.0a+OpenID 2.0 и превращение конфигурации «1С:Предприятие 8» в приложение QuickBooks.

10.09.2017    18879    pbazeliuk    28