8.х Обмен данными между 1С 8.2 и MySQL

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем lamer666, 21 авг 2011.

  1. TopicStarter Overlay
    lamer666
    Offline

    lamer666 Опытный в 1С

    Регистрация:
    9 апр 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток уважаемые.
    Хотелось бы поднять следующий вопрос (вроде аналогичных не нашел) 1С+MySQL. Основная цель использование данных 1С на сайте и в прочих приложениях .
    Может имеет смысл организовать все на основе 1С+MsSQL? А данные на сайт уже запрашивать из MsSQL?
    Есть ли еще какие ПЕРСПЕКТИВНЫЕ варианты?
    Все заранее огромное спасибо.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    MySQL не поддерживается 1С изначально, как MSSQL/POSTGRES/DB2/ORACLE, поэтому придется придумывать самому, как организовать выгрузку данных.
  3. TopicStarter Overlay
    lamer666
    Offline

    lamer666 Опытный в 1С

    Регистрация:
    9 апр 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Может сделать так:
    1. 1С+MsSQL
    2. А с WEB сайт обращаться к MsSQL серверу.
    Таким образом и 1С на SQL и любое приложение и WEB ресурс сможет получить/записать необходимые данные из 1С
    никто не пробовал?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    п.2 в данном алгоритме достаточно проблематичен.
    Поэтому в типовых конфигурацияъ есть типовой механизм обмена данными с сайтом.
  5. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    А кто нибудь уже пробовал баловаться с новой фитчей, появившейся в 8.2.14 "Внешние источники данных"? Оно не подойдет?
  6. comol
    Offline

    comol Опытный в 1С

    Регистрация:
    8 сен 2011
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    2 ПЕРСПЕКТИВНЫХ варианта (если будет время в блоге опишу отдельно):

    1) 2 базы MySQL 1 на сайте, 1 локально. Между базами MySQL - репликация. К локальной базе подключаетесь через драйвер ODBC для MYSQL и сравниваете с тем что в 1С. ТО что расходится - транзакциями проводите (внимание!) в удаленной базе MySQL через всё тот же драйвер ODBC. Обмениваться можно хоть каждые 5 секунд. Данные получаете почти online. Простор возможностей огромный, трафик минимальный, все механизмы надёжные

    2) Делаете в 1С Web-сервисы и вызываете их с сайта. Тоже круто, но для больших объёмов данных несколько менее стабильно


    Даа.. а с внешними источниками данных вариант 1 становится вообще простейшим. ODBC коннекторы они понимают - просто описываете структуру, а потом пишите запросы в вашем любимом конструкторе. ADO нужно будет только для записи. Единственное 14-я платформа.... пока она не очень :(. Если более 100 пользователей ставить не рекоммендую.

    Забыл ещё написать - в таком варианте получается контроль данных с обратной связью.
  7. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    По теме посмотрите ramilkin.info. Есть видео по теме, я как раз рассказываю. Тема - организация интернет магазина на базе 1С и CMS Drupal.
  8. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Исправьте ошибки на сайте
    Интересный подход
  9. TopicStarter Overlay
    lamer666
    Offline

    lamer666 Опытный в 1С

    Регистрация:
    9 апр 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26

    Спасибо за ответ, я так понимаю вами это реализовано, раз утверждаете "Данные получаете почти online." Вопрос в том, как организовать выгрузку каждые 5 секунд (я не совсем профессионал в 1С программировании), но анализируя методику понимаю, что необходимо:
    1. Сервис работающий в памяти операционной системы
    2. Таймер в этом сервисе выполняющий обработку выгрузки.
    как реализовывается сей механизм в 1С?
  10. comol
    Offline

    comol Опытный в 1С

    Регистрация:
    8 сен 2011
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    Для MySQL есть сервис репликации, в 1С есть механизм фоновых заданий.
  11. TopicStarter Overlay
    lamer666
    Offline

    lamer666 Опытный в 1С

    Регистрация:
    9 апр 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Спасибо, разбираюсь. :D А вот насчет репликации, есть ли в ней смысл если выгрузка происходит в MySQL базу данных с которой я и буду в дальнейшем работать? (Понимаю если данные выгрузили в локальную базу, а затем их надо отдать удаленной базе MySQL из которой и будут отбирать данные, или я не правильно понимаю?)
    :angry:
  12. comol
    Offline

    comol Опытный в 1С

    Регистрация:
    8 сен 2011
    Сообщения:
    153
    Симпатии:
    0
    Баллы:
    26
    Не, не правильно понимаете. Как только дойдёте до реализации сразу поймёте зачем так сложно.
    Весь вопрос "Как определить какие данные нужно передовать в удаленную базу?" У вас к примеру 100 000 позиций товара, а цены изменились на 100 позиций... отслеживать изменения в 1с... можно конечно, но там казусы бывают... вроде смены складов, переоценки и т.п. самое простое - взяли из базы сайта, положили во временную таблицу (или уже внешний источник данных использовали), простенький запрос, соединение, отбираем изменившиеся и только их уже выгружаем в удаленную базу.

Поделиться этой страницей