Пример двусторонней интеграции 1С и Slack

10.05.22

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

Пример демонстрирует двустороннюю интеграцию 1С и Slack с передачей пользовательских данных между двумя системами Есть разные варианты реализации, учитывая, что Slack отправляет запросы на стороне сервере, это решение предполагает, что путь к 1C API будет доступен публично. Один из вариантов реализации с минимальными рисками, это использование AWS Lambda в качестве прокси запросов. Это предполагает, что база 1С доступа из AWS, или находится там. Данный пример ни в коем роде не является работающим решением и не содержит никаких настроек/конфигураций для обеспечения адекватной безопасности.

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

Наименование Файл Версия Размер
Пример двусторонней интеграции 1С и Slack:
.cf 80,10Kb
3
.cf 80,10Kb 3 Скачать

Конфигурация

  • Slack приложение, которое инициирует API вызовы
  • AWS Lambda функция с публичным URL
  • Веб-сервер 1C с опубликованным HTTP сервисом
  • 1С база данных как процессор и хранитель данных - подойдет любая из версий платформы 8.3 за последние годы т.к. используются только HTTP-сервис. Тестировалось на 8.3.21.

 

AWS Lambda конфигурация:

  • создайте новую Lambda функцию в том же регионе, где находится 1C веб-сервер
  • используйте Python 3.x
  • создайте новый Function URL (страница Configuration) - этот URL будет использован Slack в качестве цели API запросов
  • добавите Python код для проксирования запросов (замените целевой адрес 1С веб-сервера)
import json
import urllib3
import os


def lambda_handler(event, context):
    
    http = urllib3.PoolManager()

    r = http.request('POST', 'http://<1C:Enterprise Web Server>/slack/hs/slack/customer-form',
                 headers={'Content-Type': 'application/json'},
                 body=json.dumps(event))
                 
    result = r.data
    
    return {
        'statusCode': 200,
        'headers': {'Content-Type': 'application/json'},
        'body': result
    }

 

Создайте новое Slack приложение

Наиболее простой вариант это использовать Slack App Manifest - измените URL на адрес AWS Lambda публичный URL.

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

display_information:
  name: Slack-1C
features:
  bot_user:
    display_name: Slack-1C
    always_online: false
  slash_commands:
    - command: /create-new-customer
      url: https://your-lambda-id.lambda-url.us-west-2.on.aws/
      description: Create new customer directly from Slack
      should_escape: false
oauth_config:
  scopes:
    bot:
      - commands
      - chat:write
      - incoming-webhook
settings:
  interactivity:
    is_enabled: true
    request_url: https://your-lambda-id.lambda-url.us-west-2.on.aws/
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

 

Создайте и опубликуйте 1С приложение

Используйте slack в качестве имени веб-приложения.

Заполните две константы:

  • AccessToken - Bot User OAuth Token токен со страницы  OAuth & Permissions
  • ChannelId - ИД целевого канала куда отправлять результаты

Все должно быть готово для использования. Журнал логов в 1C содержит некоторую информацию для помощи в разборе ошибок.

 

Вызвать только что созданную slash-комманду

 

Slash command

 

Появится форма для создания нового клиента - структура полностью формируется в 1С

 

Autogenerated new customer form

 

Заполнить все поля

 

Completed form 

 

НажатьSave to 1C

 

Ответ от 1С возвращается в виде отдельного сообщения

 

Response from 1C

 

Созданные элементы справочника в 1С

 

New entries in 1C

 

Лицензия - MIT

Оригинальная публикация на GitHub.

slack

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

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

36000 руб.

03.08.2020    15748    10    17    

11

Интеграция 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    17552    6    15    

13

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

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

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

12000 руб.

02.02.2021    16361    42    49    

23

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

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

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

8400 руб.

01.02.2019    25742    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    88585    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. anton.fly7 173 11.05.22 15:18 Сейчас в теме
а зачем проксировать запросы через AWS ?
2. Aleksey.Bochkov 3660 11.05.22 15:44 Сейчас в теме
(1) чтобы избежать публикации открытого 1С API в интернете - насколько я понял, добавить аутентицикацию в вызовы со стороны Slack нельзя. Поправите меня, если я ошибся.
Вариант с открытым HTTP-сервисом 1С в интернете также подойдет, но я не хотел давать примера небезопасной конфигурации.
Оставьте свое сообщение