Примеры запросов с календарем Outlook через EWS

05.06.25

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

Примеры создания/изменения/получения/удаления событий календаря Outlook пользователя из 1С через EWS.

Файлы

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

Наименование Скачано Купить файл
Примеры запросов с календарем Outlook через EWS:
.epf 13,20Kb
104 3 400 руб. Купить

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

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

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

Попалась синхронизировать календарь в базе 1С с календарем Outlook пользователя.

Нет проблем запустить COM объект outlook и далее уже делать все что нужно, тем более, что такое взаимодействие приходилось делать не раз, в том числе и синхронизацию календарей.

Но отличие этого задания было в том, что синхронизацию надо делать не зависимо от пользователя в рег. Задании.

Поиск решений привел к единственному разумному варианту – использование EWS

https://docs.microsoft.com/ru-ru/exchange/client-developer/exchange-web-services/ews-applications-and-the-exchange-architecture

 

В процессе реализации столкнулся с тем, что по теме интеграции с EWS очень мало информации, приходилось буквально собирать по крупицам.

Много полезного можно найти в документации, но приходилось иногда читать именно на английском, потому что автоматический перевод иногда искажал смысл.

 

Собрал в обработке запросы, которые использовал для синхронизации календарей, может кому пригодятся.

Через EWS, кстати, можно делать очень много: работать с почтой, отправлять сообщения, создавать/читать задачи, работать с контактами, отправлять приглашения.

Все это описано в документации по ссылке выше.

В обработке же реализованы примеры запросов:

В параметрах указываете адрес веб-службы EWS, логин и пароль для  подключения, также указываете адрес почты, в котором будут создаваться события календаря.

По кнопке примеры запросов – в текст запроса будут вставлены соответствующие запросы, с автоподстановкой параметров из обработки

Id и ChangeKey заполняются автоматически из ответа сервера, нужны для некоторых запросов

Текст ответа – ответ сервера после выполнения запроса

Примеры запросов:

Создать запись календаря – пример запроса создания события в календаре в указанном ящике

Получить все свойства записи outlook – получает все свойства события календаря по Id и ChangeKey (ChangeKey – обязательный параметр, но может быть любым, получается последнее состояние записи)

Актуализировать change key записи outlook – получает актуальный ChangeKey записи по ИД, нужен, например, для запроса изменения записи, если ChangeKey не актуальный – изменение не произойдет

Удалить запись outlook – удаляет событие по Id

Изменить запись outlook – изменяет событие по Id и ChangeKey

Изменить категорию записи outlook – изменяет категорию события

Изменить пользовательские поля записи outlook – изменяет пользовательские свойства в событии. Это как доп. Реквизиты в 1с, их можно установить, даже если нет, но выводится они не будут, тут только создавать свою форму события для Outlook и выводить их.

Получить last modified time записи outlook – получает дату последнего изменения записи по  данным outlook

Получить записей outlook за месяц – получает список событий календаря за период. Запись попадает в ответ, если дата начала или дата окончания попадает в интервал

Получить body записи outlook – предыдущий запрос не возвращает некоторые поля, такие как тело события, вот этим запросом можно получить тело события отдельно.

 

Надеюсь, набор примеров запроса упростит жизнь тому, кому придется разбираться с EWS.

Тестировалось на платформе 8.3.13 и выше, но будет работать на любой платформе и в любой конфигурации в управляемом режиме.

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

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.167.36

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

См. также

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

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

42700 руб.

03.08.2020    23878    36    24    

28

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

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

24000 руб.

02.02.2021    22611    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    5861    25    4    

27

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

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

12200 руб.

29.08.2025    2379    6    6    

8

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

Интеграционный модуль обмена по API между конфигурацией 1С:Альфа-Авто 6 и порталом LogicStar. Позволяет работать с несколькими обменами LogicStar разных брендов (CHERY, OMODA, JAECOO, EXEED, TENET) в одной информационной базе в ручном и автоматическом режиме. Поддерживается выгрузка заказ-нарядов, реализаций товаров и товарных остатков.

20740 руб.

13.05.2025    1758    2    0    

5
Отзывы
1. Anton-i-oni 19.08.21 17:31 Сейчас в теме
Отличная публикация - реально сэкономила время! От себя могу добавить следующее:
перед началом использования EWS необходимо выполнить следующие действия:
1) администратор Exchange должен "включить" возможность работать с EWS (см. описание здесь: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/controlling-client-application-access-to-ews-in-exchange );
2) администратор Exchange должен настроить права для учетной записи (почтового ящика), от имени которой будут производиться манипуляции с календарями пользователей, ящиками и т.п. В частности, при помощи Exchange Management Shell дать пользователю (почтовому ящику) права доступа к ящикам всех прочих пользователей. Это делается shell-командой:
Get-Mailbox | Add-MailboxPermission –user Admin –AccessRight FullAccess
Замените Admin на учетную запись, которой разрешаете права полного доступа на все ящики. Если этого не сделать. при отправке SOAP-запросов, будете получать сообщение вот с таким содержимым:
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Error">
<m:MessageText>Не удается найти указанную папку в хранилище.</m:MessageText>
<m:ResponseCode>ErrorFolderNotFound</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:CreateItemResponseMessage>
</m:ResponseMessages>;
3) проверить доступность EWS можно при помощи гиперссылки: https://ваш почтовый сервер/ews/Exchange.asmx
Если админ настроил все корректно, вы должный увидеть страницу, в заголовке которой отображается фраза "Служба создана."
77dream77; +1 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Anton-i-oni 19.08.21 17:31 Сейчас в теме
Отличная публикация - реально сэкономила время! От себя могу добавить следующее:
перед началом использования EWS необходимо выполнить следующие действия:
1) администратор Exchange должен "включить" возможность работать с EWS (см. описание здесь: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/controlling-client-application-access-to-ews-in-exchange );
2) администратор Exchange должен настроить права для учетной записи (почтового ящика), от имени которой будут производиться манипуляции с календарями пользователей, ящиками и т.п. В частности, при помощи Exchange Management Shell дать пользователю (почтовому ящику) права доступа к ящикам всех прочих пользователей. Это делается shell-командой:
Get-Mailbox | Add-MailboxPermission –user Admin –AccessRight FullAccess
Замените Admin на учетную запись, которой разрешаете права полного доступа на все ящики. Если этого не сделать. при отправке SOAP-запросов, будете получать сообщение вот с таким содержимым:
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Error">
<m:MessageText>Не удается найти указанную папку в хранилище.</m:MessageText>
<m:ResponseCode>ErrorFolderNotFound</m:ResponseCode>
<m:DescriptiveLinkKey>0</m:DescriptiveLinkKey>
<m:Items/>
</m:CreateItemResponseMessage>
</m:ResponseMessages>;
3) проверить доступность EWS можно при помощи гиперссылки: https://ваш почтовый сервер/ews/Exchange.asmx
Если админ настроил все корректно, вы должный увидеть страницу, в заголовке которой отображается фраза "Служба создана."
77dream77; +1 Ответить
2. erutan 107 11.07.22 10:15 Сейчас в теме
Здравствуйте! У нас происходит следующая ошибка

На строчке oXMLHTTP.send(ТекстЗапроса); (строка 27 в обработке) вываливается ошибка Произошла исключительная ситуация (msxml3.dll): Сбой скачивания указанного ресурса.


"

{ВнешняяОбработка.РаботаСEWSOutlook.Форма.Форма.Форма(27)}: oXMLHTTP.send(ТекстЗапроса);

по причине:
Произошла исключительная ситуация (msxml3.dll): Сбой скачивания указанного ресурса.

"

При этом https://mls01/ews/Exchange.asmx выдает, что Служба создана.

Dll указанную зарегистрировали и вручную, ничего не дало, к сожалению.
3. user1456019 21.05.24 17:02 Сейчас в теме
(2) Решили проблему в итоге?
4. erutan 107 21.05.24 22:01 Сейчас в теме
(3) Здравствуйте! В итоге, кажется, нет. Отложили "в долгий ящик"
Для отправки сообщения требуется регистрация/авторизация