Стояла задача выгрузить заказы из Joomla в 1С. Посмотрел в интернете, и тут на сайте. Находил либо платные, либо не совсем подходящие для меня решения. Попробовал написать что-то свое.
Скачать файл
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
- Из 1С запускается php-файл, который находится на сервере.
- Он проверяет, появились ли новые заказы (ищет по статусам), при появлении новых - формирует xml-файл
- 1С проверяет ответ ответ от сервера, в случае если он положительный, по ftp забирает сформировавшийся файл и разбирает его. Формирует новых контрагентов, ругается если не нашлась номенклатура (поиск по артикулу). И в финале создает заказ. Работает под немного нетиповую конфигурацию. Думаю, разобраться не сложно.
Может, для кого-нибудь моя доработка пригодится. Буду рад. По аналогии можно выгружать номенклатуру, изменения статусов и т.д. ...
Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.
Поддерживает работу от разных юридических лиц.
Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).
Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.
Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 3.0.
Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.
Поддерживает работу от разных юридических лиц.
Работа: в составе РИБ, отдельно от РИБ, тонкий, толстый клиент, web-клиент (через интернет-браузер).
Интегрировано в Чек ККМ, Рабочее место кассира (РМК)
Склад Вашего магазина онлайн в Telegram. С картинками, ценами, описанием и характеристиками.
Используйте Telegram как торговую площадку и увеличивайте продажи.
Сервис парсинга цен на маркетплейсах помогает отслеживать и проводить анализ цен для Ozon, Wildberries, Мегамаркет и т.д. только для одного региона – Москва и Московская область. Выполняйте анализ и контролируйте цены Ваших конкурентов сразу в системе 1С.
Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24
Программа позволяет одним кликом настроить сбор цен ваших конкурентов или дилеров в интернете. Автоматически собирает данные результата поиска Яндекса (вам не придется вручную добавлять каждый сайт, за которым нужно следить). Обновление цен происходит по заданному вами расписанию автоматически. Можете легко отслеживать позиции вашего сайта в Яндексе по ключевым словам и фразам. Этот инструмент даст вам лучшее понимание того, как ваша SEO-стратегия влияет на видимость вашего сайта в поисковой выдаче, и поможет вам улучшить контент и структуру сайта для повышения его позиций. Функция доступна во всех тарифах.
Честно вот только в одном могу поругать, нафига в картинки поставил заставку с пустой формой обработки - ведь смысловой нагрузки, то в этой картинке ноль! А так молодца. :)
а я вот не понял... 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.