Битрикс24: Используем REST API для создания Задачи из документа 1С - с файлами, пользовательскими полями, помещением в группу и комментариями

16.03.26

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

Создание задачи Битрикс24 на основании произвольного документа 1С. Поддерживаются Группы/коллабы/проекты Битрикс, Пользовательские поля, Картинки в описании, форматирование и прикрепленные файлы. Расширение. Совместима со всеми конфигурациями на базе БСП.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Битрикс24: Cоздание Задачи из документа 1С (картинки, пользовательские поля, группы, комментарии)
.cfe 374,41Kb
4 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Описание разработки.

Демо - пример работы с REST API Битрикс24. Тип - Расширение.

Назначение: создание задач Битрикс24 из данных произвольного документа "Задача" в  базе 1С.

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

Создание задачи производится от лица Пользователя-"робота" Битрикс24. Сопоставление остальных пользователей 1С с пользователями Битрикс производится по адресам электронной почты, указанных в Контактной информации пользователя 1С.

Поддерживаются все конфигурации 1С, основанные на БСП 3.1. Расширение разработано на основе Демонстрационной версии Библиотеки Стандартных подистем, редакция 3.1 (https://its.1c.ru/db/metod8dev/content/5856/hdoc)

 

Раздел 1. Настройка пользователя Битрикс24: получение токена вебхука и настройка прав

Первым этапом настройки интеграции является подготовка портала Битрикс24.

Для обеспечения безопасного и легитимного обмена данными системе 1С необходимо предоставить «ключ доступа» (токен вебхука, созданного от имени определенного Пользователя Бтирикс).

Процесс начинается с создания в Битрикс24 специального пользователя, например, «Робот 1С», которому делегируются права на выполнение строго определенных операций. Наша интеграция обращается к функционалу Битрикс с помощью вебхука.

Как создать вебхук: https://apidocs.bitrix24.ru/local-integrations/local-webhooks.html

При создании входящего вебхука обязательно должны быть отмечены следующие права (scopes): 

  • disk (для работы с файлами), 
  •  user (для запроса данных пользователей);
  • sonet_group (для привязки создаваемой задачи к рабочим группам, коллабам, проектам);
  • task (непосредственно для создания и изменения задач);
  • user.userfield (для работы с пользовательскими полями, если потребуется расширить карточку задачи).

Полученный код вебхука (URL токена) сохраняем куда-нибудь в секретное место. Чуть позже мы его внесем в настройки пользователя "робота" обработки 1С.

2. Следующим этапом - можно создать парочку "пользовательских полей" (https://helpdesk.bitrix24.ru/open/2573061/). Можно и не создавать, впрочем.

 

Раздел 2. Запуск обработки «Настройка интеграции Битрикс» и ввод первичных данных

После создания технических учетных записей наступает этап Настройки. В расширение входит общая форма «Настройка интеграции Битрикс». Откроем её. 

 

 

Порядок настройки: 

- Вводим Адрес портала своего Битрикс24, Идентификатор пользователя Битрикс, и Токен вебхука, полученный ранее. 

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

- ТЧ "Группы": Указываем галочкой группу, в которую по умолчанию будут попадать создаваемые задачи.

 

 

-  ТЧ "Пользовательские поля": галочкой указываем пользовательские поля, которые должны быть заполнены при создании задачи. При этом необходимо выбрать из списка, каким значением ("Значение заполнения") будет заполняться каждое из них. (В целях безопасности использования, значения предопределены , но никто не мешает дополнить этот список).

- ТЧ "События": указываем Состояние, которое будет назначено документу в 1С после создания задачи Битрикс. Например - "Закрыто".

- Жмём "Сохранить". Сохранение настроек производится в Безопасном хранилище конфигурации. (https://its.1c.ru/db/v8std/content/740/hdoc) Мы же не используем в коде "магические строки", ведь так? (*мем с Падме)

 

Раздел 3. Создание "задачи" в информационной базе на основании "обращения" пользователя.

Используем стандартную бизнес-логику: "Обращение"-"Задача".

Создаем в 1С документ «Обращение (демо)» . Для упрощения тестирования, текстовое описание будет заполнено автоматически (текстом и картинкой) при первом открытии. 

 

Сохраняем "Обращение", и на его основании создаем документ "Задача (демо)".

 

 

 

Раздел 4. Создание задачи Битрикс24 из формы Документа.

В дополнительном командном интерфейсе ("Ещё") формы "Задачи" появилась кнопка "(Битрикс24) Создать задачу".

 

 

Нажимаем, подтверждаем.

Что происходит "под капотом":

// Создает задачу в Битрикс24 по исходящим данным из Задачи в Информационной Базе
 // Параметры:
 //		ИсточникСсылка	- Ссылка на документ Задачи в информационной базе	
 //	ПараметрыАвторизации - Структура - Структура параметров пользователя. Ключи структуры:
 //												*АдресПортала - Строка - Адрес портала Б24
 //												*Идентификатор - Число - ИД пользователя Б24
 //												*ВебХук - Строка - токен входящего вебхука Б24
 //	СтруктураВозвратныхПараметров - Структура - возвратный параметр. Используется для результатов создания задачи	
 Процедура СоздатьЗадачуБитрикс24(ИсточникСсылка, ПараметрыАвторизации=Неопределено, СтруктураВозвратныхПараметров=Неопределено) Экспорт
	 
	 // Признак, означающий, что на каком-то этапе произошла ошибка
	 Перем Ошибка;
	 Ошибка 		= Ложь;
 
	 ТелоЗапроса	= НовыеПараметрыСозданияЗадачи(); // Формируем "пустое" тело запроса
	 
	 // 0. Настройки пользователя Битрикс24 по умолчанию - Робот для создания и менеджмента Задач Битрикс
	 Если ПараметрыАвторизации	= Неопределено Тогда
		 ПараметрыАвторизации  = ПараметрыАвторизацииРоботаБитрикс24();
	 КонецЕсли;
	  
	 // 1. Запросом достаем данные документа, представляем Описание как совокупность Строки и Массива присоединенных Файлов
	 ДанныеДокумента						= ПолучитьДанныеДляСозданияЗадачиБитрикс24(ИсточникСсылка); 
	 МассивОписанийПрисоединяемыхФайлов		= Новый Массив;
	 ЗаполнитьПараметрыЗадачи(ТелоЗапроса, ДанныеДокумента, МассивОписанийПрисоединяемыхФайлов); 
	 
	 // 2. Грузим файлы в хранилище Битрикс, получаем идентификаторы файлов
	 ЗагрузитьПрисоединенныеФайлыЗадачиБитрикс24(МассивОписанийПрисоединяемыхФайлов, ПараметрыАвторизации, ТелоЗапроса, Ошибка);  
	 // 3. Готовим текст Описания Задачи Битрикс с учетом загруженных файлов
	 ЗаполнитьИдентификаторыФайловВОписанииЗадачи(МассивОписанийПрисоединяемыхФайлов,ТелоЗапроса);
	 
	 // 4. Вызываем универсальный метод "Отправить запрос". В этот раз от него требуется создать нам 
     // Задачу Битрикс.
	 МетодAPI	= "tasks.task.add";
	 МетодHTTP	= "POST"; 
	 
	 ОтветHTTPСервиса = ОтправитьЗапрос(МетодHTTP,МетодAPI,ПараметрыАвторизации,,ТелоЗапроса);
	 
	 // 5. Если запрос вернул код ошибки HTTP, отобразить ошибку сервиса Пользователю. 
	 Если ОтветHTTPСервиса.Получить("Ошибка") Тогда
		 Ошибка=Истина;
		 ОтобразитьОшибкуHTTPСервиса(ОтветHTTPСервиса);
	 // 6. Если Задача создана успешно, готовим данные для отображения результата Пользователю. Например, 
     // разместим в документе 1С ссылку на задачу Битрикс.	
	 Иначе
		 // 6.1 Собрать ссылку на созданную задачу
		 СсылкаНаЗадачу="";
		 Попытка
			 СсылкаНаЗадачу=СтрШаблон("https://%1/company/personal/user/%2/tasks/task/view/%3/",
			 	ПараметрыАвторизации.АдресПортала,
			 	ПараметрыАвторизации.Идентификатор,
			 ОтветHTTPСервиса.Получить("Ответ").Получить("result").Получить("task").Получить("id"));
		 Исключение 
			 Ошибка=Истина;	
		 КонецПопытки;
		
		 // 6.2 Обработчик "При создании задачи Битрикс24" вносит сведения о результатах в 
         //     документ 1С, и устанавливает соотв. Статус
		 ДополнительныеПараметры = Новый Структура;
		 ДополнительныеПараметры.Вставить("СсылкаНаЗадачуБитрикс24",СсылкаНаЗадачу);
		 ДополнительныеПараметры.Вставить("УстановитьСостояниеЗадачи",ПараметрыАвторизации.УстановитьСостояниеЗадачи);
		 
		 ДанныеОтветаHTTP = ОтветHTTPСервиса.Получить("Ответ");
		 ПриСозданииЗадачиБитрикс24(ИсточникСсылка, ДанныеОтветаHTTP, ДополнительныеПараметры);
	 КонецЕсли;  
	 
	 // 7. Вернуть ответ о статусе создания задачи
	 СтруктураВозвратныхПараметров.Вставить("Ошибка", Ошибка);
 КонецПроцедуры 

Для правильной загрузки картинок нам потребуется выполнить три подзадачи:

1. Извлечение двоичных данных картинок из Описания Задачи ИБ и замена их в тексте временными "якорями". 

2. Предварительная загрузка извлеченных в п1. файлов в Битрикс24, получение их идентификаторов (Номеров).

3. Формирование текста Описания задачи Битрикс24:

- перенос текста, преобразование форматирования из тегов HTML - в  BBCodes, которые используются в Б24;

- замена наших "якорей" на специальный BBCode для отображения картинок внутри текста. Так в Описании задачи Битрикс появятся привычные глазу "inline"-картинки.

4. Получение и обработка ответа API Битрикс. Создаем и отображаем на форме кликабельную гиперссылку на задачу Битрикс. Устанавливаем требуемое Состояние документа 1С.

 

Раздел 5. Добавление комментариев в задачу Битрикс24 из формы документа 1С.

После успешного создания задачи Битрикс, на форме документа станет видимой вкладка "Общение": страница, в которой находятся табличная часть и поле ввода комментария с кнопкой "Добавить". 

 

Комментарии к существующим задачам добавляются методом "task.commentitem.add". Пример применения ниже:

// 0. Валидация переданных параметров
	 // Настройки пользователя Битрикс24 по умолчанию - Робот для создания и менеджмента Задач Битрикс
	 Если ПараметрыАвторизации	= Неопределено Тогда
		 ПараметрыАвторизации  = ПараметрыАвторизацииРоботаБитрикс24();
	 КонецЕсли;
	 
	 Если НЕ ТипЗнч(СтруктураКомментария)= Тип("Структура") Тогда
		 ВызватьИсключение("Не передана Структура данных для комментария",КатегорияОшибки.ПрочаяОшибка); 
	 КонецЕсли;
	 
	 
	 
	 // 4. Вызываем универсальный метод "Отправить запрос". Пусть добавит нам комментарий.
	 МетодAPI	= "task.commentitem.add";
	 МетодHTTP	= "POST"; 
	 
	 // 5. Отправить запрос
	 ОтветHTTPСервиса = ОтправитьЗапрос(МетодHTTP,МетодAPI,ПараметрыАвторизации,,ТелоЗапроса);
	 
	 // 5. Если запрос вернул код ошибки HTTP, отобразить ошибку сервиса Пользователю. 
	 
	 ИдентификаторКомментария=Неопределено;
	 ДатаВремяКомментария = Дата(1,1,1);
	 Если ОтветHTTPСервиса.Получить("Ошибка") Тогда
		 Ошибка=Истина;
		 ОтобразитьОшибкуHTTPСервиса(ОтветHTTPСервиса);
		  
	 Иначе 
		 
		 // 6. Если запрос выполнен успешно, готовим данные для отображения результата Пользователю.
		 СодержимоеОтвета = ОтветHTTPСервиса.Получить("Ответ");
		 ИдентификаторКомментария	= СодержимоеОтвета.Получить("result");
		 ДатаВремяКомментария		= СодержимоеОтвета.Получить("time").Получить("date_finish");  
		 
	 КонецЕсли;  
	 
	 // 7. Вернуть ответ о статусе созданного комментария
	 СтруктураРезультатМетода.Вставить("Ошибка", Ошибка);
	 СтруктураРезультатМетода.Вставить("ИдентификаторКомментария",	ИдентификаторКомментария);
	 СтруктураРезультатМетода.Вставить("ДатаВремя",					ДатаВремяКомментария);
	 
	 Возврат СтруктураРезультатМетода;

После успешного добавления комментария, он будет отражен и в табличной части "Общение" на стороне документа 1С, при этом будет учтен и его номер, для последующих обращений и, быть может, удаления/редактирования. 

 

6. А что мы видим на портале:

- задача помещена в определенную нами группу (коллабу)

- заполнились пользовательские поля, которые мы указали в настройках ранее;

- в наблюдатели добавились: "Робот", который создал саму задачу, и Пользователь, который создал оригинальное Обращение в 1С. 

- Файлы, переданные в Обращении, приложены к задаче Битрикс.

- комментарии от лица пользователей - добавлены в задачу.

 

7. Заключение

В этом демонстрационном примере мы не только приятно провели 20 минут свободного времени, но и собрали несколько наиболее употребимых методов API "Битрикс24" в одной конфигурации.

Буду признателен за обратную связь в комментариях!

 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.461
  • Управление торговлей, редакция 11, релизы 11.5.22.80

Вступайте в нашу телеграмм-группу Инфостарт

Битрикс24 расширение БСП интеграция файлы пользовательские поля REST API группы картинки изображения управление торговлей

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24167    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

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

24000 руб.

02.02.2021    22856    68    52    

43

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

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

17568 руб.

20.12.2024    6108    26    4    

28

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

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

60000 руб.

07.05.2019    42836    76    45    

31

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять информацию о товарах в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически формирует файлы yml для дальнейшей загрузки в группы в ВК. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    2599    7    6    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yellow_Cube 31 20.03.26 14:17 Сейчас в теме
Интересно было бы увидеть реализацию исходящего вебхука из битрикс24 -> создание документа в 1С.
Можно ли реализовать внутри локальной сети без публикации базы 1С на весь интернет?
Или вообще без публикации базы 1С, например плагин создает xml и 1С уже регламентным его подхватывает.
advice_fox; +1 Ответить
2. advice_fox 5 24.03.26 10:34 Сейчас в теме
(1) А хорошая идея.

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

Ориентировочно:
1. будем возвращать в переписку 1С те комментарии, которые добавлены в задаче Битрикс.
2. менять статус задачи ("выполняется/в работе/завершена")
3. опционально - двигать крайний срок одновременно в Битрикс и в 1С.
Для отправки сообщения требуется регистрация/авторизация