Синхронизация и двусторонний обмен базы 1С магазина, с базой MySQL этого же интернет-магазина
Здравствуйте, уважаемые специалисты.
Есть магазин розничной торговли, где в качестве базы данных используется 1C 8, управление торговлей 10.3
Планируется сделать интернет магазин, где должны быть товары с этой же базы, с возможностью их покупки онлайн, с базой MySQL.
Нужно сделать синхронизацию в обе стороны, что бы менялись и отображались остатки.
Понимаю что тема уже заезженная. Но всё что я нашел на этом форуме, ответы 4-7 годичной давности. Возможно с тех пор что то поменялось и стало проще?
Мне не надо расписывать код. Просто хотелось бы обобщить всю инфу и узнать какие направления для решения этой задачи. В базе 60.000 товаров. Сайт без движка, самописный, тут без вариантов. База MySQL
Как я понял, есть примерно такие варианты:
1) Писать обработку под 1С, например при изменении остатка товара, посылать через соединение драйвера ODBC, SQL запрос на изменение товара в базе сайта. Как тогда в этом случае делать изменения уже в 1С при покупке на сайте?
2) Обмен XML файлами. Не совсем понял. Мы формируем все товары в файл XML, закидываем его через импорт в базу сайта. Тогда нужно делать это регулярно, в обе стороны при факте изменений товара? Так это будет тяжелая и частая нагрузка
3) Делать всё через сервер SQL 1C. Тогда я так понимаю база будет хранится на сервере/хостинге? Распишите пожалуйста, может ли такой вариант подойти
Или есть значительно проще решения с другой СуБД? И как всё будет работать после закрытия магазина в онлайне. Тогда нужно сервер ставить, сейчас его нет?
Есть магазин розничной торговли, где в качестве базы данных используется 1C 8, управление торговлей 10.3
Планируется сделать интернет магазин, где должны быть товары с этой же базы, с возможностью их покупки онлайн, с базой MySQL.
Нужно сделать синхронизацию в обе стороны, что бы менялись и отображались остатки.
Понимаю что тема уже заезженная. Но всё что я нашел на этом форуме, ответы 4-7 годичной давности. Возможно с тех пор что то поменялось и стало проще?
Мне не надо расписывать код. Просто хотелось бы обобщить всю инфу и узнать какие направления для решения этой задачи. В базе 60.000 товаров. Сайт без движка, самописный, тут без вариантов. База MySQL
Как я понял, есть примерно такие варианты:
1) Писать обработку под 1С, например при изменении остатка товара, посылать через соединение драйвера ODBC, SQL запрос на изменение товара в базе сайта. Как тогда в этом случае делать изменения уже в 1С при покупке на сайте?
2) Обмен XML файлами. Не совсем понял. Мы формируем все товары в файл XML, закидываем его через импорт в базу сайта. Тогда нужно делать это регулярно, в обе стороны при факте изменений товара? Так это будет тяжелая и частая нагрузка
3) Делать всё через сервер SQL 1C. Тогда я так понимаю база будет хранится на сервере/хостинге? Распишите пожалуйста, может ли такой вариант подойти
Или есть значительно проще решения с другой СуБД? И как всё будет работать после закрытия магазина в онлайне. Тогда нужно сервер ставить, сейчас его нет?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Как уже коллеги писали, нужно воспользоваться HTTP или WEB сервисом в 1с. Представьте, что у вашего сервера 1с еще один пользователь - сайт. Ну и пусть он все делает как остальные пользователи- покупает, запрашивает остатки и т.д, просто через HTTP или WEB сервисы 1с.
(1)
В этом случае создается план обмена и штатная выгрузка производится только по зарегистрированным к обмену товарам. В принципе, стандартная практика как в случае обмена с сайтом на Битриксе, так и в принципе в случае типовых обменов в 1С. И скорей всего это все-таки будет просто периодический обмен, а не "на лету" при каждом изменении
Обмен XML файлами. Не совсем понял. Мы формируем все товары в файл XML, закидываем его через импорт в базу сайта. Тогда нужно делать это регулярно, в обе стороны при факте изменений товара? Так это будет тяжелая и частая нагрузка
В этом случае создается план обмена и штатная выгрузка производится только по зарегистрированным к обмену товарам. В принципе, стандартная практика как в случае обмена с сайтом на Битриксе, так и в принципе в случае типовых обменов в 1С. И скорей всего это все-таки будет просто периодический обмен, а не "на лету" при каждом изменении
(1) Делается по-нормальному только комбинацией предложенных технологий.
1) БД сайта делаете доступной с сервера 1С. Подключаете все её таблицы, куда надо писать данные, во внешнем источнике. Создаёте объектные сущности. Т.е. запись из таблицы товаров - это товар. И в таблице цен ставите реквизиту с кодом товара тип, что это не просто число, а товар с таким кодом. Очень удобно и наглядно.
2) Создаёте план обмена. Я бы добавил к нему хотя бы штатный механизм ПРО. Потому что в них вы смогли бы описать условия регистрации объектов для выгрузки на сайт. Обмен конечно по рег.заданию. На сайт остатки, цены, прочий контент, с сайта - заказы, отзывы и прочее.
3) Кроме всего этого удобно сделать АРМ контент-менеджера, в котором показывать данные таблиц сайта для редактирования, чтобы можно было обойтись вообще без бэкенда сайта.
4) Если веб-разарботчик осилит, можете пушить с сайта данные по событиям в онлайн-режиме на http-сервис 1С.
Почти всё это я делал лет 7 назад нескольким клиентам, но сейчас не найду никаких своих наработок на эту тему.
1) БД сайта делаете доступной с сервера 1С. Подключаете все её таблицы, куда надо писать данные, во внешнем источнике. Создаёте объектные сущности. Т.е. запись из таблицы товаров - это товар. И в таблице цен ставите реквизиту с кодом товара тип, что это не просто число, а товар с таким кодом. Очень удобно и наглядно.
2) Создаёте план обмена. Я бы добавил к нему хотя бы штатный механизм ПРО. Потому что в них вы смогли бы описать условия регистрации объектов для выгрузки на сайт. Обмен конечно по рег.заданию. На сайт остатки, цены, прочий контент, с сайта - заказы, отзывы и прочее.
3) Кроме всего этого удобно сделать АРМ контент-менеджера, в котором показывать данные таблиц сайта для редактирования, чтобы можно было обойтись вообще без бэкенда сайта.
4) Если веб-разарботчик осилит, можете пушить с сайта данные по событиям в онлайн-режиме на http-сервис 1С.
Почти всё это я делал лет 7 назад нескольким клиентам, но сейчас не найду никаких своих наработок на эту тему.
(19)
+ к 4) Платформа 1С поддерживает такую вещь как OData. А если еще и движок сайта ее поддерживает!....
Но, правда, если делать по-взрослому, просто пулять REST-запросами не вариант. Придется придумывать архитектуру, которая обеспечит гарантированную доставку данных (с обеих сторон).
+ к 4) Платформа 1С поддерживает такую вещь как OData. А если еще и движок сайта ее поддерживает!....
Но, правда, если делать по-взрослому, просто пулять REST-запросами не вариант. Придется придумывать архитектуру, которая обеспечит гарантированную доставку данных (с обеих сторон).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот