Пример работы с Trello из 1С

15.02.20

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

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

Скачать исходный код

Наименование Файл Версия Размер
Пример работы с Trello:
.cf 213,79Kb
64
.cf 213,79Kb 64 Скачать

Какие возможности:

  1. Загрузка команды, досок, списков и карт. (надо учитывать, что при бесплатном использовании Trello в команде доступно не более 10 досок).
  2. Создание, обновление и выгрузка команды, досок, списков и карт в Trello.
  3. Переход из 1С на доску или карту в Trello.
  4. Переход из 1С к просмотру прикрепленных документов в Trello, прикрепление документов в 1С и выгрузка в Trello.
  5. Перетаскивание в 1С карт и списков с обновлением в Trello.

Для обмена с Trello нужно зарегистрироваться в сервисе и получить ключ и токен (зайти сюда).

Проверено на версии 8.3.16.1063.

конфигурация Trello

См. также

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17855    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25857    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88882    162    216    

318

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

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

12000 руб.

02.02.2021    16467    42    49    

23

Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предприятием 2, УТ 10.3, редакция веб-сервиса MERLION API 3.0 от 18.08.2021)

Оптовая торговля Розничная торговля WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Расширении конфигурации "Управление торговлей, редакция 11" для работы с веб-сервисом Мерлион с помощью Merlion API. Расширение и набор подключаемых дополнительных обработок позволяет без изменения конфигурации получить возможность работы с API крупнейшего российского дистрибьютора http://merlion.com. Логика работы максимально приближена к работе веб-сервиса b2b. Вы сможете создать и исправить заказ, зарезервировать товар прямо из 1С, посмотреть актуальные остатки и цены, импортировать штрихкода EAN13 товаров, загружать заказ c автоматическим созданием номенклатуры в 1С и корректности создания. Можно выбирать характеристики по товарным группам и загружать товар с выбранными характеристиками, загружать изображения товара. Не требуется установки дополнительного ПО для работы с веб-сервисом. Кроссплатформенное решение для ОС Windows и Linux. Весь код модулей открыт и доступен для просмотра и внесения изменений.

8280 руб.

02.05.2017    40966    43    64    

50
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. PLAstic 295 17.02.20 09:10 Сейчас в теме
Молодец. Но мне начальство сказало в своё время, что недопустимо хранить конфиденциальные сведения компании о разработке на сторонних серверах. И мы выбрали standalone-сервер YouTrack. Интеграция та ещё, но вроде работает. Ну и учёт времени есть ещё, и спринты.
+
6. пользователь 18.02.20 09:22
Сообщение было скрыто модератором.
...
7. пользователь 18.02.20 09:32
Сообщение было скрыто модератором.
...
9. пользователь 18.02.20 09:44
Сообщение было скрыто модератором.
...
10. пользователь 18.02.20 10:35
Сообщение было скрыто модератором.
...
11. пользователь 18.02.20 10:49
Сообщение было скрыто модератором.
...
12. пользователь 18.02.20 11:06
Сообщение было скрыто модератором.
...
13. пользователь 18.02.20 11:17
Сообщение было скрыто модератором.
...
14. пользователь 18.02.20 12:29
Сообщение было скрыто модератором.
...
15. пользователь 18.02.20 12:50
Сообщение было скрыто модератором.
...
18. пользователь 18.02.20 15:50
Сообщение было скрыто модератором.
...
19. пользователь 18.02.20 15:58
Сообщение было скрыто модератором.
...
20. пользователь 18.02.20 18:11
Сообщение было скрыто модератором.
...
21. пользователь 18.02.20 19:43
Сообщение было скрыто модератором.
...
22. пользователь 18.02.20 21:11
Сообщение было скрыто модератором.
...
23. пользователь 19.02.20 09:01
Сообщение было скрыто модератором.
...
24. пользователь 19.02.20 09:35
Сообщение было скрыто модератором.
...
25. пользователь 19.02.20 09:47
Сообщение было скрыто модератором.
...
2. wowan ht 5 17.02.20 13:54 Сейчас в теме
Здравствуйте.
Вы используете в обмене post-запросы multipart/form-data?
+
3. пользователь 17.02.20 14:32
Сообщение было скрыто модератором.
...
4. terrorion 92 17.02.20 14:34 Сейчас в теме
(2) для отправки файла да, там код я заимствовал, ресурс не помню
+
5. wowan ht 5 18.02.20 08:11 Сейчас в теме
(4) можете поделиться конкретно этим куском кода? Просто пытаюсь написать аналогичный, но почему-то на сервис приходит только первая часть запроса, никак не могу победить передачу файлов.
+
8. terrorion 92 18.02.20 09:40 Сейчас в теме
&НаСервере
Функция ПодготовитьИОтправитьВложение(ПеремещаемыеФайлы)
	
	ПараметрыВозврата = Новый Структура("Ошибка,Результат");
	ПараметрыВозврата.Ошибка = Ложь;
	ПараметрыВозврата.Результат = "";
	
	Для Каждого ПолученноеИмяФайла Из ПеремещаемыеФайлы Цикл

		ИмяФайлаДляЗагрузки = ПолучитьИмяВременногоФайла(ПолученноеИмяФайла.Расширение);
		ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПолученноеИмяФайла.Хранение);
		ДвоичныеДанные.Записать(ИмяФайлаДляЗагрузки);
		ИмяФайлаОтправки = КаталогВременныхФайлов() + "post.txt";    

	    Boundary = Строка(Новый УникальныйИдентификатор());

	    //Определяем массив для процедуры ОбъединитьФайлы 

	    МассивФайловДляОбъединения = Новый Массив; 

	    //Формируем начальный фрагмент файла POST-запроса 

	    ИмяФайлаОтправкиНачало = ПолучитьИмяВременногоФайла("txt"); 
	    ФайлОтправкиНачало = Новый ЗаписьТекста(ИмяФайлаОтправкиНачало, КодировкаТекста.ANSI, Символы.ПС, Ложь); 
	    //Определяем раздел двоичных данных 

	    ФайлОтправкиНачало.ЗаписатьСтроку("--" + Boundary); 
	    //Указываем имя файла для передачи 

	    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename=""" + ПолученноеИмяФайла.Имя + """"); 
	    //Указываем тип передаваемых данных. 

	    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Type: application/x-octet-stream"); 
	    ФайлОтправкиНачало.ЗаписатьСтроку(""); 
	    ФайлОтправкиНачало.Закрыть(); 

	    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиНачало); 

	    //Копируем файл для загрузки во временный и добавляем в массив файлов для объединения 

	    ИмяФайлаДляЗагрузкиВременный = ПолучитьИмяВременногоФайла("tmp"); 
	    КопироватьФайл(ИмяФайлаДляЗагрузки, ИмяФайлаДляЗагрузкиВременный); 
	    МассивФайловДляОбъединения.Добавить(ИмяФайлаДляЗагрузкиВременный); 

	    //Формируем конечный фрагмент файла POST-запроса 

	    ИмяФайлаОтправкиКонец = ПолучитьИмяВременногоФайла("txt"); 
	    ФайлОтправкиКонец = Новый ЗаписьТекста(ИмяФайлаОтправкиКонец, КодировкаТекста.ANSI, Символы.ПС, Ложь); 

	    //Завершение раздела двоичных данных 

	    ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary); 

	    ФайлОтправкиКонец.ЗаписатьСтроку("--" + Boundary + "--"); 
	    ФайлОтправкиКонец.Закрыть(); 

	    МассивФайловДляОбъединения.Добавить(ИмяФайлаОтправкиКонец); 

	    //Теперь сформированные фрагменты сообщения для сервера объединяем в один файл POST-запроса 

	    ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяФайлаОтправки);     
	    Заголовки = Новый Соответствие();
	    Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);
		
		ПараметрыАвторизации = Trello.ПолучитьПараметрыАвторизации();
		Сервер = "api.trello.com";
		АдресРесурса = "/1/cards/"+Объект.id+"/attachments?key="+ПараметрыАвторизации.Ключ+"&token="+ПараметрыАвторизации.Токен;
		HTTPСоединение = Новый HTTPСоединение(Сервер,443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	    HTTPЗапрос = Новый HTTPЗапрос();
		HTTPЗапрос.Заголовки = Заголовки;
		HTTPЗапрос.АдресРесурса = АдресРесурса;
	    HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаОтправки);    

		Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
		Если Ответ.КодСостояния<>200 Тогда
                        ...
			Прервать;
		Иначе
                        ...
		КонецЕсли;

	КонецЦикла;

КонецФункции
Показать

(5)
+
16. wowan ht 5 18.02.20 13:13 Сейчас в теме
(8) а почему "Content-Type: application/x-octet-stream"? Это требование http-сервиса?
+
17. terrorion 92 18.02.20 13:19 Сейчас в теме
(16) Код был заимствован как есть. Проверил, без данного заголовка отправка файла также успешна.
+
27. Yashazz 4722 18.08.20 18:08 Сейчас в теме
(8) Ой. Громоздко и старомодно. То же самое действие можно сделать без записи в файлы и без их объединения.

	// готовим файл вложения к отправке как multipart
	рРазделитель=СтрЗаменить(Строка(Новый УникальныйИдентификатор),"-","_");
	
	рПоток=Новый ПотокВПамяти;
	рЗапись=Новый ЗаписьДанных(рПоток,КодировкаТекста.ANSI);
	
	// начало
    рЗапись.ЗаписатьСтроку("--"+рРазделитель); 
    рЗапись.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename="""+_ИмяВашегоФайла_+""""); // файл к передаче
    //рЗапись.ЗаписатьСтроку("Content-Type: application/x-octet-stream"); // тип передаваемых данных, необязательный
    рЗапись.ЗаписатьСтроку(""); // обязательно пишем пустую строку
	//
	// собственно данные файла
	рЗапись.ЗаписатьБуферДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(_ДвоичныеДанныеВашегоФайла_));
	//
	// окончание
	рЗапись.ЗаписатьСтроку(""); // обязательно пишем пустую строку
    рЗапись.ЗаписатьСтроку("--"+рРазделитель+"--");
	
	рЗапись.Закрыть();	
	рРазмер=XMLСтрока(рПоток.Размер());
	ДвоичныеДанныеДляТелаЗапроса=рПоток.ЗакрытьИПолучитьДвоичныеДанные();
Показать


Разумеется, если там не колоссальные объёмы, т.к. ограничение в 1ГБ на операцию с двоичкой никто не отменял, а в веб-клиенте особенно)
+
29. terrorion 92 18.08.20 19:08 Сейчас в теме
(27) Принято. Спасибо!
+
30. Yashazz 4722 18.08.20 19:32 Сейчас в теме
(29) А вам спасибо за сам принцип, как правильно скармливать Трелло файл для вложения. А то было уже обыскался.

Ну и рРазмер потом надо сунуть в заголовке запроса в content-length, естессно
+
28. Yashazz 4722 18.08.20 18:09 Сейчас в теме
(8) И кстати у вас там ошибка. Там одна завершающая строка с разделителем - лишняя, надо не boundary писать, а просто пустую строку. Так согласно формату multiparts. А если как у вас, да гнать туда текст, то в итоге к тексту снизу припишется эта самая строчка-boundary.
+
26. untru 13 23.02.20 01:53 Сейчас в теме
31. user721364 26.01.21 09:37 Сейчас в теме
А если несколько пользователей будут отправлять, то может не сработать

  КаталогВременныхФайлов() + "post.txt"; 
+
32. user721364 26.01.21 11:35 Сейчас в теме
Чтобы файл с кириллицей загрузился, нужно написать так

    ФайлОтправкиНачало.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename*=UTF-8''" + КодироватьСтроку( НазваниеФайлаДляТрелло, СпособКодированияСтроки.КодировкаURL ) ) ;
+
33. dimisa 135 23.10.21 14:17 Сейчас в теме
Скачал Вашу поделку . Очень пригодилась. Отличная работа. Очень хорошо что все что касается трелло выделено в отдельную подсистему.
Интегрировать Ваш функционал одно удовольствие.

Держите в качестве благодарности код для раскрашивания карточкек ;) (В Вашей разработке такого нет)


//--- Раскрасить карточку Trello
	//--- иточники описания API
    //   https://community.developer.atlassian.com/t/trello-rest-api-card-colors-covers/38865/8
	//   https://community.developer.atlassian.com/t/trello-rest-api-card-colors-covers/38865/9
	
	Заголовки = Новый Соответствие();
	Заголовки.Вставить("Content-Type", "application/json");
	ПараметрыАвторизации = Trello.ПолучитьПараметрыАвторизации();
	Сервер = "api.trello.com";
	АдресРесурса = "/1/cards/"+НовыйЭлементTrello_карты.id+"?key="+ПараметрыАвторизации.Ключ+"&token="+ПараметрыАвторизации.Токен;
	HTTPСоединение = Новый HTTPСоединение(Сервер,443,,,,, Новый ЗащищенноеСоединениеOpenSSL);
	HTTPЗапрос = Новый HTTPЗапрос();
	HTTPЗапрос.Заголовки = Заголовки;
	HTTPЗапрос.АдресРесурса = АдресРесурса;
	
	//--- структура JSON Для раскрашивания карточки Trello
	//  {
	//	"cover":{
	//	            "color":"purple",  //--- Собственно тут цвет
	//	            "idAttachment":null,
	//	            "idUploadedBackground":null,
	//	            "size":"normal",
	//	            "brightness":"light"
	//	            }
	//	}
	
	//--- Доступные цвета из описания API
	// pink, yellow, lime, blue, black, orange, red, purple, sky, green
		
	ИмяФайлаТела = ПолучитьИмяВременногоФайла("tmp");
	ЗаписьJSON = Новый ЗаписьJSON;
	ЗаписьJSON.ПроверятьСтруктуру 	= Ложь;
	ПараметрыЗаписиJSON 			= Новый ПараметрыЗаписиJSON( , Символы.Таб);
	ЗаписьJSON.ОткрытьФайл(ИмяФайлаТела, , , ПараметрыЗаписиJSON);
	ЗаписьJSON.ЗаписатьНачалоОбъекта();
	ЗаписьJSON.ЗаписатьИмяСвойства("cover");
		ЗаписьJSON.ЗаписатьНачалоОбъекта();
		ЗаписьJSON.ЗаписатьИмяСвойства("color");
		ЗаписьJSON.ЗаписатьЗначение("purple");    //--- Собственно тут цвет
		ЗаписьJSON.ЗаписатьИмяСвойства("idAttachment");
		ЗаписьJSON.ЗаписатьЗначение(Неопределено);	
		ЗаписьJSON.ЗаписатьИмяСвойства("idUploadedBackground");
		ЗаписьJSON.ЗаписатьЗначение(Неопределено);	
		ЗаписьJSON.ЗаписатьИмяСвойства("size");
		ЗаписьJSON.ЗаписатьЗначение("normal");
		ЗаписьJSON.ЗаписатьИмяСвойства("brightness");
		ЗаписьJSON.ЗаписатьЗначение("light");
		ЗаписьJSON.ЗаписатьКонецОбъекта();	
	ЗаписьJSON.ЗаписатьКонецОбъекта();
	ЗаписьJSON.Закрыть();
	HTTPЗапрос.УстановитьИмяФайлаТела(ИмяФайлаТела); 
	Ответ = HTTPСоединение.ВызватьHTTPМетод("PUT",HTTPЗапрос);	
	Если Ответ.КодСостояния<>200 Тогда		
		Сообщить(ПараметрыВозврата.Результат);		
	КонецЕсли;


Показать


Заранее извиняюсь что JSON через временный файл передал в HTTPЗапрос, можно было через строку передавать в HTTPЗапрос но я лентяй :)
+
34. terrorion 92 23.10.21 17:09 Сейчас в теме
(33) Спасибо за отзыв! Благодарю за код.
dimisa; +1
35. shalik 02.11.21 11:59 Сейчас в теме
(34)
Подскажите пожалуйста, сам я начинающий разработчик, с апи не работал, но задачу поставили) Нужно в ваш модуль добавить возможность заполнения пользовательских полей. Вроде метод нашел, но чтобы их заполнить нужно получить id этих полей. Вот и собсна вопрос, как его можно получить?
+
36. terrorion 92 02.11.21 12:02 Сейчас в теме
(35) Данную обработку делал давно и после ею не занимался. Посмотреть api нужно в трелло, но сейчас недосуг.
+
Внимание! Тема сдана в архив