|
v7: Обмен данными 1с интернет магазин | ☑ | ||
---|---|---|---|---|
0
VBMADD
08.09.14
✎
11:08
|
Привет братьям по разуму!
Столкнулся с такой проблемой: есть интернет магазин на основе OpenCart и 1с77 Торговля склад как осуществить обмен туда-сюда остатками товаров. т.е. интересует формат и алгоритм обмена, подскажите, еже ли кто сталкивался с ентим. Спасибо всем, кто откликнулся. |
|||
1
Андрюха
08.09.14
✎
11:09
|
в ОпенКарте есть загрузка из xml, сделай выгрузку из 1С в нужном формате.
|
|||
2
VBMADD
08.09.14
✎
11:10
|
(1) Спасибо, где взять сам формат
|
|||
3
VBMADD
08.09.14
✎
11:12
|
т.е. нужна структура формата xml
|
|||
4
VBMADD
08.09.14
✎
11:14
|
(1) в ОпенКарте есть загрузка из xml - Это встроенная функция?
|
|||
5
Builder
08.09.14
✎
11:16
|
Туда-сюда - это как?
Для начала надо определиться с тем, что тебе надо загружать-выгружать. Потом найти модуль для opencart, который это умеет делать. Под него и писать выгрузку-загрузку. Мне например, надо было цены обновлять регулярно. Нашел похожий модуль по загрузке товаров из csv, переделал его под свои нужды и все работает. Встроенной загрузки в opencart вроде нет. |
|||
6
VBMADD
08.09.14
✎
11:28
|
(5)
Директор хочет чтобы: Прграмма 1с77 Торговля склад торгует в обычном магазине и параллельно в интернет магазине. Поэтому нужно ежечасно обновлять остатки товаров в интернет магазине. Возможен ли такой режим и правильна ли такая постановка задачи? |
|||
7
VBMADD
08.09.14
✎
11:29
|
Причем база данных одна и таже
|
|||
8
kokamoonga
08.09.14
✎
11:30
|
(6) правильность постановки задачи зависит от бизнес-процессов. Если ежечасного обновления достаточно, значит задача поставлена верно.
Режим такой возможен. Как и, например, обновление по событию в 1С |
|||
9
VBMADD
08.09.14
✎
11:31
|
(8) Понятно, что синхронизацию баз можно осуществлять и еже минутно
|
|||
10
VBMADD
08.09.14
✎
11:33
|
Так же понятно и то, что возможны коллизии, например один и тот же товар решили приобрести одновременно и в рознице и в интернет магазине...
Как разруливать такую ситуацию? |
|||
11
kokamoonga
08.09.14
✎
11:33
|
(9) Я не совсем то имел в виду. На мой взгляд выгрузка должна быть ориентированной на события в 1С. То есть произошло резервирование в базе. По событию элемент выгрузки пишется в очередь, а оттуда при первой возможности выгружается на сайт.
|
|||
12
kokamoonga
08.09.14
✎
11:34
|
(10) См. (11)
|
|||
13
Aleksey
08.09.14
✎
11:37
|
(12) Это не спасет
(10) А как вы разруливаете ситуация, когда клиент заказал, а складе не нашел? Даже когда ты ручками заявку в базе набиваешь у тебя все равно может быть ситуация когда в подборе была, а когда проводишь заявку - её уже нет |
|||
14
Aleksey
08.09.14
✎
11:38
|
(10) Никогда в инет магазине не заказывал? Обычно менеджер перезванивает и говорит, извините сейчас этого нет.
|
|||
15
kokamoonga
08.09.14
✎
11:40
|
(13) >>> Это не спасет
Это снижает вероятность коллизий до приемлемого минимума. Полностью решить коллизии можно только объединением баз данных 1С и интернет-магазина, что довольно утопично. |
|||
16
КонецЦикла
08.09.14
✎
11:45
|
Сталкивался, гумно, переписал все нахрен на прямой доступ к базе сайта на MySQL.
|
|||
17
Aleksey
08.09.14
✎
11:46
|
(15)это почему?
" а оттуда при первой возможности выгружается на сайт." и "ежечасного обновления " т.е. у тебя возможность выгрузки раз в час, т.е. как это изменит коллизию? Или речь о вебсервисе, когда после проведения программа стучится на сайт и правит остатки? |
|||
18
kokamoonga
08.09.14
✎
11:49
|
(17) Ты все прочитал как тебе удобно. Причем здесь веб-сервис? Способ выгрузки вообще неважен. Хоть веб-сервис, хоть прямой доступ к мускулу, хоть API хоть еще стопиццот других вариантов. Важно само устройство выгрузки.
Событие -> Очередь -> Выгрузка При первой возможности означает немедленно, если ничего не мешает. Иногда, например, может прилечь канал. Для этого нужна очередь. В общем же случае выгрузка происходит немедленно после наступления события. |
|||
19
VBMADD
08.09.14
✎
11:57
|
(17) Похоже что у(16) наиболее правильный подход...
|
|||
20
VBMADD
08.09.14
✎
12:00
|
(16) Можешь ли поподробней изложить суть?
|
|||
21
Галахад
гуру
08.09.14
✎
12:06
|
(19) Конечно. Придумать свой механизм, а не использовать типовой, это самое правильное решение.
|
|||
22
kokamoonga
08.09.14
✎
12:06
|
(20) У голого подхода в (16) та же проблема, что и у любого другого. См. (18)
|
|||
23
КонецЦикла
08.09.14
✎
12:07
|
(20) Регистрировались изменения в таблицах SQL, затем периодически передавались. Движок специфический, на друпале, так что немного помучался :)
Если есть необходимость выгрузки остатков, статусов - храню текущие выгруженные данные, при выгрузке они сравниваются с актуальными, отличия передаются и по кругу... Но если есть проблема именно в оперативном обмене - все можно решить... все зависит от бюджета проекта. |
|||
24
kokamoonga
08.09.14
✎
12:12
|
(21) Типовым механизмом будет являться, что угодно, если это реализовано в рамках возможностей платформы. ADO, OLE вполне себе возможности платформы. Типовые xml-обмены и типовые веб-сервисы придуманы для тех, кто не в состоянии или просто не желает воспользоваться более оптимальными подходами.
|
|||
25
Галахад
гуру
08.09.14
✎
12:27
|
(24) Сделать можно все. Вопрос только в затраченном времени.
|
|||
26
Builder
08.09.14
✎
13:01
|
Прямой доступ к MySQL это конечно хорошо, но не все хостинги это позволяют и не все готовы открывать такой доступ.
|
|||
27
VBMADD
08.09.14
✎
13:38
|
(5) Нашел похожий модуль по загрузке товаров из csv...
Не подскажешь ли какой модуль и где нашел? |
|||
28
Builder
08.09.14
✎
15:31
|
"Импорт CSV файла с сервера поставщика"
Купил аж за 350 руб! Разобраться и настроить под себя его не очень сложно. |
|||
29
Builder
08.09.14
✎
15:33
|
(28) + Ну конечно если минимально знаешь PHP и SQL запросы :)
|
|||
30
Злой Бобр
08.09.14
✎
15:59
|
(0) Покури мануали опенкарта, там все что нужно есть.
(10) Варианта 2: - держать достаточный товарный запас; - сделать подтверждение заказа. Т.е. если в наличии нету то заявка блокируется полностью и дальше уже разруливать с клиентом. Но будьте готовы что клиенты от вас убегут. Если конечно это не "штучный" товар. |
|||
31
VBMADD
08.09.14
✎
16:32
|
Нашел бесплатный модуль
OpenCart Exchange 1C 1.5.1 Модуль позволяет обмениваться данными между интернет-магазином на OpenCart и программой «Управление торговлей - 1С:Предприятие 8» используя встроенный функционал обмена 1С по стандарту CommerceML2. Но у меня 1с7 Торговля склад. Можно ли выдернуть из 1с8 встроенный функционал обмена 1С по стандарту CommerceML2 и переделать его под 1с7 |
|||
32
VBMADD
08.09.14
✎
16:36
|
(30) мануали опенкарта, там все что нужно есть
Ссылочку дай пож-ста, покурю на досуге |
|||
33
Злой Бобр
08.09.14
✎
18:00
|
(32) Мануалы http://docs.opencart.com/display/opencart/OpenCart+1.5+Home
Бесплатные расширения (экспорт/импорт) http://www.opencart.com/index.php?route=extension/extension&filter_license=0&filter_search=export%20import P.S. Очередной ленивый 1С-неГ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |