Релиз mSync версии 1.2.0


В новой версии компонента mSync улучшено множество деталей, которых не хватало разработчикам интернет магазинов по результатам обращения в техподдержку.

  • Добавлена возможность независимой ручной загрузки файлов import.xml и offers.xml — теперь нет необходимости загружать оба файла, если, например, вы меняете только цены и остатки уже существующих товаров.
  • Добавлена автоматическая поддержка пользовательских множественных свойств — ранее добавить свое свойство, которое работало бы аналогично цветам и размерам было большой проблемой, теперь такие свойства выбираются на этапе настройки свойств синхронизации
  • Добавлены ключевые свойства для связи товаров с ресурсами MODX (теперь не только по uuid) — если товар не будет найден по идентификатору 1С, то компонент попробует поискать его по совокупности полей, отмеченных как ключевые. Например, если у вас все товары имеют разный артикул и уже созданы на сайте, то по ключевому полю артикул они сопоставятся с товарами, пришедшими из 1С.
  • Добавлена возможность сопоставления категорий 1С с ресурсами MODX по имени (через настройку) — аналогично теперь можно сопоставлять категории 1С с существующими категориями на сайте просто по имени
  • Реализовано более простое добавление кастомных свойств в плагине на событие mSyncOnBeforeImportProduct — теперь, чтобы добавить свойства и характеристики в товар достаточно добавить их в $data['characteristics']['properties'] или $data['characteristics']['features']
Так же улучшены и исправлены многие недочеты пользовательского интерфейса:
  • Добавлено сохранение открытой вкладки компонента в браузере
  • Добавлена кнопка для очистки логов компонента

  • Добавлен показ общего количества предложений во время синхронизации
  • Добавлена поддержка 4-байтовой кодировки UTF8 в таблицах компонента
  • Добавлено стандартное свойство Ид (uuid из 1С) при установке компонента
  • Добавлена настройка удалять ли временные файлы при синхронизации
  • В событие mSyncOnProductOffers теперь передается объект торгового предложения $offer
  • Ускорена обработка торговых предложений
  • Исправлены мелкие баги
Новая версия уже в магазине приложений modstore.
Виталий Киреев
26 декабря 2020, 10:14
modx.pro
2
1 466
+14

Комментарии: 11

Евгений Лазарев
05 января 2021, 17:12
0
Супер! Будем тестить.
    Евгений Лазарев
    08 января 2021, 14:58
    0
    Виталий, было бы здорово добавить удаление файлов каталога и предложений из админки с 3ей вкладки. Для менеджера, когда необходимо загрузить к примеру только offer.xml, то с первого раза получится. Но во второй раз когда нужно загрузить напишется, что этот файл уже есть. Само собой менеджера никто не допустит к файловой системе чтобы не удалил нужное.
      Виталий Киреев
      19 января 2021, 07:31
      0
      Надо посмотреть, если это возможно в данном компоненте, то сделаю, чтобы файлы просто каждый раз перезаписывались при загрузке со страницы компонента. Там используется стандартный загрузчик из MODX.
        Евгений Лазарев
        19 ноября 2021, 12:29
        0
        Виталий подскажите пожалуйста с версией 1.2.1 почему то для выгрузок в 1000 и более товаров стала прерываться на этапе загрузки изображений с 500 error. В общем логе ничего. Ответ 1С
        Отправка запроса на авторизацию.
        Отправка запроса на инициализацию, для определения версии обмена данных.
        {ОбщийМодуль.Б_ОбщиеПроцедурыИФункцииОбменаССайтом.Модуль(2462)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
        Соединение.ОтправитьДляОбработки(ПолноеИмяФайла, СокрЛП(ПараметрыЗапроса), ИмяФайлаОтвета, СокрЛП(Заголовки));
        по причине:
        Ошибка при выполнении файловой операции 'assets/components/msync/1c_exchange.php?type=catalog&mode=file&filename=import_files/116327_1.jpg&'
        по причине:
        Ошибка работы с Интернет: внутренняя ошибка сервера (500). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
        <html><head>
        <title>500 Internal Server Error</title>
        </head><body>
        <h1>Internal Server Error</h1>
        <p>The server encountered an internal error or
        misconfiguration and was unable to complete
        your request.</p>
        <p>Please contact the server administrator at
        webmaster@yahont.online to inform them of the time this error occurred,
        and the actions you performed just before this error.</p>
        <p>More information about this error may be available
        in the server error log.</p>
        </body></html>
        
        по причине:
        Ошибка работы с Интернет: внутренняя ошибка сервера (500)
        Произошла ошибка на стороне сервера. Не получен статус завершения операции. Файл не отправлен (C:\Users\Пользователь\AppData\Local\Temp\3 001 078 109\webdata\000000002\goods\0\import_files\116327_1.jpg).
        Ответ сервера:
        <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
        <html><head>
        <title>500 Internal Server Error</title>
        </head><body>
        <h1>Internal Server Error</h1>
        <p>The server encountered an internal error or
        misconfiguration and was unable to complete
        your request.</p>
        <p>Please contact the server administrator at
        webmaster@yahont.online to inform them of the time this error occurred,
        and the actions you performed just before this error.</p>
        <p>More information about this error may be available
        in the server error log.</p>
        </body></html>
        
        Ответ сервера: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
        <html><head>
        <title>500 Internal Server Error</title>
        </head><body>
        <h1>Internal Server Error</h1>
        <p>The server encountered an internal error or
        misconfiguration and was unable to complete
        your request.</p>
        <p>Please contact the server administrator at
        webmaster@yahont.online to inform them of the time this error occurred,
        and the actions you performed just before this error.</p>
        <p>More information about this error may be available
        in the server error log.</p>
        </body></html>
        Подскажите в чем может быть проблема. Все лимиты увеличены до упора.
      Семён Кудрявцев
      18 января 2021, 21:08
      +1
      Новая настройка «удалять временные файлы при синхронизации» в выключенном состоянии ломает синхронизацию только с изменениями.
      Процесс начинает писать в уже существующие файлы, ну а это уже в свою очередь нагибает парсер и весь процесс ложится с ошибками.
      И ещё одна небольшая хотелка, если будет время и возможность:
      Сделать возможность скрытия из меню товаров, приходящих с нулевым количеством, так как снятие с публикации это сразу 404 ошибка и сеошники сразу начинают есть мозги, что товары нужно просто прятать от пользователей, но оставлять рабочими для поисковиков. Уже раз 10 попадались сайты клиентов с Вашим компонентом, везде приходилось дописывать этот функционал. Думаю это будет полезным прямо из коробки.
        Виталий Киреев
        19 января 2021, 07:41
        0
        Режим «не удалять временные файлы» скорее отладочный. Для обычной работы его лучше не использовать.

        Подумаю насчет отдельной настройки «Убирать из меню при нулевом количестве».
        Николай Савин
        04 февраля 2021, 21:27
        0
        Нашел ошибку.
        Файл msynccataloghandler метод getCategoryData строка 628
        Должна проверяться настройка $this->config['category_by_name'] а не $this->config['parent_by_name']
        Из за этого сопоставление по имени не работает
          Дмитрий
          08 февраля 2021, 17:07
          0
          Добрый день! Есть магазин рабочий на minishop2, стоит задача синхронизации заказов с 1с, хотел бы уточнить перед покупкой плагина, возможно ли настроить синхронизацию только заказов? что бы заказы с сайта улетали в 1с
            Константин
            15 февраля 2021, 10:46
            0
            Приветствую, нам техподдержка 1с ответила так: prntscr.com/zkpa7y
            Можем ли мы реализовать данную синхронизацию с помощью вашего компонента?
              JRabbit
              12 июля 2022, 13:46
              0
              Добрый день! Нужно сделать синхронизацию modx с 1с для автосервиса… где будут выводиться свободные для записи на обслуживание дата/время в заявке и эта заявка должна уходить в 1с… соответственно выбранная дата будет пропадать из списка предлагаемых.

              Такое можно реализовать с помощью этого модуля?
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              11