[mSync] Новая версия синхронизации с 1С
После длительной разработки, хочу представить вам новую версию дополнения для синхронизации интернет-магазинов miniShop 2 с сервисами, поддерживающими обмен по протоколу CommerceML, в первую очередь с «1С. Управление торговлей» на базе «1С Предприятие» версии >= 8.0.
Дополнение mSklad было полностью переработано изнутри, поэтому mSync было решено выпустить отдельно — он не имеет обратной совместимости с предыдущими версиями. Но благодаря переработке появились большие возможности по развитию дополнения в будущем. При этом техподдержка старой версии mSklad, будет так же действовать 1 год с момента покупки.
Изменения относительно дополнения mSklad:
— Добавлено большое количество событий во время синхронизации, что позволит намного гибче, чем раньше, настроить обмен между 1С и вашим интернет-магазином. В старые события теперь передаются все необходимые для плагинов данные.
— Логирование всего процесса синхронизации в единственный текстовый файл для каждой выгрузки в двух режимах: полное — весь процесс синхронизации (для дебага), сокращенное — краткий отчет о проделанной выгрузке.
— Запуск синхронизации в ручном режиме: то, что раньше нужно было выполнять по методичке с сайта geek.pro (ныне закрытого), можно теперь сделать в пару кликов мыши.
— Добавлено автоматическое создание TV для типов цен при включении соответствующей настройки, как это было сделано для свойств товаров.
— Практически полностью переработан код дополнения.
— Убрана поддержка устаревшего протокола обмена с сервисом МойСклад. Если вы хотите синхронизироваться с этим сервисом по его собственному новому протоколу (не CommerceML), используйте дополнение SyncMoySklad. Синхронизация с сервисами Класс365 и МойСклад по-прежнему поддерживается через протокол CommerceML.
— Убрано ограничение по загрузке каталога в корень сайта.
— Написана документация на docs.modx.pro
— Другие мелкие фиксы ошибок и исправления логики.
Дополнение скоро будет доступно в магазине modstore.pro
Комментарии: 88
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
А если я купил mSync прошлой версии, на эту версию бесплатно я уже не обновлюсь, да?
Подскажите пожалуйста, а каким образом запускается непосредственно процесс синхронизации?
По крону на сайте?
Или настраивается в 1С в узле обмена с web сайтом?
Интересует насколько быстро можно передавать заказы с сайта в 1С, чтобы случайно не возникала «пересортица».
Поскольку вопросов много:
— какие реквизиты заказчика передаются в 1с?
— что происходит, если заказчик заказывает первый раз, или наоборот заказывает повторно. Как не дублируются данные?
— как происходит выгрузка картинок из 1С, сам механизм.
— как настроить выгрузку «изменений в 1С», например продали товар офлайн и нужно сообщить сайту, что доступное количество товаров изменилось.
и т.д. и т.п.
Пишите в поддержку Виталию modstore.pro/office/support.
Поменяйте на это:
А то так до конца жизнь пользователи мучатся будут с генерацией уникальных url
Мой код сильно не скажется на производительности, но id будет всегда уникальным.
Может лучше настройку сделать для переключения методов.
а то если цен нету то ошибки сыпятся о пустом массиве.
— Добавлено событие mSyncOnImportUnknownFile для обработки нестандартных файлов
— Переработано добавление id к alias по настройке msync_alias_with_id
— Добавлена проверка существования цен в offers.xml
— Добавлены события mSyncOnBeforeImportCategory и mSyncOnBeforeImportProduct для кастомизации данных, полученных из XML каталога
В конце обработки (при выгрузке из админки.) не срабатывает событие mSyncAfterImport
Можно вот так решить проблему вызова финиши или события в конце обработки файла offers.xml
Добавьте событие «mSyncAfterOffers»
С ними беда в minishop, нормально не ипортировать характиристики, цены, остатки.
Вопрос в том что в конце обработки всех предложений нужно запускать аналогично как и при обработки import.xml событие.
Иначе не понятно что обработка файла offes.xml завершилась
проблема. Он в window 1251
При скачивании при кодировке соединения utf-8 в файде кракозябры получаются.
shot.qip.ru/00RwEz-3cMfvXkLQ/
Это 1с сообщает что предложение удалено.
Тоесть необходимо проверять на наличия этого атрибута.
Если он есть то ошику не выдавать а просто пропускать.
А то журнал с ошибками засыпается записями об этом.
1С еще долго может отсылать: Статус=«Удален»
так как там сначала идет пометка на удаление.
А уже администратор помеченые на удаление будет удалять.
И только после этого исчезнет это предложение.
Что то типо такого
«Решил» проблему таким образом
Так вот, собственно вопрос, для какой цели в компоненте при обработке предложения берется только 1я часть ИД? С 1с и минишопом я «на вы», может я в настройках компонента/1С что-то не так делаю?) Спасибо за внимание
<Ид>a3486772-8718-11e7-bfbc-1c6f65cec2ac#9cf887a5-aaa7-11e7-b2a5-001a4d521cd7</Ид>
<Ид>a3486772-8718-11e7-bfbc-1c6f65cec2ac#9cf887ab-aaa7-11e7-b2a5-001a4d521cd7</Ид>
<Ид>a3486772-8718-11e7-bfbc-1c6f65cec2ac#9cf887a7-aaa7-11e7-b2a5-001a4d521cd7</Ид>
При их загрузке, выходит в логах ошибка, соответственно 3 раза
"[mSync] Привязка к товару для торгового предложения с uuid=a3486772-8718-11e7-bfbc-1c6f65cec2ac не найдена." И в minishop2 не выгружаются цены, хотя в файле offers.xml она у всех 3х есть). Я понимаю, что вносить правки напрямую в компонент не хорошо, и прошу помочь разобраться, как по-правильному это сделать)
А то оттуда нужны только цены с остатками, а в дополнении подразумевается сразу импорт в базу.
Может ли компонент игнорировать ее?
Т.е. изначально все товары будут импортированы в 1 категорию, потом мы их руками раскидаем по категориям на сайте, а при обновлении будет только обновляться цена (ну и м.б. другие характеристики), а категория не меняется уже.
И с версией 7.7 (1 С: Торговля и Склад 7.7 (редакция 9.2)) будет работать компонент? Нигде не вижу про совместимость…
На тестах XML с товарами формируется достаточно быстро, порядка секунды, но все, конечно, зависит от кол-ва заказов и мощности хостинга. Есть настройка, которая определяет сколько отнимать времени для выборки заказов следующей выборки, чтобы точно не пропустить заказы, которые появились во время синхронизации.
Как можно получить подробный мануал по формировании выгрузки из 1С для ручного имопорта товаров (xml)? Тут наверное нужно сформировать вопрос так: ИНСТРУКЦИЯ ДЛЯ 1С ПРОГРАММИСТА ДЛЯ ФОРМИРОВАНИЯ ВЫГРУЗКИ В XML для ручного импорта в minishop2.
Или достаточно структуры файла import.xml, который идет, как пример с компонентом?
Заранее спасибо!
есть у кого магазины на 100 тыс. товаров с кучей технических характеристик?
Отпишитесь по работоспособности пожалуйста
Подскажите, есть ли возможность выгрузки уже созданных заказов в 1с на сайт?
Спасибо!
Такая проблема. Если загружаю товары из 1С, то прогружаются только группы и появляются на сайте. Товаров нет.
Но если зайти в админку и нажать на «Ручной импорт», ничего не подгружая дополнительно, то весь файл прогружается полностью.
в чем может быть проблема?
Спасибо!
В ответах progress неверная кодировка, 1С ее не понимает и падает
[mSync] Не удалось создать привязку для параметров 1
[mSync] Привязка к товару для торгового предложения с uuid=90a9c35b-5cc4-11e8-806c-002522592c90 не найдена.
Что делать? Как быть?
Если у вас импорт.хмл выгружается, но всё-равно эта ошибка, то попробуйте с нуля настроить в 1с параметры выгрузки и чтоб у выгружаемого каталога был новый uuid, отличный от того, с которым сыпятся ошибки.
но если их очистить, сброситься еще и привязка на уже привязанные товары
У меня в выгрузке 2 типа цен: оптовая и розничная. Оптовая падает в поле цена. Можно ли Розницу заносить в поле Старой цены? Или только в TV?
Источник — Старая розничная
Поле — msProducts
Цель — old_priсe?
prntscr.com/ow6vvs
1 вариант. Оставить в настройках mSync создавать tv-поля, сделать выгрузку и смотреть, какое поле отгрузилось, потом его привязать.
2 вариант. Смотреть Блок <Ид> / СписокЗначенийCML, но не точно.
В 1С: предприятия есть множество цен, а в mSync подгружаются только оптовые цены.
joxi.ru/D2PeMJ6tkjwDNA
А нужна еще и розничная. В xml подгружаются только они, можно ли это как-то настроить?
Смотрите документацию: https://docs.modx.pro/komponentyi/msync/sobyitiya-i-plaginyi
Я смотрел xml, и в нем есть только 3 цены, только оптовые, хотя в 1С есть и розничная.
Мульти цены или типа того, не очень в этом разбираюсь.
Я не могу понять почему она не выгружается в xml.
joxi.ru/v29O5a7Izdk10r
prnt.sc/q1lkdv
Надо было зайти во «Все функции» — из кучи разделов выбрать какой-то (какой не запомнил) с настройками цен. И отметить чекбокс «Выгружать на сайт» или типа того.
Т.к. мне помогал 1С-прогер, я плохо запомнил куда он лазал.
Подскажите пожалуйста, синхронизация остатков происходит «в реальном времени» после каждого заказа/оплаты или запускается по расписанию?
Сколько по времени занимает обмен на 2-3тыс товаров?
file.modx.pro/files/d/a/f/daf74097c8e5b49783d937c40115d8b3.jpg
У меня почему-то некоторые товары заливаются со статусом «не опубликовано». Что в 1с служит триггером, чтобы снимать с публикации товар? Не можем разобраться
Потом уже воспроизводил через консоль, вручную подставил теже самые данные:
Ответ о времени и запросах из консоли:
Сделал временно пока так
Файл /core/components/msync/model/msync/msynccataloghandler.class.php:790:
А ещё вопрос можно ли как то отключить лог действий пользователя для импорта, а то недавно чистил таблицу, она уже на 2 гига выросла…
Не могу обратиться с вопросом в техподдержу, поэтому попробую спросить здесь, может кто-то подскажет.
У нас на сайте требуется произвести получение документов из 1С на сайт (Счета, Платежи и Отчеты за период), возможна ли реализация данного функционала через mSklad/mSync? Может быть, есть какие-то готовые решения или же сторонние модули, которые бы могли решить данную задачу?
Передача данных из 1С (скорее всего, в xml формате). Необходимо получать данные и записывать их БД сайта.
Имеется сайт с заполненным каталогом товаров (пару тысяч позиций). В 1с каталог выглядит совсем по другому.
Сделали на сайте скрытый раздел, который указали как корневой в настройках mSync. После синхронизации, все распознанные товары улетели в скрытый раздел (он стал для них родительским разделом), хотя ожидалось, что в скрытый раздел улетят новые товары, а в старых только появятся связи site_id->1c_id.
Можно как-то отучить mSync не менять раздел у имеющихся распознанных товаров?
Подскажите, написано, что «Добавлена автоматическая поддержка пользовательских множественных свойств»
Но при этом нигде не сказано по какому принципу заполнять эти свойства в 1С?
цвет1|цвет2
или
цвет1, цвет2
Вышел commerceML3 будет ли доработка модуля под эту версию протокола обмена?