Синхронизация и двусторонний обмен базы 1С магазина, с базой MySQL этого же интернет-магазина

1. user1372009 03.03.20 13:15 Сейчас в теме
Здравствуйте, уважаемые специалисты.

Есть магазин розничной торговли, где в качестве базы данных используется 1C 8, управление торговлей 10.3

Планируется сделать интернет магазин, где должны быть товары с этой же базы, с возможностью их покупки онлайн, с базой MySQL.

Нужно сделать синхронизацию в обе стороны, что бы менялись и отображались остатки.


Понимаю что тема уже заезженная. Но всё что я нашел на этом форуме, ответы 4-7 годичной давности. Возможно с тех пор что то поменялось и стало проще?

Мне не надо расписывать код. Просто хотелось бы обобщить всю инфу и узнать какие направления для решения этой задачи. В базе 60.000 товаров. Сайт без движка, самописный, тут без вариантов. База MySQL


Как я понял, есть примерно такие варианты:

1) Писать обработку под 1С, например при изменении остатка товара, посылать через соединение драйвера ODBC, SQL запрос на изменение товара в базе сайта. Как тогда в этом случае делать изменения уже в 1С при покупке на сайте?

2) Обмен XML файлами. Не совсем понял. Мы формируем все товары в файл XML, закидываем его через импорт в базу сайта. Тогда нужно делать это регулярно, в обе стороны при факте изменений товара? Так это будет тяжелая и частая нагрузка

3) Делать всё через сервер SQL 1C. Тогда я так понимаю база будет хранится на сервере/хостинге? Распишите пожалуйста, может ли такой вариант подойти


Или есть значительно проще решения с другой СуБД? И как всё будет работать после закрытия магазина в онлайне. Тогда нужно сервер ставить, сейчас его нет?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nomad_irk 81 03.03.20 13:18 Сейчас в теме
(1)4. использовать механизм Web-сервиса 1С для получения данных по остаткам товара на складе. Инициатор запроса - движок сайта.
Так же можно и сами товары передавать на сайт, получать заказы с сайта и прочее....
4. nomad_irk 81 03.03.20 13:19 Сейчас в теме
(1) 4. использовать механизм Web-сервиса 1С и не маяться ерундой :)
15. duhin 03.03.20 13:38 Сейчас в теме
(1) Как уже коллеги писали, нужно воспользоваться HTTP или WEB сервисом в 1с. Представьте, что у вашего сервера 1с еще один пользователь - сайт. Ну и пусть он все делает как остальные пользователи- покупает, запрашивает остатки и т.д, просто через HTTP или WEB сервисы 1с.
17. RocKeR_13 1382 03.03.20 13:58 Сейчас в теме
(1)
Обмен XML файлами. Не совсем понял. Мы формируем все товары в файл XML, закидываем его через импорт в базу сайта. Тогда нужно делать это регулярно, в обе стороны при факте изменений товара? Так это будет тяжелая и частая нагрузка

В этом случае создается план обмена и штатная выгрузка производится только по зарегистрированным к обмену товарам. В принципе, стандартная практика как в случае обмена с сайтом на Битриксе, так и в принципе в случае типовых обменов в 1С. И скорей всего это все-таки будет просто периодический обмен, а не "на лету" при каждом изменении
19. PLAstic 296 04.03.20 12:12 Сейчас в теме
(1) Делается по-нормальному только комбинацией предложенных технологий.
1) БД сайта делаете доступной с сервера 1С. Подключаете все её таблицы, куда надо писать данные, во внешнем источнике. Создаёте объектные сущности. Т.е. запись из таблицы товаров - это товар. И в таблице цен ставите реквизиту с кодом товара тип, что это не просто число, а товар с таким кодом. Очень удобно и наглядно.
2) Создаёте план обмена. Я бы добавил к нему хотя бы штатный механизм ПРО. Потому что в них вы смогли бы описать условия регистрации объектов для выгрузки на сайт. Обмен конечно по рег.заданию. На сайт остатки, цены, прочий контент, с сайта - заказы, отзывы и прочее.
3) Кроме всего этого удобно сделать АРМ контент-менеджера, в котором показывать данные таблиц сайта для редактирования, чтобы можно было обойтись вообще без бэкенда сайта.
4) Если веб-разарботчик осилит, можете пушить с сайта данные по событиям в онлайн-режиме на http-сервис 1С.
Почти всё это я делал лет 7 назад нескольким клиентам, но сейчас не найду никаких своих наработок на эту тему.
20. e-9 61 06.03.20 12:38 Сейчас в теме
(19)
+ к 4) Платформа 1С поддерживает такую вещь как OData. А если еще и движок сайта ее поддерживает!....
Но, правда, если делать по-взрослому, просто пулять REST-запросами не вариант. Придется придумывать архитектуру, которая обеспечит гарантированную доставку данных (с обеих сторон).
2. SGordon1 03.03.20 13:17 Сейчас в теме
Зачем обработку при изменени? Используйте план обмена в 1с....
9. user1372009 03.03.20 13:27 Сейчас в теме
(2)Это не тоже самое что 2-й вариант с обменом XML?
10. SGordon1 03.03.20 13:31 Сейчас в теме
(9) Не важна технология, важны данные.....
11. user1372009 03.03.20 13:32 Сейчас в теме
(10)Можно чуть подробнее?
13. SGordon1 03.03.20 13:33 Сейчас в теме
(11) В интернете продали какой то товар , в 1с продали его же ..... Где , когда и как поменяются остатки?
16. user1372009 03.03.20 13:40 Сейчас в теме
(13)Согласен. Мне тоже не понятно пока как сделать эту логику
5. SGordon1 03.03.20 13:19 Сейчас в теме
Тут больше вопросов не в серверах и платформах, а в идеологии взаимодействия систем.... Готовую битрикс посмотреть не предлагать?
7. user1372009 03.03.20 13:26 Сейчас в теме
(5) С битриксом к сожалению не вариант
12. SGordon1 03.03.20 13:32 Сейчас в теме
(7)Про битрикс - как и чем идет обмен, а не внедрять битрикс...
14. user1372009 03.03.20 13:37 Сейчас в теме
6. nomad_irk 81 03.03.20 13:22 Сейчас в теме
(1) 4. Использовать механизм Web-сервиса 1С и не морочить мозг :)
8. user1372009 03.03.20 13:26 Сейчас в теме
(6)Понял, но на просторах интернета, даже не видел этого решения
18. JohnGalt 58 03.03.20 14:05 Сейчас в теме
Я делал через внешние источники данных. Для выгрузки остатков и цен регл. задание. И после записи номенклатуры/заказов попытку изменения таблиц mysql с записью результатов изменений в отдельный регистр.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот