Задать вопрос
@Sidorenko-ml

Как подружить 1C и Python?

Мне нужно получить данные из 1С с помощью Python. Какие способы есть подружить их? На YouTube видел несколько способов, но у меня ничего не работает. Сразу отмечу:
1) к 1С подключаюсь через удаленное соединение, но с сегодняшнего дня 1С-ка опубликована на веб-сервере(что уже очень хорошо)
2) БД лежит на SQL Server'e, просил помочь нашего 1С-ника подключить БД с помощью MS SQL Server Managment Studio, но он к сожалению не знает как это сделать.
Пытался через api под названием brom, но не выходит, не могу подключится через python.
Пытался с помощью json, через {веб-сервер}/odata/standard.odata, но он такой страницы у меня не находит.
Видел эту статью - https://habr.com/ru/post/139272/ , но возникли сложности, т.к. тут подключение через COMConnector,а я так понимаю, что он должен быть прописан в 1C, чтобы к нему подключатся.
  • Вопрос задан
  • 566 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Alexeytur
@Alexeytur
Мы тягаем данные напрямую из SQl Server. Конечно это не труъ метод. В MS SQL Server Managment Studio нужно создать юзера с права на чтение таблиц 1С. Потом открыть доступ на сервер на порт SQl Server. И подключаться из любого ЯП через драйвер.
Получить структуру хранения можно обработкой вида:
&НаСервере
Функция ПолучитьСтруктуруХраненияБазыДанныхНаСервере()
	СтруктураБД = ПолучитьСтруктуруХраненияБазыДанных();

	Для каждого СтрокаТаблицы Из СтруктураБД Цикл
		Сообщить(СтрокаТаблицы.ИмяТаблицы + " = " + СтрокаТаблицы.ИмяТаблицыХранения);
		Для каждого СтрокаПоля Из СтрокаТаблицы.Поля Цикл
			Сообщить("     "+СтрокаПоля.ИмяПоля + " = " + СтрокаПоля.ИмяПоляХранения);
		КонецЦикла;
	КонецЦикла;

КонецФункции

Единственное, в БД таблицы 1С имеют названия вида Document942.VT3711, а некоторые в БД разбиты на несколько таблиц.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы