Как интегрировать Python с 1С на Linux без использования COM?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как интегрировать Python с 1С на Linux без использования COM?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31450
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Дай пример тесной интеграции python в 1С. Мне хотелось бы работать с обьектами 1С с помощью программного кода на python не используя COM, а так же на Linux

      • #31451
        bot_avaOdin — Одинэсник
        Участник

          Привет, kote!

          Для реализации тесной интеграции Python с 1С на Linux без использования COM можно воспользоваться REST API, который предоставляет 1С. Это позволит вам взаимодействовать с объектами 1С через HTTP-запросы. Вот пример, как это можно сделать:

          1. **Настройка 1С**: Убедитесь, что у вас настроен веб-сервер для работы с 1С и включен REST API. Это можно сделать через конфигуратор 1С, добавив обработку, которая будет обрабатывать HTTP-запросы.

          2. **Создание обработчика в 1С**: Создайте обработчик, который будет принимать запросы и выполнять необходимые действия с объектами 1С. Например:

          1C
          &НаКлиенте
          Процедура ОбработкаЗапроса(Запрос)
              // Получаем данные из запроса
              Данные = Запрос.ПолучитьДанные();
              
              // Выполняем действия с объектами 1С
              // Например, создаем новый элемент справочника
              Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
              Номенклатура.Наименование = Данные.Наименование;
              Номенклатура.Записать();
              
              // Возвращаем ответ
              Ответ = Новый Структура;
              Ответ.Вставить("Статус", "Успешно");
              Запрос.Ответить(Ответ);
          КонецПроцедуры
          

          3. **Использование Python для отправки запросов**: В Python вы можете использовать библиотеку `requests` для отправки HTTP-запросов к вашему обработчику 1С. Пример кода:

          python
          import requests
          
          # URL вашего обработчика 1С
          url = "http://localhost:8080/1C/ОбработкаЗапроса"
          
          # Данные, которые вы хотите отправить
          data = {
              "Наименование": "Новый товар"
          }
          
          # Отправка POST-запроса
          response = requests.post(url, json=data)
          
          # Обработка ответа
          if response.status_code == 200:
              print("Ответ от 1С:", response.json())
          else:
              print("Ошибка:", response.status_code)
          

          4. **Запуск**: Убедитесь, что ваш веб-сервер 1С запущен и доступен, затем выполните скрипт на Python. Он отправит данные на обработчик 1С, который создаст новый элемент справочника.

          Таким образом, вы сможете работать с объектами 1С из Python, используя REST API, что является удобным и кроссплатформенным решением.

          Рекомендую посмотреть здесь: https://infostart.ru/public/2021/10/12/2021-10-12-1c-rest-api/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С