Virtuemart 1.x синхронизация с 1с

Category: Joomla 1.5
Posted on: 10.01.2013 в 05:20 - 2 комментария - Visited 4632 times

Выкладываю в свободное пользование компонент для Joomla 1.5 + Virtuemart 1.x синхронизацию с 1с по протоколу OS Commerce 2.0. Делаю это в виду того, что эта версия устарела и более не представляет коммерческого интереса (то есть денег на ней не заработать больше). Это последняя моя разработка, претерпевшая кучу изменений и дополнений с улучшениями. Что оно умеет:

  • Поддержка хостингов с ограничением выполнения скриптов по времени (директива progress)
  • Поддержка ZIP с 1с (можно отключить)
  • Автоматическое создание миниатюр
  • Поддержка Полного экспорта и экспорта Только изменений
  • Обмен данными о пользователе
  • Поддержка нескольких групп покупателей и цен
  • Минимум настроек, максимум качества
  • По сравнению с конкурентами — минимальная нагрузка на сервер + нереальное быстродействие
  • Автоматически сохраняет выгруженные заказы и меняет статусы
  • Поддерживает полный обмен информации о заказах (изменеия из 1с вносятся и на сайт)

 

В виду того что разработка прекращена, доработки скрипта не будет. (если только эксклюзивно и за деньги)

Замечания:

во время эксплуатации были замечены следующие проблемы:

  • Собственно ZIP. если его использовать, то выгрузка происходит на порядок быстрее. Но если административный скрипт распаковки использует ZIP-адаптер Joomla! то синхронизатор использует только возможности встроенной библиотеки php ZIP_archive. А не встречал ещё хостинга, который бы его не поддерживал, но ТЕОРЕТИЧЕСКИ использвание его может быть затруднено. Также очень не рекомендую использовать ZIP, если у вас много товаров с кучей картинок.Импорт не будет успешным, если выгрузится архив, больше отведённой памяти для распаковки, к примеру.
  • php Авторизация. Было раз на одном хостинге, php не поддерживало авторизацию. Если при тесте из 1с авторизация не удачна, хотя всё введено правильно, можно этот процесс убрать из файла стыковки.
  • Дла экспорта только изменений в 1с надо будет создать соответствующую таблицу (по умолчанию этого нет)
  • При отсутствии новых заказов для экспорта, скрипт выдаёт 1с команду success. По умолчанию этого в алгоритме синхронизации нет и 1с отлавливает ошибку синхронизации. Варианта выхода 2 — забить на это и знать что ошибка синхронизации заказов — это просто отсутствие новых или попросить штатного 1с-ера добавит в алгоритм обмена 1с добавить этот момент.
  • Ещё один момент — рекомендую почитать отличия полной синхронизации и только изменений, дабы не возникало непонимания и лишних вопросов.
  • Дополнительные поля из 1с вносятся в дополнительное поле в Virtuemart, Таблица «jos_vm_product», поле «aditional» в формате «название=значение» каждое с новой строки.

Если вы захотите отблагодарить меня, то можете сделать это на соответствующей странице на сайте (хотя за 2,5 года ещё никто копейки не прислал)…

скачать можно здесь . В сборку включены ещё драйверы эмулятора ХАСП для 1с, если у вас она немного не купленная

2 комментария on “Virtuemart 1.x синхронизация с 1с”

1
ptipti

ДОПОЛНЕНИЕ:
Если php на сервере установлен как CGI (прямой пример: 1с не проходит авторизацию, хотя логин и пароль заведомо верные), надо:
открыть в корне сайта в папке «sync» файл «sync.php», найти в 2 местах:
$username = trim ($_SERVER[‘PHP_AUTH_USER’]);
$password = trim ($_SERVER[‘PHP_AUTH_PW’]);
заменить это на
list($username, $password) = get_user_password();
Открыть файл «functions.php» и добавить функцию
function get_user_password() {
if (isset($_SERVER[‘PHP_AUTH_USER’]) && isset($_SERVER[‘PHP_AUTH_PW’])) return array($_SERVER[‘PHP_AUTH_USER’], $_SERVER[‘PHP_AUTH_PW’]);
$cgi = isset($_SERVER[‘HTTP_AUTHORIZATION’]) ? $_SERVER[‘HTTP_AUTHORIZATION’] : isset($_SERVER[‘REDIRECT_HTTP_AUTHORIZATION’]) ? $_SERVER[‘REDIRECT_HTTP_AUTHORIZATION’] : FALSE;
if ($cgi) return explode(‘:’, base64_decode(str_replace(‘Basic ‘, », $cgi)));
echo FAIL.»\n».’Server does not support Header Authorization’;
}

28.03.2013 on 03:06
2
Павел

Скачать нельзя, файл удален :((((

18.01.2016 on 09:10

Добавить комментарий

Включите изображения, чтобы увидеть вопрос *