Обмен 1с и opencart 2.1

1с и web разработка

Технологии не стоят на месте. Ранее я публиковал модуль для обмена между 1с и opencart 2.0. И вот он мне опять понадобился. Установил свеженький opencart 2.1.0.1, но не тут-то было. Пришлось все переписать

Для самых нетерпеливых новый модуль под opencart 2.1: exchange1c.ocmod

Что-же изменилось?

  1. Это самое важное для меня. Vqmod больше не нужен!!!!!
    Переписал модуль под ocmod. Это замена vqmod, начиная с версии 2.0, но только без смс и регистрации необходимости устанавливать что-то еще, кроме opencart.
    Установка простая — идем в «Установка модификаторов» — скармливаем ему zip архив, который я выше прикладывал. Далее активируем модуль, и меняем статус на «Включено». Готово.
  2. Добавил обработку событий. Опять же в 2.0. появились тригеры и ранее я запрещал opencart их обрабатывать. Теперь они есть.
  3. Нет больше модели «sale/costumer_group». В версии 2.0. она была заменена на «custumer/costumer_group»
  4. Ну и еще какой-то мелкий косяк был, который я искал больше часа, но в результате нашел и обезвредил.

Качайте, пробуйте, пишите в комментариях что получилось, а что нет.

40 комментариев

  1. […] Предлагаю Вам скачать и ознакомиться с плагином. Это не мой плагин и авторство его я себе не присваиваю. Просто переделал по версию 2.0. Качать тут (только opencart 2.0). Для 2.1 – написал отдельную статью […]

  2. Андрей:

    не работает модуль под 2.1.0.1
    устанавливается нормально, однако на первой странице имя пользователя и пароль — пустые. Забивал админовские — хрен, нет соединения, проверьте имя пользователя и пароль.
    однако, все бы было мелочью. есть другая обработка, которая соединяется и выгружает. но, опять но, когда идут картинки, выгрузка может прекратиться в любой момент с записью:
    Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен
    И все. С чем связана проблема — хостеры не отвечают, сами не знают. Когда стоял другой движок — все было нормально

  3. Олег:

    Скачал, попробовал. Все хорошо, но возникла одна проблема. При одинаковых настройках на локальном сервере все работает, а на веб пишет что «Связь с сайтом не установлена». Как и что поправить?

    • сергей:

      Была такая же проблема решил открытием файла сайт/export/exchange1c.php и была ошибка в 49 строке

      // Settings
      $query = $db->query(«SELECT * FROM » . DB_PREFIX . «setting»);

      foreach ($query->rows as $setting) {
      if (!$setting[‘serialized’]) {
      $config->set($setting[‘key’], $setting[‘value’]);
      } else {
      $config->set($setting[‘key’], unserialize($setting[‘value’]));
      }
      }

      надо вместо unserialize написать типа json_decode вроде

    • Вы нашли ответ на вопрос? у меня тоже нет соединения

  4. Юрий:

    Скачал установил.нет остатков и цен?

  5. Максим:

    OpenCart — 2.1.0.2
    1С УТ 10.3 — 10.3.35.2

    Выгружаются: цены, количества, категории, картинки.
    Загружает заказы, но пишет ошибку в логах 1С.


    Выгружено товаров: 2
    Выгружено картинок: 2
    Выгружено файлов: 0
    Выгружено предложений: 2
    Выгрузка товаров успешно завершена
    Успешно получено и обработано документов: 1
    Список обработанных документов:
      Заказ покупателя 00000000002 от 27.02.2016 2:56:28
    В том числе:
      обновлено: 1
    Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль,
    а также настройки подключения к Интернет.
    {ОбщийМодуль.ПроцедурыОбменаССайтом.Модуль(444)}: Ошибка при вызове метода контекста (Получить): Ошибка при выполнении файловой операции 'export/exchange1c.php?type=sale&mode=success': Ошибка работы с Интернет: внутренняя ошибка сервера (500). : Ошибка работы с Интернет: внутренняя ошибка сервера (500)
    Получение данных с сервера: Получен пустой ответ сервера.
    Выгружено заказов: 1
    Обмен заказами успешно завершен

  6. Данил:

    Пишет неверный тип файла. Версия 2.1.0.2. Пробовал и Opencart.CMS и ocStore и оригинальную.

  7. Добрый день,
    А вот я не могу найти настройки модуля. В OC 1.5. было Модули — Обмен данными с 1C v8.x.

    А сейчас я вижу установленный модуль только в Менеджере дополнений, но тма его можно включить-выключить и всё.

  8. Ирина:

    Товары, в которых совпадают последние 4 блока Ид, выгружаются не корректно
    Например:

    55f5a8db-014f-11e6-8820-001060d00cb0

    С274

    Игровой комплекс Солнышко-3

    10fe6a8b-014f-11e6-8820-001060d00cb0

    ДСК-4

    Домашний спорткомплекс Альпинистик ДСК-4 (трансформер)

    Подскажите пожалуйста, что с этим можно сделть?

    • Ирина:

      Вроде решилось пересозданием проблемных номенклатур. остался один косяк: не заполняются родительские категории в OC 2.1.0.2, хотя в настройках модуля проставлено. в остальном, с управлением небольшой фирмой 1.6.4.28, дружит отлично.

  9. Ирина:

    Подскажите пожалуста, что с этим можно сделать?

  10. 1С 8.3. Пробовал с разными конфигурациями УТ. Не выгружается цены, нет детального вида, категории и товар в списки выводится, а в админки его нет.

  11. Ирина:

    Выгрузка товаров проходит отлично, выгружаются и картинки и цены и количество, но загрузка заказов проходит с ошибкой:

    Интерактивный обмен
    06.05.2016 15:17:28 Запуск загрузки заказов
    Обработано: 0
    Загружено: 0
    Пропущено: 0
    Обновлено: 0
    Создано: 0
    06.05.2016 15:17:28 Завершена загрузка заказов
    Дополнительная информация:
    Нет документов для обработки.
    Произошла ошибка: Не удалось получить данные с сервера. Проверьте правильность адреса сервера, порт, имя пользователя и пароль,
    а также настройки подключения к Интернет.
    Получение данных с сервера: Получен пустой ответ сервера.
    Загрузка заказов не выполнена.

    Opencart 2.1.0.2 1С 8.2 Управление небольшой фирмой 1.6.4.28

  12. shop-truckdetal:

    Подскажите как настроить что бы количество и цены выгружал Версия ocStore 2.1.0.2.1
    в логе 1С пишет

    Выгружено товаров: 205
    Выгружено картинок: 74
    Выгружено файлов: 0
    Выгружено предложений: 205
    Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
    Обмен не выполнен
    Ответ сервера:

    Выгрузка товаров завершена с ошибками!!!

  13. Andrew:

    выдаёт ошибку

    !!!: Заполнение родительскими категориями отменено. Отсутствует main_category_id

    ocstore ocStore 2.1.0.2.1 — 1c en 10.3

    товары импортируются без ошибок, но сами категории импортируются частично, не все и из за отсутствия данного main_category_id категории не наполнены товарами

  14. Константин:

    Судя по логам, модуль разбирает только файл import.xml. Все последующие — offers.xml, import1.xml, offers1.xml — не смотрит.

    2016-05-24 8:41:55 — PHP Notice: Undefined index: meta_h1 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\totoshka.ru\admin\model\catalog\category.php on line 15
    2016-05-24 8:41:55 — Найден товар:Телевизор «JVC» арт: Т-1234561C UUID: dee6e19a-55bc-11d9-848a-00112f43529a
    2016-05-24 8:41:55 — загружаются свойства…
    2016-05-24 8:41:55 — свойства загружены…
    2016-05-24 8:41:55 — PHP Notice: Undefined index: meta_h1 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\totoshka.ru\admin\model\catalog\product.php on line 15
    2016-05-24 8:41:55 — Найден товар:Телевизор «SHARP» арт: Т-1234561C UUID: e8a71ff6-55bc-11d9-848a-00112f43529a
    2016-05-24 8:41:55 — загружаются свойства…
    2016-05-24 8:41:55 — свойства загружены…
    2016-05-24 8:41:55 — PHP Notice: Undefined index: meta_h1 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\totoshka.ru\admin\model\catalog\product.php on line 15
    2016-05-24 8:41:55 — Окончен разбор файла: import.xml

  15. Дмитрий:

    Версия 2.1.0.1 Все прекрасно устанавливается. В модификаторах появляется. А в модулях нет. Извините за дилетантский вопрос. Спасибо

  16. Артем:

    Версия 2.1.0.1 Установил. В модификаторах есть. В модулях нет.

  17. Александр:

    Всем привет, подскажите если сможете. Перенос сайт на другой хостинг (nic.ru) и перестал работать модуль, выдает ошибку session_start(): Cannot send session cache limiter — headers already sent . BOM нету, проверял… Сервер UNIX-way. Может нужно настроить php?

    • Александр:

      Проблема решена! Если вдруг у кого будет такая ошибка

      Notice: unserialize(): Error at offset 0 of 29 bytes in /мой_сайт/export/exchange1c.php on line 49
      Notice: unserialize(): Error at offset 0 of 9 bytes in /мой_сайт/export/exchange1c.php on line 49
      Notice: unserialize(): Error at offset 0 of 22 bytes in /мой_сайт/export/exchange1c.php on line 49
      Notice: unserialize(): Error at offset 0 of 5 bytes in /мой_сайт/export/exchange1c.php on line 49
      Notice: unserialize(): Error at offset 0 of 70 bytes in /мой_сайт/export/exchange1c.php on line 49
      Warning: session_start(): Cannot send session cache limiter — headers already sent (output started at /мой_сайт/export/exchange1c.php:49

      То решается это включением output_buffering и заменой unserialize на json_encode.

  18. mytraz:

    Версия ocStore 2.1.0.2.1
    Неверный тип файла!

    как так?

  19. mytraz:

    Не выгружаются остатки и цены

    Обмен завершается ошибкой
    Выгружено товаров: 56
    Выгружено картинок: 71
    Выгружено файлов: 0
    Выгружено предложений: 56
    Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
    Обмен не выполнен
    Ответ сервера:

    Выгрузка товаров завершена с ошибками!!!

    Контекст ошибки умалчивается

  20. Денис:

    Столкнулся с такой ситуцией, вроде все норм, тестирую сайт…Но вот перенес весь товар из 1с, далее решил его удалить с сайта и по новой, но не тут то было, создает только категории а товаров нет…а иногда и категории не создает. Ни кто не знает, как решить?

  21. Александр:

    Спасибо за модуль!
    И хотел поделиться доработкой.
    Не выгружались производители 1С 8.3 УТ

    После else { $data[‘status’] = 1; }

    добавил :

    if ($product->Изготовитель) {
    $manufacturer_name = (string)$product->Изготовитель->Наименование;
    $query = $this->db->query(«SELECT manufacturer_id FROM «. DB_PREFIX .»manufacturer WHERE name='». $manufacturer_name .»‘»);
    if ($query->num_rows) {
    $data[‘manufacturer_id’] = $query->row[‘manufacturer_id’];
    }
    else {
    $data_manufacturer = array(
    ‘name’ => $manufacturer_name,
    ‘keyword’ => »,
    ‘sort_order’ => 0,
    ‘manufacturer_store’ => array(0 => 0)
    );

    $data_manufacturer[‘manufacturer_description’] = array(
    $language_id => array(
    ‘meta_keyword’ => »,
    ‘meta_description’ => »,
    ‘description’ => »,
    ‘seo_title’ => $manufacturer_name,
    ‘seo_h1’ => $manufacturer_name
    ),
    );

    $manufacturer_id = $this->model_catalog_manufacturer->addManufacturer($data_manufacturer);
    $data[‘manufacturer_id’] = $manufacturer_id;

    //только если тип ‘translit’
    if ($this->config->get(‘exchange1c_seo_url’) == 2) {
    $man_name = «brand-» . $manufacturer_name;
    $this->setSeoURL(‘manufacturer_id’, $manufacturer_id, $man_name);
    }
    }
    }

  22. Александр:

    Здравствуйте, установил этот модуль, работает верой и правдой только с небольшой ошибкой при выгрузке bmp файлов. Подскажите пожалуйста, как сделать что бы при выгрузке не сбивался тег title в категориях. вот как настроен на данный момент:
    Сбрасывать товары — Да
    Сбрасывать категории — Нет
    Сбрасывать производителей — Нет
    Сбрасывать атрибуты — Нет
    Сбрасывать количество товаров — Да
    Заполнять родительские категории — Да

    из-за этого не могу нормально оптимизировать сайт. Заранее спасибо за помощь.

  23. Алексей:

    Кто-то заморачивался чтобы склады прикрутить к этому модулю?

  24. Здравствуйте, можете помочь в настройке модуля? установил модуль, в модификаторах и модулях все отображается вроде гуд. но при попытке подключиться с 1С выдает ошибку. » Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль.» хотя уже пробовал с другими данными.

  25. Jeki4:

    Не выгружаются товары и категории вообще. Opencart 2.0. выгрузку настроил, Соединение есть, но при выгрузке думает, думает и выдает ошибку (1с) http://joxi.ru/VrwbKnptKXJYDA Кто сможет по мочь?

  26. подскажите плиз, как настроить?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *