Моя интеграция 1С с Sharepoint 365

24.05.13

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

В статье речь пойдет о том, как я загружал файлы на портал Sharepoint и какие подводные камни встретил там.

Файлы

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

Наименование Скачано Купить файл
ВыгрузкаФайлаНаSharepoint
.epf 7,98Kb
121 1 850 руб. Купить

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

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

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

Загрузка файлов, как и в целом интеграция с Sharepoint оказалась не такой уж и сложной. Всего лишь десяток подходов к этому вопросу и профит.

Вводная часть

Sharepoint умеет обрабатывать soap запросы и выдавать результат в xml естественно. Более подробно о веб-сервисах Sharepoint можно почитать тут: http://msdn.microsoft.com/en-us/library/dd878586%28v=office.12%29.aspx

С помощью soap запросов можно сделать очень многое (добавлять, редактировать, удалять списки и элементы списков, загружать файлы и многое другое).

Что такое soap? Это протокол для обмена чего-либо с чем-либо (в моем случае 1С с Sharepoint) в формате xml.

Моя реализация

XMLHTTP=Новый COMОбъект("Msxml2.XMLHTTP");

Почему именно "Msxml2.XMLHTTP", а не "WinHttp.WinHttpRequest.5.1" и не Новый WSОпределения вы сможете прочитать в подводных камнях.

Формирую строку в xml виде, использую шпаргалку по веб-сервису "copy.asmx". Шпаргалку ищем тут: http://sharepoint.microsoft.com/_vti_bin/copy.asmx.

Далее post запрос к веб-сервису Sharepoint со строкой в xml виде. Полный список веб-сервисов тут: http://msdn.microsoft.com/en-us/library/bb862916%28v=office.12%29.aspx.

Полученный ответ с помощью XMLHTTP.ResponseText() записываю в файл.

Для разбора xml использую Новый COMОбъект("MSXML2.DOMDocument").

Профит

Если кому-то нужно больше исходного кода - прикрепляю готовую обработку для загрузки файлов

Подводные камни

Авторизация. Чтобы это заработало нужно сначала авторизироваться на login.microsoftonline.com (Это же офис 365) и поставить галочку "Запомнить меня"

Авторизация на login.microsoftonline.com с помощью Com объектов у меня так и не получилась. Если кто умеет - отзовитесь пож-та.

Использование WinHttp.WinHttpRequest.5.1 не подходит, т.к. не умеет работать с куками. А куки нам нужны, чтобы знать, что авторизация пройдена.

Новый WSОпределения не умеет работать с сертификатами ssl по слухам, но я свои ощущения могу описать лишь так: Выдает ошибку при обращении к функции. Ошибка похожа на что-то такое: cannot resolve host name.

Авторизация с помощью веб-сервиса "Authentication.asmx" - отключена в Sharepoint 365. А я так на нее надеялся.

Заключение

Есть еще надежда, что прикрутив доменную аутентификацию к Sharepoint 365 не будет проблем с авторизацией, но наши админы пока этого не сделали и сказать, что это выгорит я не могу.

Поставленную задачу выполнил, чего и вам желаю.

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

См. также

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

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

36000 руб.

03.08.2020    22824    33    24    

26

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    11367    8    6    

13

SALE! 15%

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

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

17280 14688 руб.

20.12.2024    4943    22    4    

24

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

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

12000 руб.

29.08.2025    1284    2    0    

2

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

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

12000 руб.

02.02.2021    21451    61    52    

39

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С:Предприятие 8 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

5196 руб.

28.04.2016    99448    114    218    

362
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. opx 698 24.05.13 10:02 Сейчас в теме
Если у кого будут вопросы - задавайте. Помогу по возможности, т.к. я эту тему неплохо прокачал и получил level up
AngelAlex; +1 Ответить
2. tango 550 24.05.13 10:27 Сейчас в теме
(1) расскажите лучше, почему - шерепойнт? т.е. какие резоны использовать именно это в связи с вашей задачей
4. opx 698 24.05.13 10:55 Сейчас в теме
(2)Sharepoint - корпоративный портал. Решение об его приобретении принимал не я.
Мне нужно было вести документы (скан-копии) по номенклатуре и решили, что эти документы должны быть еще и в Sharapoint. Таким образом документы прикрепляются только в 1С, а отображаются в 1С и Sharepoint
abvgd-ka; tango; +2 Ответить
3. sikuda 680 24.05.13 10:33 Сейчас в теме
(1) А почему реализация через COMОбъект. Было бы интереснее узнать подводные камни реализации через 1С WebService и ЧтениеXML. Не думали об этом?
5. opx 698 24.05.13 10:57 Сейчас в теме
(3)ЧтениеXML - ранее работал... непонравилось... не помню почему. Про 1С WebService я написал в статье, что получал ошибку. В интернете пишут, что нет поддержки ssl. Сам я так и не понял что с ним.
23. user916652 22.04.20 14:28 Сейчас в теме
Можете код подключения к шарпойнту показать. Как к вебсервису подключиться и данные от туда получить?
24. AngelAlex 08.11.21 16:04 Сейчас в теме
(1)Добрый день. Я только пытаюсь с этим разобраться. Можете ли вы поделиться обработкой для самообучения.?
6. Spacer 364 15.06.13 16:07 Сейчас в теме
А что такое "офис 365" и как туда коннектиться?
Это какой-то тестовый сервис майкрософта или это имеет отношение к вашей организации?
7. opx 698 16.06.13 15:00 Сейчас в теме
(6)Это офис 2013 в облаке. Очень удобная штука. Ежемесячная плата около 700 р. с пользователя в месяц, и при этом все сервера на стороне Майкрософт: Exchange, Lync, SharePoint. У пользователя же получаем офис пакет (до 5 устройств на пользователя). Подробно можно в гугле найти. Наберите офис 365
8. Pooh77 10.07.13 12:45 Сейчас в теме
Добрый день, меня интересует вопрос интеграции 1С с SharePoint, но не 365, это возможно с помощью Вашей обработки?
9. opx 698 11.07.13 10:01 Сейчас в теме
(8)Должно взлететь, если 2013. По сути 365 office добавляет сложностей. Вы для авторизации можете использовать soap сервис (365 запрещает это делать)
12. Ivon 676 11.08.14 17:57 Сейчас в теме
(8) Pooh77, Sharepoint при добавлении библиотеки документов создает сетевую шару. В дальнейшем забрасывать файлы в Sharepoint можно тупым копированием файла с локального диска на сетевую папку.
10. Pooh77 14.08.13 13:53 Сейчас в теме
Извините, может глупый вопрос, я не силен в настройке sharepoint, но где мне взять ссылку для авторизации soap сервиса на моем портале или как это настроить в sharepoint
Спасибо
11. ivanov660 4929 28.08.13 00:26 Сейчас в теме
Если стандартные методы не подходят, то можно создать/ написать свой сервис asmx, что позволит реализовать кастомную авторизацию, доступы к спискам и др.
13. nSpirit2 11.08.14 17:13 Сейчас в теме
Вопрос вы пишите что доступ через SOAP а почему использовали COM объект а не стандартный функционал 1с для работы с WS ссылками?
14. pvase 410 11.08.14 18:24 Сейчас в теме
Файл можно открыть по сети, подключив его как ссылку на ресурс Sharepoint (не уверен что для 365 версии такое сработает, для 2010 SP работает). Чтобы получить ссылку на файл необходимо сделать на портале Sharepoint следующие действия в выбранной библиотеке: Закладка "Работа с библиотекой" - "Библиотека" - "Открыть в проводнике". Так получите ссылку на папку, с которой можно читать и при достаточных правах и писать в нее.
15. user_2010 1024 11.11.14 14:16 Сейчас в теме
Есть такой вопрос: сделала веб-сервис в 1С, опубликовала, он работает в SoapUI, еще проверяли из других программ - работает... Но нужно его использовать в программе, которая работает на платформе SharePoint. Так вот у них мой веб-сервис не работает. Как они объясняют: не тот синтаксис веб-сервиса.

Вот такой синтаксис делает 1С:
xs:schema targetNamespace=
xs:element name=

А вот так надо SharePoint:
s:schema elementFormDefault=
s:element name=

Почему 1С делает "xs", а не "s"?

Т.е. вместо "<xs:..." должно быть "<s:...".

Как это сделать в 1С? Как изменить синтаксис опубликованного веб-сервиса?
16. ANARCHY1987 19.02.15 18:12 Сейчас в теме
Подскажите плз.
Вы вот написали "Есть еще надежда, что прикрутив доменную аутентификацию к Sharepoint 365 не будет проблем с авторизацией, но наши админы пока этого не сделали и сказать, что это выгорит я не могу."
У меня как раз такая проблема: не могу подключиться к порталу sharepoint ни через WS ссылку, ни через MSXML2.DOMDocument, как раз потому что сервер в домене находится.(отключена plain аутентификация)
и мои доменные логин и пароль нифига не проходят.
Метод XMLHTTP.Send(врТекст) возвращает ошибку 401(ошибка аутентификации)
Я как-нибудь могу обойти это?
Вообще подскажите что делают обычно в таких случаях, а то я в веб программировании не силен.
Должны же как-то запускаться веб сервисы, если сервер в домене??
Заранее спасибо.
17. nanik 6 25.02.16 15:10 Сейчас в теме
Спасибо за обработку, использовал как пример.
Реализовал заполнения списка "отсутствующие" на корпоративном портале на основании данных ЗУП
18. KIBerUK 8 02.04.17 10:48 Сейчас в теме
Имел позитивный опыт интеграции 1С с Sharepoint 365, используя исключительно только возможности 1С.
Для чтения с Sharepoint получилось использовать как Soap так и Rest.
Добавления/редактирования записей в таблицах Sharepoint получилось используя Soap.
Для этого нужно получать куки-безопасности и передавать их в заголовках HTTP запросов к Sharepoint.
Потратил неделю на танцы с бубном но результата достиг.
19. maksyandra 24.04.17 19:41 Сейчас в теме
(18) Сергей, а не подскажете как вы авторизовались???
20. mironenkods 10.05.17 07:57 Сейчас в теме
Как Вам удалось получить куки?
21. KIBerUK 8 14.06.17 14:12 Сейчас в теме
22. Azzkijhacker 31.05.19 12:20 Сейчас в теме
Сделал запись файла через HTTPСоединение. Авторизация успешна, отклик сервера 200, отправка файла успешна, сообщение сервер вернул даже с названием папки на Шарике, ответ 200. А печаль в том, что файл физически не появился в нужном месте. Грешу на то, что неправильною строку адреса передаю. Может есть какие нюансы в написании адреса?
25. bluntschi 15.02.22 10:37 Сейчас в теме
(22) добрый день. а можете подсказать пример кода, через HTTPСоединение, а уто меня ответ 200 так и не получается :(
26. IoVVa 22.02.22 16:56 Сейчас в теме
Добрый день, пытаюсь выгрузить фото в папку, но при соединении пишет отказано в доступе (см. рис1), доступ к папке есть (рис. 2), сохранил все при входе как указано в описании статьи.
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация