Стояла задача выгрузить заказы из Joomla в 1С. Посмотрел в интернете, и тут на сайте. Находил либо платные, либо не совсем подходящие для меня решения. Попробовал написать что-то свое.
Скачать файл
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
- Из 1С запускается php-файл, который находится на сервере.
- Он проверяет, появились ли новые заказы (ищет по статусам), при появлении новых - формирует xml-файл
- 1С проверяет ответ ответ от сервера, в случае если он положительный, по ftp забирает сформировавшийся файл и разбирает его. Формирует новых контрагентов, ругается если не нашлась номенклатура (поиск по артикулу). И в финале создает заказ. Работает под немного нетиповую конфигурацию. Думаю, разобраться не сложно.
Может, для кого-нибудь моя доработка пригодится. Буду рад. По аналогии можно выгружать номенклатуру, изменения статусов и т.д. ...
Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 3.0.
Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.
Поддерживает работу от разных юридических лиц.
Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).
Интегрировано в Чек ККМ, Рабочее место кассира (РМК)
Интеграция сервиса dolyame.ru с 1С:Розница 2.3 для приема платежей в рассрочку. Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Поддерживает работу от разных юридических лиц.Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).
Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.
Сервис парсинга цен на маркетплейсах помогает отслеживать и проводить анализ цен для Ozon, Wildberries, Мегамаркет и т.д. только для одного региона – Москва и Московская область. Выполняйте анализ и контролируйте цены Ваших конкурентов сразу в системе 1С.
Внешняя обработка адаптирована для 1C: УТ 11, предназначена для наполнения вашей базы данных товарами и сопутствующей информацией, предоставляемой b2b.4tochki.ru, обновления остатков и цен.
Расширение предоставляет возможность создавать и редактировать номенклатуру с большим количеством характеристик и фотографий для них в один присест. Экономит время наполнения сайта товарами с нескольких минут на позицию до одной. Встроенный функционал сжатия фотографий. Простота и удобство позволяют значительно сэкономить время на типовых операциях и дисковое место под фотографии товара.
Честно вот только в одном могу поругать, нафига в картинки поставил заставку с пустой формой обработки - ведь смысловой нагрузки, то в этой картинке ноль! А так молодца. :)
а я вот не понял... joomla бесплатный CMS. используется для разработки сайтов... структура сайта во многом зависит от шаблона который натянул, да и от самой структуры сайта... в чем прикол?
минус поставил за то, что я не понимаю назначение разработки... какие заказы? в чем смысл php файла? как он подключается к MySQL, где задавать параметры подключения, как он определяет структуру таблиц и т.п. и т.п.
че тут коментаторы коментируют, за шо плюсы ставят?
(8) WKBAPKA, Спасибо за честность. Если какие-то проблемки или что-то не совсем понятно пишите постараюсь ответить.
та напостил я фигни... в заголовке лучше было акцентировать внимание на то что это VirtualMart... я пасатрел, джумла... думаю, как...
а магазин ставили, тяжелый зараза.. но если сможете помочь, буду очень благодарен и в долгу не останусь!
На форуме джумлы была подобная разработка, но там идёт обмен в двух направления, из УТ выгружаются товары с ценами, а с сайта загружаются заказы. Правда сейчас не знаю в каком она состоянии, доделали ли, но разработка полезная, однозначно!
Может так оно и правильно, но мне кажется, что подключиться к mySQL из 1С и послать несколько запросов было бы куда вернее. А так получается связка такая: 1С - HTTP - PHP - mySQL - XML, а потом еще 1С - FTP.
В моем варианте это просто 1С - mySQL
И самое главное забыл: Так конечно ты молодцом. Интеграция - наше фсе.
(14) opx, Конечно согласен что напрямую запросы гораздо проще.... но когда сайт на хостинге и закрыто все кроме ftp... пришлось извращаться...
(21) timbax, joomla 1.5.15 virtuemart 1.1.9
(13) konfed, обратную загрузку на том же принципе (складсой остаток) выложу на днях
(23) "когда сайт на хостинге и закрыто все кроме ftp"
Ну понятное дело что на хостинге сайт, а как же иначе.
Кто (или что) мешает в админ панели хостинга открыть доступ к MySQL ?
(27) При чем тут все в мире хостеры ? :-) Просто я выбираю хостера по множеству критериев. Возможность доступа к MySQL - это один из критериев.
В эпоху рыночной экономики потребитель голосует своим кошельком. Ограничение какого то определенного хостера - это не повод для построения архитектуры решения.
Я не собираюсь Вам ничего "втирать". Просто высказал свое мнение касательно Вашего поста. И "зубы" мои попрошу оставить в покое :-)
(23)А я позвонил хостинг-провайдеру и сказал, что на другой хостинг пойду - у которых есть такая возможность и они мне сразу ее дали. А так бы 100% ушел.
(28) Ну, вы молодец, но здесь решение технической задачи с заданными условиями - зачем как Z-z-z, расширять условия, таким способом, который гарантированно результата может не дать и не зависит от технических условий задачи?
(14) "правильные админы не дают доступ к mysql"
Доступ к MySQL открывается только для заданного списка IP адресов. Угроза безопасности при этом ничтожна. FTP взломать брутфорсом гораздо проще.
Другое дело что может нет доступа к админпанели хостинга... Но что это за хостинг такой несерьезный без админпанели.
(42) сам пример передачи данных 1с-mySQL
Вот есть вариант 1С-php-mySQL
интересно взглянуть, как реализовано напрямую, тем более - говорите, что одной обработкой - сразу в mySQL ))
есть еще связки 1С-http-mysql и 1С-webservice-xml (как в prestashop, в последних версиях), но самое простое и быстрое(в смысле разработки) это так, как сделал автор.
konfed пишет:
хорошо бы было увидеть в описании и ссылочки на другие работы подобной направленности о чем автор и упомянул в начале своей статьи.
Вот посмотрите, может пригодится. Ссылка Я следил за проектом с самого начала. Сейчас вроде работает в двух направлениях и вроде стабильно, не проверял последнюю версию.
Раз уж речь зашла о Виртуе... По поводу того что Виртуймарт "тяжелый" - вот интернет магазин http://ibaby.com.ua/ с более чем 3500 страниц.
Работает вполне приемлемо по скорости. Причем надо отметить, что кеширование отключено. Просто не стоит использовать в Виртуймарте некоторые его модули, которые неоптимально написаны и реально создают высокую нагрузку на сервер. Это, например, модуль случайных товаров, дерево категорий. Ну и хостинг надо выбирать нормальный не за 2$ в месяц, а за 7-10$ оптимизированный для CMS типа Joomla.
Если говорить о движках ИМ - уже более полугода наблюдаю за проектом http://www.hikashop.com/, но все как то не хватает времени его полностью освоить и интеграцию с 1С сделать. Рекомендую обратить на него внимание. Очень качественно написанный код и обширный функционал, а главное весьма активная команда разработки - все (ну или почти все) пожелания реализуются разработчиками.
По поводу обмена с ИМ - мое мнение, что более оптимального варианта чем прямой доступ через ODBC к базе на MySQL не придумаеш. Можно строить сколь угодно изощренную логику обмена и весь обмен в виде обработки на 1С. По скорости ODBC - наверное не самый быстрый вариант, но при правильном подходе много обменивать и не нужно (только изменения). Недостаток - надо открывать доступ для определенного IP к MySQL.
(50) Написал экспорт из 1С в базу HikaShop. Прямой экспорт в БД MySQL. Вот результат http://ibaby.com.ua/shop Поломал голову в плане оптимизации количества запросов, т.к. оно напрямую связано с временем экспорта.
Отслеживаю изменения в 1С при помощи плана обмена и храню в 1С в регистре соответствие HikaShop ID и объектов 1С. Это позволяет понимать надо ли добавлять объект в БД или только обновить. Цены тоже сначала сравниваю, потом обновляю отличающиеся. Вобщем достаточно эффективно получилось. Еще осталось разобраться с экспортом дополнительных полей, которые будут использоваться в фильтре.
(21) Joomla 1.5, Virtuemart точно не помню релиз, кажется 1.6
Направление Virtuemart 2.0 тупиковое - разработчики Виртуя не успевают за разработчиками Joomla 1.6/1.7
Joomla 1.7 мне очень понравилась. Порадовался что при выборе CMS не остановился на Drupal, а выбрал Joomla.
Поэтому "на будущее" выбрал HikaShop. Там есть и бесплатная версия с ограниченным функционалом и за 100 евро бизнес версия с полным функционалом.
Однако "по факту" и Виртуй в целом получается не бесплатный - практически все качественные дополнения к нему от сторонних разработчиков платные.
Сорри за в некотором роде офтопик.
Я ни в коей мере не оспариваю примененное автором решение. Кому что больше нравится - выбирать архитектуру решения в зависимости от хостера или выбирать хостера в зависимости от архитектуры решения. Лично мне больше нравится более простая архитектура. Вот т все что я хотел сказать.
(34) порты закрыты и все, вот что это значит, открыт только 80 http у внешнего сервака, который является клиентов mysql, а внутри у хостера находится mysql .
(35) да, можно и называется http туннелинг, я это выше указал. Для тех, кто хочет больше http://habrahabr.ru/blogs/sysadm/70381/
В общем-то стандартное решение выгрузки.... Но все же есть "НО".
Никто не смотрел на сервере как вызов типа "Соединение = Новый FTPСоединение("",21,"","",,ложь);" подвешивает его хоть при активном, хоть при пассивном соединении? Такая выгрузка приемлема когда не много заказов падает с сайта (100-200 в день) и период "опроса" 1раз >= 20мин. При загрузке 200-300 заказов/в час таким способом, сервера уходят в "максимальную загрузку" и вот тогда начинаются тормоза на самом сайте! Обработать и создать кучу заказов из "килотонных" XML от 1С тоже требует затрат ресурсов....
При этом возникает еще одна задача: передать на сайт информацию "сформирован или нет" заказ в 1С по каждой позиции.... соответственно либо создаем новый файл XML, либо редактируем этот.... А потом пусть сервер переваривает ответный XML.