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

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

Основные процедуры обработки взяты из //infostart.ru/public/574117/ . Благодарности автору, все просто и понятно, в отличие от типового модуля : http://1c.1c-bitrix.ru/intranet .

Что я добавил? Дописал функцию ПолучитьПараметрыИзGetСтроки, которую автор забыл или не захотел привести в статье. Оформил все в виде обработки. Реализовал 3 метода : получение списка задач, добавление задачи и получение свойств задачи. Все методы имеют свои нюансы.Для получения списка задач нужно передавать параметры-массивы. Для создания задачи нужно передавать параметры типа Дата, причем именно в том формате, который хочет Битрикс24, иначе ошибки не будет, но и значения не заполнятся.  Для получения свойств задачи используется метод только с одним параметром, а в этом случае, как оказалось, формат строки с параметрами отличается от случая с многими параметрами (???).

Тестировал на 8.3.8, обработка на обычных формах, конфигурация не имеет значения — это просто тестовый пример.

Корректности ради, на эту же тему есть еще публикация //infostart.ru/public/708453/. В ней те же цели достигаются как-то с помощью вебхуков.
02.05.2024 :

Добавил пример вызова метода для получения списка бизнес-процессов.
Замечания : 1. Модуль БП должен быть установлен 2. Пользователь с указанным логином должен иметь парва администратора в Б24

12 Comments

  1. kobal

    День добрый.

    скачал вашу разработку, все работает. спасибо.

    решил запросить задачи по фильтру функцией «task.item.list»

    у вас применяется task.item.getdata с параметром

    СтрПараметров = «0=»+ ИдЗадачи;

    Рез = ОтправитьRESTЗапрос(«task.item.getdata», СтрПараметров, «»);

    В функции task.item.list параметром является массив

    Массив вида {«фильтруемое_поле»: «значение фильтра» [, …]}. Фильтруемое поле может принимать значения:

    ID — идентификатор задачи;

    PARENT_ID — идентификатор родительской задачи;

    Никак не могу понять как передавать в параметр массив.

    Кто может помочь?

    Reply
  2. bulpi

    (1)

    Выложил пример с методом list.

    Совет : https://www.bitrix24.ru/apps/?app=bitrix.restapi

    Оттуда можно для своего сайта установить документацию по REST API , причем с консолью (!) , на ходу выполняющей запросы. Можно скопировать пример из описания, запустить, в консоли появится результат с закладками, среди них самая ценная POST. На ней можно посмотреть текст, который пошел в теле запроса. Вот оттуда я и черпаю мудрость 🙂

    Reply
  3. kobal

    СПАСИБО!

    я как раз начал оттуда.

    проблема была в том, что там нет примеров на 1С.

    Reply
  4. bulpi

    (5)

    Если в моей обработке написать

    СтрПараметров = «0[]=&1[]=&2[NAV_PARAMS][nPageSize]=2&2[NAV_PARAMS][iNumPage]=2»;

    вместо того, что там сейчас написано, то метод вернет 2 задачи со 2 страницы.

    Откуда я это узнал ? см. мой ответ № 2

    Reply
  5. bulpi

    (8)

    Рабочий пример кода написан в ответе № 6.

    Параметра START в массиве NAV_PARAMS нет, неудивительно, что это не работает.

    (9)

    Хотите найти свой путь ? Успехов.

    Reply
  6. VachKirp

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

    Типа factumXX.bitrix24.ru/rest/XXX/XXXXXXXXXXXXXXXX/crm.company.list?order[DATE_MODIFY]=DESC&filter[>DATE_MODIFY]=2018-05-01T18:45:26+03:00&PARAMS[NAV_PARAMS][nPageSize]=7&PARAMS[NAV_PARAMS][iNumPage]=5&PARAMS[NAV_PARAMS][START]=3&select[0]=ID&select[1]=DATE_MODIFY

    Reply
  7. user1037018

    Добрый День.

    Я представитель одной торгово-производящей компании, совсем не программист. Занимаюсь маркетинговым развитием.

    По этому сразу прошу извинения за косноязычные вопросы. Но очень нужна помощь. Совет специалистов.

    Мы интегрируем Сайт (Битрикс) с 1C.

    У нас есть штатный программист 1С и вне штата программист Битрикс.

    Сейчас сложилась такая ситуация, что рабочий контакт встал в тупик.

    1. Программист 1С хочет опробовать интеграцию на тестовой площадке, объясняя рисками потери Базы Данных и т.д.

     Программист Битрикс говорит тестировать на тестовой площадке нельзя, предлагает делать на «рабочем сайте» (оригинале) объясняя тем что работа большинства компонентов зависит от доменного имени.

    

     В итоге ничего не делается.

    Как правильно сделать? Подскажите!

    Reply
  8. cleaner_it

    (12) Штатный программист прав, но потеря базы тут ни при чём

    Reply
  9. user1073447

    Добрый день!

    нужно сделать счет/оферту и обычный счет в битрикс24 с последующим обменом с 1с и настроить интеграцию контрагентов и товара 1с/битрикс24. Сколько примерно это будет стоить и сколько дней займет?

    есть ли гарантии качества?

    Reply
  10. bulpi

    (14)

    Это вопрос не по адресу. Меня Вы в любом случае нанять не сможете, т.к. я от Вас далеко 🙂

    Для начала советую обратить внимание вот сюда : https://1c.1c-bitrix.ru/intranet/download.php

    Там не все, что Вам надо, но можно с этого начать. По крайней мере, это быстро и почти бесплатно.

    Reply
  11. user1073447

    (15) спасибо!

    Reply
  12. Flynxx

    Не подскажешь я взял сделал приложения получил ключи. пробую подцепиться по

    https://xxxxxxxxxxx.bitrix24.ru/oauth/authorize/?client_id=local.xxxxxxxxxxxxxxxxx он меня перебрасывает на https://auth2.bitrix24.net/oauth/authorize/?

    user_lang=ru ….. хотя в свойствах соединения и ssl сделан и логин пароль админа передаю. а если по первой ссылке просто в браузере жамкнуть нормальный редирект. и там можено уже увидеть поле code с которым получить токен. а если из под 1с то вторая ссылка. а если по ней перейти то я опять на портал попадаю.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *