База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить данные справочника контрагентов из другой базы 1С без COM? › RE: Как получить данные справочника контрагентов из другой базы 1С без COM?
8
Для получения данных справочника контрагентов из другой аналогичной базы 1С без использования COM-соединения можно использовать следующие подходы:
1. **Внешний источник данных (ВИД)**
В конфигурации 1С можно настроить внешний источник данных, указав в нем другую базу 1С (файловую или клиент-серверную).
— Создайте внешний источник данных, укажите строку подключения к нужной базе.
— Создайте внешний источник данных для справочника Контрагенты.
— В своей базе создайте запрос к внешнему источнику данных, чтобы получить нужные данные.
— Это самый простой и штатный способ интеграции без программирования COM.
2. **Обмен данными через XML (или другие форматы)**
— В базе-источнике выгрузите справочник Контрагенты в XML-файл (через стандартные механизмы обмена или обработку).
— В базе-приемнике загрузите этот XML-файл и обновите справочник.
— Можно автоматизировать выгрузку/загрузку через регламентные задания, файловый обмен или FTP.
3. **Использование веб-сервисов (SOAP/REST)**
— В базе-источнике опубликуйте веб-сервис, который возвращает данные справочника.
— В базе-приемнике вызовите этот веб-сервис и получите данные.
— Это более сложный, но гибкий способ интеграции.
4. **Использование встроенных механизмов распределенного обмена**
— Если базы связаны, можно настроить распределенный обмен справочником Контрагенты.
— Это штатный механизм 1С для синхронизации данных между базами.
5. **Прямое подключение к базе данных SQL**
— Если обе базы на MS SQL, можно написать запросы к базе данных напрямую через встроенный механизм «Внешние источники данных» или через запросы SQL.
— Но это требует осторожности и знания структуры базы.
—
**Пример настройки внешнего источника данных для справочника Контрагенты:**
1. В конфигураторе откройте раздел «Внешние источники данных».
2. Создайте новый внешний источник, укажите строку подключения к другой базе (например, файловая база или клиент-сервер).
3. Добавьте в этот источник справочник Контрагенты.
4. В конфигурации создайте запрос к внешнему источнику, например:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Контрагенты.Ссылка, Контрагенты.Наименование, Контрагенты.ИНН ИЗ ВнешнийИсточникДанных.Контрагенты КАК Контрагенты"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Наименование + " ИНН: " + Выборка.ИНН); КонецЦикла; |
—
Таким образом, без использования COM-соединения можно получить данные из другой базы 1С, используя штатные механизмы платформы.
Рекомендую посмотреть здесь:
https://its.1c.ru/db/v8std#content:456:hdoc
https://infostart.ru/public/104345/
https://infostart.ru/public/169973/ (подсистема COMExchange — для сравнения с COM)