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

#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С