Интеграция 1С с Битрикс CRM через REST API

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

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

СРМ Битрикс выгрузка обмен

На фоне неутихающего обострения «бизнеса» по внедрению СРМ-систем остро встают вопросы обмена данными с уже существующими системами. В статье рассматривается выгрузка контактов, товаров и сделок из 1С в Битрикс CRM через REST API, приложена обработка для тестирования.

Существуют стандартные интеграции Битрикс и 1С, но они умеют плюс/минус ничего, зато с использованием rest api Битрикса можно получать и передавать практически все что угодно, двигать сделки по этапам, назначать ответственных и т.п.

В рассматриваемом примере подключение к Битриксу происходит через Вебхуки (приложение в Битриксе).  В обработке данные берутся с формы, естественно, ничего не мешает заменить их на нужные источники – справочники, документы, бизнес-процессы и т.д.

Для изучения и тестирования методов настоятельно рекомендуется битриксовское же приложение «Документация по REST API». СРМу там посвящен свой раздел.

Обработка тестировалась на следующих версиях ПО:

1С-Битрикс: Корпоративный портал 18.1.8

1С:Предприятие 8.3 (8.3.14.1779)

Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.70.39) (хотя конфигурация значения не имеет, в обработке используются только механизмы платформы)

 

Теория

Основная логика реализована в функции, которая действует по следующему алгоритму:

На входе получает структуру, где указан тип сущности, ее ORIGIN_ID (в боевых условиях для этих целей используются ГУИДы 1с) и структура всех полей  - типа названия, стоимости и т.д.

Ищет сущность в СРМ по ORIGIN_ID  

Если не находит – создает

Находит одну сущность – обновляет ее

Находит больше одной сущности – выдает ошибку

В случае успеха возвращает результат ок и Битрикс ИД созданной/обновленной сущности

В случае ошибки error и текст ошибки

&НаСервере
// Ищет и обновляет/создает сущность в СРМ Битрикс
// На входе - структура:
// СущностьСРМ - тип сущности, строка: contact, company, lead, deal, productsection, product 
// ORIGIN_ID - ГУИД объекта 1С
// fields - структура полей для обновления
// Возвращает:
// Результат - ок/error
// Значение - если ок - битрикс ИД созданного/обновленного элемента, если error - текст ошибки
Функция СоздатьОбновитьСущностьБитрикс(СтруктураСущности)
	//Готовим структуру для возврата
	СтруктураСозданияОбновленияСущности = Новый Структура("Результат, Значение");
	
	//Получаем настройки
	ЛогинПортала = ЛогинПортала;
	ПарольПортала = ПарольПортала;
	АдресПортала = АдресПортала;
	RestВебхук = RestВебхук;
	
	//Создаем соединение
	Соединение = Новый HTTPСоединение(АдресПортала, , ЛогинПортала, ПарольПортала,,, Новый ЗащищенноеСоединениеOpenSSL);
	
	//Получаем название сущности СРМ
	СущностьСРМ = СтруктураСущности.СущностьСРМ;
	
	//Формируем запрос
	HTTPЗапрос = Новый HTTPЗапрос(RestВебхук + "crm." + СущностьСРМ + ".list.json/");
	
	//Запрос для поиска
	СтрокаЗапроса = "";
	Если СтруктураСущности.СущностьСРМ = "productsection" ИЛИ СтруктураСущности.СущностьСРМ = "product" Тогда
		СтрокаЗапроса = СтрокаЗапроса + "filter[XML_ID]=" + КодироватьСтроку(СтруктураСущности.ORIGIN_ID, СпособКодированияСтроки.КодировкаURL);
	Иначе
		СтрокаЗапроса = СтрокаЗапроса + "filter[ORIGIN_ID]=" + КодироватьСтроку(СтруктураСущности.ORIGIN_ID, СпособКодированияСтроки.КодировкаURL);
	КонецЕсли;
	
	HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса, КодировкаТекста.UTF8);
	HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);   
	СтруктураОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
	
	//Разбираем ответ
	ЧтениеJSON = Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(СтруктураОтвета);
	Попытка
		СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
	Исключение
		СтруктураСозданияОбновленияСущности.Результат = "error";
		СтруктураСозданияОбновленияСущности.Значение = ОписаниеОшибки() + " | " + СтруктураОтвета;
		Возврат СтруктураСозданияОбновленияСущности;
	КонецПопытки;
	
	
	//////////////
	Если СтруктураОтвета.Свойство("total") И СтруктураОтвета.total = 1 Тогда
		//Найдена одна сущность, обновляем
		Соединение = Новый HTTPСоединение(АдресПортала, , ЛогинПортала, ПарольПортала,,, Новый ЗащищенноеСоединениеOpenSSL);
		ИДНайденнойСущности = СтруктураОтвета.result[0].ID;
		HTTPЗапрос = Новый HTTPЗапрос(RestВебхук + "crm." + СущностьСРМ + ".update.json?id=" + ИДНайденнойСущности);
		
		СтрокаЗапроса = "";
		Для Каждого Поле Из СтруктураСущности.fields Цикл
			Если ТипЗнч(Поле.Значение) = Тип("Массив") И (Поле.Ключ = "CONTACT_IDS") Тогда
				//Это для связанных объектов
				Для Индекс = 0 По Поле.Значение.Количество()-1 Цикл
					СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "][" + Индекс + "]=" + КодироватьСтроку(Поле.Значение[Индекс], СпособКодированияСтроки.КодировкаURL);
				КонецЦикла;
			ИначеЕсли ТипЗнч(Поле.Значение) = Тип("Массив") Тогда
				//Сие для телефонов и почты
				Для Индекс = 0 По Поле.Значение.Количество()-1 Цикл
					СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "][" + Индекс + "][VALUE]=" + КодироватьСтроку(Поле.Значение[Индекс], СпособКодированияСтроки.КодировкаURL);
				КонецЦикла;
			Иначе
				СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "]=" + КодироватьСтроку(Поле.Значение, СпособКодированияСтроки.КодировкаURL);
			КонецЕсли
		КонецЦикла;
		
		HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса, КодировкаТекста.UTF8);
		HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);   
		СтруктураОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
		
		//Разбираем ответ
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(СтруктураОтвета);
		СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
		
		Если СтруктураОтвета.Свойство("result") И СтруктураОтвета.result Тогда
			//Все ок
			СтруктураСозданияОбновленияСущности.Результат = "ок";
			СтруктураСозданияОбновленияСущности.Значение = ИДНайденнойСущности;
			Возврат СтруктураСозданияОбновленияСущности;
		ИначеЕсли СтруктураОтвета.Свойство("error") Тогда
			//Сервис вернул ошибку
			ТекстОшибки = "Ошибка при обновлении " + СущностьСРМ + ": " + СтруктураОтвета.error;
			Если СтруктураОтвета.Свойство("error_description") И СтруктураОтвета.error_description <> "" Тогда
				ТекстОшибки = ТекстОшибки + ", error_description: " + СтруктураОтвета.error_description;
			КонецЕсли;
			СтруктураСозданияОбновленияСущности.Результат = "error";
			СтруктураСозданияОбновленияСущности.Значение = ТекстОшибки;
			Возврат СтруктураСозданияОбновленияСущности;
		Иначе
			//Прочая неизвестная хрень
			СтруктураСозданияОбновленияСущности.Результат = "error";
			СтруктураСозданияОбновленияСущности.Значение = "Неизвестная ошибка при обновлении " + СущностьСРМ + " с id=" + ИДНайденнойСущности;
			Возврат СтруктураСозданияОбновленияСущности;
		КонецЕсли;
		
	ИначеЕсли СтруктураОтвета.Свойство("total") И СтруктураОтвета.total = 0 Тогда		
		//Не найдено, создаем
		Соединение = Новый HTTPСоединение(АдресПортала, , ЛогинПортала, ПарольПортала,,, Новый ЗащищенноеСоединениеOpenSSL);
		HTTPЗапрос = Новый HTTPЗапрос(RestВебхук + "crm." + СущностьСРМ + ".add.json/");
		
		СтрокаЗапроса = "";
		
		Если СтруктураСущности.СущностьСРМ = "productsection" ИЛИ СтруктураСущности.СущностьСРМ = "product" Тогда
			СтрокаЗапроса = СтрокаЗапроса + "fields[XML_ID]=" + КодироватьСтроку(СтруктураСущности.ORIGIN_ID, СпособКодированияСтроки.КодировкаURL);
		Иначе
			СтрокаЗапроса = СтрокаЗапроса + "fields[ORIGIN_ID]=" + КодироватьСтроку(СтруктураСущности.ORIGIN_ID, СпособКодированияСтроки.КодировкаURL);
		КонецЕсли;
		
		Для Каждого Поле Из СтруктураСущности.fields Цикл
			Если ТипЗнч(Поле.Значение) = Тип("Массив") И (Поле.Ключ = "CONTACT_IDS") Тогда
				//Это для связанных объектов
				Для Индекс = 0 По Поле.Значение.Количество()-1 Цикл
					СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "][" + Индекс + "]=" + КодироватьСтроку(Поле.Значение[Индекс], СпособКодированияСтроки.КодировкаURL);
				КонецЦикла;
			ИначеЕсли ТипЗнч(Поле.Значение) = Тип("Массив") Тогда
				//Сие для телефонов и почты
				Для Индекс = 0 По Поле.Значение.Количество()-1 Цикл
					СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "][" + Индекс + "][VALUE]=" + КодироватьСтроку(Поле.Значение[Индекс], СпособКодированияСтроки.КодировкаURL);
				КонецЦикла;
			Иначе
				СтрокаЗапроса = СтрокаЗапроса + "&fields[" + Поле.Ключ + "]=" + КодироватьСтроку(Поле.Значение, СпособКодированияСтроки.КодировкаURL);
			КонецЕсли
		КонецЦикла;
		
		HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаЗапроса, КодировкаТекста.UTF8);
		HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);   
		СтруктураОтвета = HTTPОтвет.ПолучитьТелоКакСтроку();
		
		//Разбираем ответ
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(СтруктураОтвета);
		СтруктураОтвета = ПрочитатьJSON(ЧтениеJSON);
		
		//////////////
		Если СтруктураОтвета.Свойство("result") И СтруктураОтвета.result <> "" Тогда
			СтруктураСозданияОбновленияСущности.Результат = "ок";
			СтруктураСозданияОбновленияСущности.Значение = Формат(СтруктураОтвета.result, "Л=ru_RU; ЧГ=0");
			Возврат СтруктураСозданияОбновленияСущности;
		ИначеЕсли СтруктураОтвета.Свойство("error") Тогда
			//Сервис вернул ошибку
			ТекстОшибки = "Ошибка при создании " + СущностьСРМ + ": " + СтруктураОтвета.error;
			Если СтруктураОтвета.Свойство("error_description") И СтруктураОтвета.error_description <> "" Тогда
				ТекстОшибки = ТекстОшибки + ", error_description: " + СтруктураОтвета.error_description;
			КонецЕсли;
			СтруктураСозданияОбновленияСущности.Результат = "error";
			СтруктураСозданияОбновленияСущности.Значение = ТекстОшибки;
			Возврат СтруктураСозданияОбновленияСущности;
		Иначе
			//Прочая неизвестная хрень
			СтруктураСозданияОбновленияСущности.Результат = "error";
			СтруктураСозданияОбновленияСущности.Значение = "Неизвестная ошибка при создании " + СущностьСРМ;
			Возврат СтруктураСозданияОбновленияСущности;
		КонецЕсли;
	ИначеЕсли СтруктураОтвета.Свойство("total") И СтруктураОтвета.total > 1 Тогда
		//Найдено больше одной компании, обтекаем
		СтруктураСозданияОбновленияСущности.Результат = "error";
		СтруктураСозданияОбновленияСущности.Значение = "Нарушена целостность данных. Найдено больше одной " + СущностьСРМ + " с одинаковым ORIGIN_ID";
		Возврат СтруктураСозданияОбновленияСущности;
	ИначеЕсли СтруктураОтвета.Свойство("error") Тогда
		//Сервис вернул ошибку
		ТекстОшибки = "Ошибка при поиске " + СущностьСРМ + ": " + СтруктураОтвета.error;
		Если СтруктураОтвета.Свойство("error_description") И СтруктураОтвета.error_description <> "" Тогда
			ТекстОшибки = ТекстОшибки + ", error_description: " + СтруктураОтвета.error_description;
		КонецЕсли;
		СтруктураСозданияОбновленияСущности.Результат = "error";
		СтруктураСозданияОбновленияСущности.Значение = ТекстОшибки;
		Возврат СтруктураСозданияОбновленияСущности;
	Иначе
		//Прочая неизвестная хрень
		СтруктураСозданияОбновленияСущности.Результат = "error";
		СтруктураСозданияОбновленияСущности.Значение = "Неизвестная ошибка при поиске " + СущностьСРМ;
		Возврат СтруктураСозданияОбновленияСущности;
	КонецЕсли;
КонецФункции

 

Использование обработки для тестирования

Указываем настройки

Адрес  портала в виде «portal.mysite.com»  ( без https:// )

Логин и пароль портала если используется http авторизация

Вебхук в виде «rest/1234/abc7skjbv1vyqxb2/» - т.е. точка доступа и собственно вебхук в одной строке

 

Отправка

Контакты и товары можно создавать независимо. Для создания сделки с контактом и товаром, а также для движения сделки по стадиям нужно заполнить все поля, так как каждый раз создаются/обновляются все сущности.

 

Результат на портале

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

Наименование Файл Версия Размер
Интеграция 1С с Битрикс CRM через REST API:
.epf 11,72Kb
28.06.19
14
.epf 1.0 11,72Kb 14 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. osivv 92 29.06.19 10:51 Сейчас в теме
Браво!
Наконец-то и Битриксе стали что-то делать в направлении REST API, до классического правда далеко и не соответствует, но все таки. Потому что, на мой сугубо субъективный взгляд, не оптимально в "СтрокаЗапроса" запихивать все передаваемые "Ключ=Значение", а если их штук 20? Если дадите ссылки на документацию, буду признателен, я внятную не нашел, не говоря уже о каких-то примерах использования (чисто для расширения своих компьютерных знаний, в работе использую другой).
А разве нельзя использовать обработчик ошибок по коду ответа, например КодОтвета=200 (всё ОК)? Потому что, проще выделить обработчик ответа в одну функцию и по коду понимать ошибка у нас или нет. Хотя не удивлюсь, что битрикс (как обычно) пошел своим, уникальным путём.
А картинки таким макаром можно публиковать?
По моему, это всё-таки не REST API, а как вы сами написали "Вебхуки".
Через "Postman" или "curl" тестировать можно?
В общем жирный "+" в карму.
2. muzipov 39 29.06.19 17:05 Сейчас в теме
Спасибо за оценку!

(1)
Если дадите ссылки на документацию, буду признателен

Документация по REST Битрикса https://dev.1c-bitrix.ru/rest_help/, также она реализована в виде приложения в самом Битриксе, там есть примеры и оттуда можно сразу запускать код.

(1)
А разве нельзя использовать обработчик ошибок по коду ответа, например КодОтвета=200 (всё ОК)?

Нет, потому что в некоторых случаях может возвращаться 200, а по факту то что нужно не произошло. К тому же, почти всегда из ответа нужна какая-то дополнительная информация - код найденного или созданного объекта например.

(1)
А картинки таким макаром можно публиковать?

Методы REST-сервиса получают файлы в виде строки, закодированной в base64

(1)
Через "Postman" или "curl" тестировать можно?

Конечно можно, я для этих целей использую SOAP UI
3. ltfriend 440 30.06.19 08:19 Сейчас в теме
(1) а как оптимально передавать параметры в http запросе?
5. kuntashov 366 30.06.19 20:32 Сейчас в теме
(3) REST API битриксоиды реализовали с отступлением от канонов, например, они не различают "глаголы" и для них методы GET и POST работают одинаково, любой метод API можно вызывать как GET, так и POST запросом с одинаковым эффектом. Зато большой запрос можно отправлять POSTом (и это рекомендуется), тело запроса в этом случае формируется также как и query-string (application/x-www-form-urlencoded).
7. ltfriend 440 01.07.19 09:23 Сейчас в теме
(5) я задавал вопрос автору первого комментария конкретно к этому предложению:
Потому что, на мой сугубо субъективный взгляд, не оптимально в "СтрокаЗапроса" запихивать все передаваемые "Ключ=Значение", а если их штук 20?

Мне стало интересно, знает ли он более оптимальную передачу параметров в POST запросе, помимо передачи их строкой (application/x-www-form-urlencoded).
4. kuntashov 366 30.06.19 20:24 Сейчас в теме
> Существуют стандартные интеграции Битрикс и 1С, но они умеют плюс/минус ничего

А вы когда последний раз пробовали?

Модуль 1С:Синхронизация с Битрикс24 работает через REST API, первые версии были выпущены более года назад.
Сегодня публикуются в виде расширения.

В общем и целом работает хорошо и уж точно, если требуется в обмене что-то совсем специфичное, то лучше разработку вести именно на базе этого модуля, а не с нуля, т.к. куча нюансов в нем уже решена, например, механизм контроля изменений через оффлайн-событий и уже реализовавнный лонг-поллинг для "онлайн" обмена.
krylovim; +1 Ответить
6. kuntashov 366 30.06.19 20:33 Сейчас в теме
(4) Вот здесь, например, релизы модуля для УТ https://1c.1c-bitrix.ru/intranet/download.php?section=102557
Оставьте свое сообщение

См. также

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

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

16450 рублей

Использование хранимых процедур MS SQL Server в 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf MS SQL Абонемент ($m) Внешние источники данных

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

1 стартмани

03.12.2019    5284    3    Dedushka    26       

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

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

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

Вебхук. Путь Телеграма

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) Внешние источники данных Интеграция

Долгое (на самом деле нет) и нелегкое путешествие телеграма к неведомым (из за РКН) конфигурациям 1С. Памятка себе.

1 стартмани

03.10.2019    8741    6    platonov.e    14       

Получение изображения с IP-камеры

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

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    5991    22    sivin-alexey    8       

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

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

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

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

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    8962    7    Dementor    27       

Согласование задач из Outlook

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

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    4578    11    duhh    17       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

Обмен большими данными между клиентом и сервером

Статья Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Внешние источники данных

В статье рассматривается вопрос передачи больших объемов данных, превышающих теоретический лимит сеансовых данных (4Гб за вызов) (они же временное хранилище) как с клиента на сервер, так и в обратном направлении.

1 стартмани

27.08.2019    7985    2    logos    24       

Телеграм 1С – почти коробка

Инструменты и обработки Программист Пользователь Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Почему это решение называется «почти коробка»? Потому, что это почти коробочное решение. С его помощью, просто добавив подсистему в конфигурацию, уже можно начинать взаимодействовать с мессенджером Telegram.

10 стартмани

20.08.2019    7073    20    zfilin    59       

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

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

Расширение Бром для интеграции с 1С

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Внешние источники данных WEB

Из этой статьи вы узнаете, как можно быстро и просто синтегрироваться с любой конфигурацией 1С при помощи расширения Бром.

1 стартмани

06.08.2019    3116    4    itworks    10       

Конфигурация для обмена данными (интеграционная шина)

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

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

4 стартмани

08.07.2019    5321    20    miha-28    16       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Почта России - отправка и отслеживание, интеграция с Документооборот 8

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 ДО Россия Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Выгрузка почтовых отравлений в личный кабинет отправки Почты России; отслеживание почтовых отправлений через Почту России; расширение для интеграции Документооборот 8 с Почтой России

5 стартмани

04.06.2019    4029    35    wtlz    10       

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

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

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

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

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

3 стартмани

04.05.2019    10652    60    MarkoSokolov    47       

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных Обмен через XML WEB Разработка

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    21422    25    riposte    63       

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

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

WhatsApp чат для 1С

Инструменты и обработки no Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Внешние источники данных

WhatsApp чат для 1С. Расширение конфигурации, подходит для любых конфигураций 1С (управляемые формы).

5 стартмани

15.04.2019    5200    20    ManyakRus    19       

Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть

Инструменты и обработки Бухгалтер Расширение (cfe) v8 ERP2 БУ Документооборот и делопроизводство Абонемент ($m) Внешние источники данных

Подключаемое расширение к конфигурации ERP с функционалом отправки дополнительных реквизитов 1С ЭДО для Татнефть (№ и дата договора, подразделение, автор, примечание) в электронных документах Счет-фактуры и ТОРГ-12 Проверялось на 1С:ERP Управление предприятием 2.4.6.160.

2 стартмани

07.04.2019    5115    10    sapervodichka    6       

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

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

Аутентификация на внешних сервисах посредством OAuth

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

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    10581    8    binx    9       

Формирование xml файла ЭДО (СБИС, Диадок, Такском и т.п.) для типовых документов (счета-фактуры, накладные)

Инструменты и обработки Программист Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 1cv8.cf Документооборот и делопроизводство Абонемент ($m) Внешние источники данных Обмен через XML

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

4 стартмани

30.03.2019    17216    126    capitan    61       

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

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

Декларации по формам 11 и 12 алкогольной продукции, интеграция с ПО Декларант-Алко

Отчеты и формы Бухгалтер Архив с данными v8 Розничная и сетевая торговля (FMCG) Россия БУ Розничная торговля Абонемент ($m) Регламентированная отчетность Внешние источники данных

Конфигурация на обычных формах, платформа 1С 8.2.19.130 и выше, с помощью которой можно сформировать Декларации по формам 11 и 12 алкогольной продукции, гибрид/интеграция с ПО Декларант-Алко версии 4.31.05 и выше.

1 стартмани

25.03.2019    4312    8    independ    6       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Работа с Active Directory из 1С (загрузка / выгрузка данных)

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

Загрузка данных из Active Directory / Изменение информации пользователя в AD из 1С.

1 стартмани

26.02.2019    7271    60    Смешной 1С    7       

Телеграм + 1С + Вебхуки + Апач + Самоподписанный сертификат

Статья Программист Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Много строк исписано про интеграцию Телеграма и 1С. Но нигде не увидел полной инструкции по установке и настройке вебхуков. Попробую её написать.

1 стартмани

26.02.2019    9702    10    alexlx    29       

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

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

от 11000 рублей

Универсальное расширение 1С для Google Таблиц и Документов

Статья Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Внешние источники данных

Эта статья для тех, кто использует G Suite и 1С. Готовое решение для выгрузки отчетов и печатных форм из баз 1С в Google Диск в формате Google Таблиц и Google Документов. Информация по его внедрению. Описание создания и настройки проекта в GCP.

1 стартмани

31.01.2019    9934    23    Maria18    18       

HTTP API Диадок. Загружаем в Диадок любой документ. Посредством POST и GET запросов

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

Поставили задачу через HTTP API Диадок (diadoc-api.kontur.ru) отправить любой файл в Диадок и подписать его (например, служебную записку в формате пдф). Посредством POST и GET запросов.

2 стартмани

14.01.2019    6656    12    John_d    6