Как интегрировать СУБД FileMaker и 1С?

Есть основная СУБД, в которой сотрудники работают 90% времени, но для выписки счетов и проверки их оплаты (так как вносит бухгалтер) всё равно приходится использовать 1С (8.2 на PostgreSQL). Каким образом лучше автоматизировать этот процесс (создание счета и получение статуса о его оплате): обмен через файлы, доступ по ODBC, веб-сервисы, как-то еще?

Многоопытные хабражители, подскажите, как справиться с такой напастью.
  • Вопрос задан
  • 3748 просмотров
Решения вопроса 1
@ChemAli Автор вопроса
Кому интересно — сделали через ODBC. Логика обмена реализована на стороне 1С в самописной внешней обработке, которая обращается в FM через ODBC-драйвер. Не без тонкостей, но срослось.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@MikhailEdoshin
Лично я бы делал это из FileMaker: создание счета — через Execute SQL, получение статуса — через Import ODBC. (Предполагается, что Postgres доступен через ODBC.) Если бы это был MS SQL, MySQL или Oracle, то можно было бы подсунуть их FileMaker в качестве внешнего источника данных.
Ответ написан
@da0c
1. Непрямой доступ возможен через OLE интерфейс самой 1С- можно получать данные в виде COMSafeArray. Другой способ, но он вам наверное ни к чему, написать внешнюю компоненту к 1С в качестве прокси.
2. Прямой доступ ч/з ODBC тоже вариант, т.к. быстрее, чем через OLE. Структура SQL-ной базы 1С документирована, просто она генерится автоматом на основе метаданных, следовательно, может меняться при внесении изменений в конфигурацию базы (например, при обновлении).
Общая концепция структуры таблиц 1С описана в книжке Радченко «Профессиональная разработка на платформе 1С предприятие 8.0», узнать соответствие конкретных объектов 1С и структуры таблиц постгреса можно при помощи функции ПолучитьСтруктуруХраненияБазыДанных().

Это в двух словах, если нужны подробности — спрашивайте, напишу развернуто.
Ответ написан
Комментировать
@codex
Вопрос а если выгружать эту информацию в файл и потом загружать в необходимую вам СУБД?
У меня как человека работающего с 1С, вырисовывается только такое решение, так как в режиме онлайн это будет долго
Ответ написан
Комментировать
@ArcadyP
Топик, конечно, устарел, но наткнулся только сейчас:
Возможно, наиболее, надежный способ - это обмен файлами (xml или csv).
Есть еще вариант обратится к FileMaker Server по http-запросу, заставив его исполнить нужный скрипт с нужными параметрами. На выходе вы получите xml с данными того лайота, на котором закончил работать скрипт. То есть FM вернет вам, те данные которые вы у него запросите (в вашем случае, например, новый выписанные счета).
Подробно техника описана тут:
fmteam.ru/vypolnenie-skriptov-na-servere-v-filemak...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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