v7: Обмен данными 1с интернет магазин #719359


#0 by VBMADD
Привет братьям по разуму! Столкнулся с такой проблемой: есть интернет магазин на основе OpenCart и 1с77 Торговля склад как осуществить обмен туда-сюда остатками товаров. т.е. интересует формат и алгоритм обмена, подскажите, еже ли кто сталкивался с ентим. Спасибо всем, кто откликнулся.
#1 by Андрюха
в ОпенКарте есть загрузка из xml, сделай выгрузку из 1С в нужном формате.
#2 by VBMADD
Спасибо, где взять сам формат
#3 by VBMADD
т.е. нужна структура  формата xml
#4 by VBMADD
в ОпенКарте есть загрузка из xml - Это встроенная функция?
#5 by Builder
Туда-сюда - это как? Для начала надо определиться с тем, что тебе надо загружать-выгружать. Потом найти модуль для opencart, который это умеет делать. Под него и писать выгрузку-загрузку. Мне например, надо было цены обновлять регулярно. Нашел похожий модуль по загрузке товаров из csv, переделал его под свои нужды и все работает. Встроенной загрузки в opencart вроде нет.
#6 by VBMADD
Директор хочет чтобы:   Прграмма 1с77 Торговля склад торгует в обычном магазине и параллельно в интернет магазине. Поэтому нужно ежечасно обновлять остатки товаров в интернет магазине. Возможен ли такой режим и правильна ли такая постановка задачи?
#7 by VBMADD
Причем база данных одна и таже
#8 by kokamoonga
правильность постановки задачи зависит от бизнес-процессов. Если ежечасного обновления достаточно, значит задача поставлена верно. Режим такой возможен. Как и, например, обновление по событию в 1С
#9 by VBMADD
Понятно, что синхронизацию баз можно осуществлять и еже минутно
#10 by VBMADD
Так же понятно и то, что возможны коллизии, например один и тот же товар решили приобрести одновременно и в рознице и в интернет магазине... Как разруливать такую ситуацию?
#11 by kokamoonga
Я не совсем то имел в виду. На мой взгляд выгрузка должна быть ориентированной на события в 1С. То есть произошло резервирование в базе. По событию элемент выгрузки пишется в очередь, а оттуда при первой возможности выгружается на сайт.
#12 by kokamoonga
См.
#13 by Aleksey
Это не спасет А как вы разруливаете ситуация, когда клиент заказал, а складе не нашел? Даже когда ты ручками заявку в базе набиваешь у тебя все равно может быть ситуация когда в подборе была, а когда проводишь заявку - её уже нет
#14 by Aleksey
Никогда в инет магазине не заказывал? Обычно менеджер перезванивает и говорит, извините сейчас этого нет.
#15 by kokamoonga
>>> Это не спасет Это снижает вероятность коллизий до приемлемого минимума. Полностью решить коллизии можно только объединением баз данных 1С и интернет-магазина, что довольно утопично.
#16 by КонецЦикла
Сталкивался, гумно, переписал все нахрен на прямой доступ к базе сайта на MySQL.
#17 by Aleksey
это почему? " а оттуда при первой возможности выгружается на сайт." и т.е. у тебя возможность выгрузки раз в час, т.е. как это изменит коллизию? Или речь о вебсервисе, когда после проведения программа стучится на сайт и правит остатки?
#18 by kokamoonga
Ты все прочитал как тебе удобно. Причем здесь веб-сервис? Способ выгрузки вообще неважен. Хоть веб-сервис, хоть прямой доступ к мускулу, хоть API хоть еще стопиццот других вариантов. Важно само устройство выгрузки. Событие -> Очередь -> Выгрузка При первой возможности означает немедленно, если ничего не мешает. Иногда, например, может прилечь канал. Для этого нужна очередь. В общем же случае выгрузка происходит немедленно после наступления события.
#19 by VBMADD
Похоже что у наиболее правильный подход...
#20 by VBMADD
Можешь ли поподробней изложить суть?
#21 by Галахад
Конечно. Придумать свой механизм, а не использовать типовой, это самое правильное решение.
#22 by kokamoonga
У голого подхода в   та же проблема, что и у любого другого. См.
#23 by КонецЦикла
Регистрировались изменения в таблицах SQL, затем периодически передавались. Движок специфический, на друпале, так что немного помучался :) Если есть необходимость выгрузки остатков, статусов - храню текущие выгруженные данные, при выгрузке они сравниваются с актуальными, отличия передаются и по кругу... Но если есть проблема именно в оперативном обмене - все можно решить... все зависит от бюджета проекта.
#24 by kokamoonga
Типовым механизмом будет являться, что угодно, если это реализовано в рамках возможностей платформы. ADO, OLE вполне себе возможности платформы. Типовые xml-обмены и типовые веб-сервисы придуманы для тех, кто не в состоянии или просто не желает воспользоваться более оптимальными подходами.
#25 by Галахад
Сделать можно все. Вопрос только в затраченном времени.
#26 by Builder
Прямой доступ к MySQL это конечно хорошо, но не все хостинги это позволяют и не все готовы открывать такой доступ.
#27 by VBMADD
Нашел похожий модуль по загрузке товаров из csv... Не подскажешь ли какой модуль и где нашел?
#28 by Builder
"Импорт CSV файла с сервера поставщика" Купил аж за 350 руб! Разобраться и настроить под себя его не очень сложно.
#29 by Builder
+ Ну конечно если минимально знаешь PHP и SQL запросы :)
#30 by Злой Бобр
Покури мануали опенкарта, там все что нужно есть. Варианта 2: - держать достаточный товарный запас; - сделать подтверждение заказа. Т.е. если в наличии нету то заявка блокируется полностью и дальше уже разруливать с клиентом. Но будьте готовы что клиенты от вас убегут. Если конечно это не "штучный" товар.
#31 by VBMADD
Нашел бесплатный модуль OpenCart Exchange 1C 1.5.1 Модуль позволяет обмениваться данными между интернет-магазином на OpenCart и программой «Управление торговлей - 1С:Предприятие 8» используя встроенный функционал обмена 1С по стандарту CommerceML2. Но у меня 1с7 Торговля склад. Можно ли выдернуть из 1с8 встроенный функционал обмена 1С по стандарту CommerceML2 и переделать его под 1с7
#32 by VBMADD
мануали опенкарта, там все что нужно есть Ссылочку дай пож-ста, покурю на досуге
#33 by Злой Бобр
Мануалы Бесплатные расширения (экспорт/импорт) P.S. Очередной ленивый 1С-неГ
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С