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

Обмен - Обмен с другими системами

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

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

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

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

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

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

Наименование Файл Версия Размер
РаботаСБитрикс24
.epf 9,35Kb
13.04.18
16
.epf 9,35Kb 16 Скачать

См. также

Комментарии
1. kobal (kobal) 13.04.18 12:07 Сейчас в теме
День добрый.
скачал вашу разработку, все работает. спасибо.
решил запросить задачи по фильтру функцией "task.item.list"
у вас применяется task.item.getdata с параметром

СтрПараметров = "0="+ ИдЗадачи;
Рез = ОтправитьRESTЗапрос("task.item.getdata", СтрПараметров, "");

В функции task.item.list параметром является массив
Массив вида {"фильтруемое_поле": "значение фильтра" [, ...]}. Фильтруемое поле может принимать значения:
ID - идентификатор задачи;
PARENT_ID - идентификатор родительской задачи;
Никак не могу понять как передавать в параметр массив.
Кто может помочь?
2. bulpi bulpi (bulpi) 127 13.04.18 18:58 Сейчас в теме
(1)
Выложил пример с методом list.
Совет : https://www.bitrix24.ru/apps/?app=bitrix.restapi
Оттуда можно для своего сайта установить документацию по REST API , причем с консолью (!) , на ходу выполняющей запросы. Можно скопировать пример из описания, запустить, в консоли появится результат с закладками, среди них самая ценная POST. На ней можно посмотреть текст, который пошел в теле запроса. Вот оттуда я и черпаю мудрость :)
3. kobal (kobal) 18.04.18 11:54 Сейчас в теме
СПАСИБО!
я как раз начал оттуда.
проблема была в том, что там нет примеров на 1С.
4. Евгений Янеев (yaneev) 39 15.05.18 13:47 Сейчас в теме
если битрикс возвращает список из более 50 задач - работает корректно?
5. Евгений Янеев (yaneev) 39 15.05.18 14:43 Сейчас в теме
нет ли у вас рабочего примера на 1С для перебора списочных значений с более 50 записями?

пытаюсь сам написать с параметрами START, [NAV_PARAM][iNumPage], NEXT- ничего не выходит
выдает первые 50 записей, а дальше не желает.

может кусок рабочего кода для 1С?
6. bulpi bulpi (bulpi) 127 15.05.18 18:15 Сейчас в теме
(5)
Если в моей обработке написать
СтрПараметров = "0[]=&1[]=&2[NAV_PARAMS][nPageSize]=2&2[NAV_PARAMS][iNumPage]=2";

вместо того, что там сейчас написано, то метод вернет 2 задачи со 2 страницы.
Откуда я это узнал ? см. мой ответ № 2
7. Евгений Янеев (yaneev) 39 16.05.18 13:20 Сейчас в теме
(6) я тоже пытаюсь черпать мудрость из документации, но мне при любых наборах параметров выдает 50 первых строк.
пробовал с параметром START - то же самое.

Потому и спрашиваю рабочий пример кода, а нерабочих у меня самого - завались)
8. Евгений Янеев (yaneev) 39 16.05.18 13:23 Сейчас в теме
формирую запрос из 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

а на выходе - 50 первых строк выборки, вместо 7 строк с пятой страницы, начиная с 3 строки
10. bulpi bulpi (bulpi) 127 16.05.18 17:21 Сейчас в теме
(8)
Рабочий пример кода написан в ответе № 6.
Параметра START в массиве NAV_PARAMS нет, неудивительно, что это не работает.

(9)
Хотите найти свой путь ? Успехов.
9. Евгений Янеев (yaneev) 39 16.05.18 13:58 Сейчас в теме
нащупал, надо использовать: ?start=...
Оставьте свое сообщение