[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 прошлой версии, на эту версию бесплатно я уже не обновлюсь, да?
А если я купил mSync прошлой версии, на эту версию бесплатно я уже не обновлюсь, да?
Да
несколько грустно для тех, кто давно купил и ждал обещанных улучшений
поддерживаю! очень ждал.
Добрый день!
Подскажите пожалуйста, а каким образом запускается непосредственно процесс синхронизации?
По крону на сайте?
Или настраивается в 1С в узле обмена с web сайтом?
Интересует насколько быстро можно передавать заказы с сайта в 1С, чтобы случайно не возникала «пересортица».
Подскажите пожалуйста, а каким образом запускается непосредственно процесс синхронизации?
По крону на сайте?
Или настраивается в 1С в узле обмена с web сайтом?
Интересует насколько быстро можно передавать заказы с сайта в 1С, чтобы случайно не возникала «пересортица».
Модуль mSync купил, полез смотреть настройки. А есть какой-то более-менее подробный мануал, как осуществляется связь с 1С?
Поскольку вопросов много:
— какие реквизиты заказчика передаются в 1с?
— что происходит, если заказчик заказывает первый раз, или наоборот заказывает повторно. Как не дублируются данные?
— как происходит выгрузка картинок из 1С, сам механизм.
— как настроить выгрузку «изменений в 1С», например продали товар офлайн и нужно сообщить сайту, что доступное количество товаров изменилось.
и т.д. и т.п.
Поскольку вопросов много:
— какие реквизиты заказчика передаются в 1с?
— что происходит, если заказчик заказывает первый раз, или наоборот заказывает повторно. Как не дублируются данные?
— как происходит выгрузка картинок из 1С, сам механизм.
— как настроить выгрузку «изменений в 1С», например продали товар офлайн и нужно сообщить сайту, что доступное количество товаров изменилось.
и т.д. и т.п.
Спасибо, написал туда.
Добрый день
Поменяйте на это:
Поменяйте на это:
// core/components/msync/processors/mgr/extend/createmsproduct.class.php
if ($this->modx->getOption('msync_alias_with_id', false)) {
$max_id = $this->object->id;
if (empty($max_id)) {
$sql = 'Select max(`id`) as `maxid` from '.$this->modx->getTableName('msProduct');
$statement = $this->modx->query($sql);
$produtcs = $statement->fetchAll(PDO::FETCH_ASSOC);
$max_id = $produtcs [0]['maxid'];
$max_id = $max_id + 1;
}
$alias .= '-' . $max_id;
}
А то так до конца жизнь пользователи мучатся будут с генерацией уникальных url
Спасибо за замечание. Я сделал немного по-другому, в afterSave, чтобы alias точно совпадал с id. В вашем варианте они могут разойтись.
Да этот вариант тоже хорошь. Но он требует повторного сохранение. Что сказывается очень сильно на производительности.
Мой код сильно не скажется на производительности, но id будет всегда уникальным.
Может лучше настройку сделать для переключения методов.
Мой код сильно не скажется на производительности, но id будет всегда уникальным.
Может лучше настройку сделать для переключения методов.
Еще вот здесь
/**
* Импортирование всех цен согласно связям
* @param $xml
* @param $product
* @return string Первая цена
*/
protected function importAllPrices($xml, $product)
{
$selectedPrice = 0;
$c = 0;
if (count($xml->Цены) != 0) {
}
а то если цен нету то ошибки сыпятся о пустом массиве.
Спасибо, поправил. Будет в версии 1.0.2-pl
Версия 1.0.2-pl загружена в магазин:
— Добавлено событие mSyncOnImportUnknownFile для обработки нестандартных файлов
— Переработано добавление id к alias по настройке msync_alias_with_id
— Добавлена проверка существования цен в offers.xml
— Добавлены события mSyncOnBeforeImportCategory и mSyncOnBeforeImportProduct для кастомизации данных, полученных из XML каталога
— Добавлено событие mSyncOnImportUnknownFile для обработки нестандартных файлов
— Переработано добавление id к alias по настройке msync_alias_with_id
— Добавлена проверка существования цен в offers.xml
— Добавлены события mSyncOnBeforeImportCategory и mSyncOnBeforeImportProduct для кастомизации данных, полученных из XML каталога
Здравствуйте.
В конце обработки (при выгрузке из админки.) не срабатывает событие mSyncAfterImport
В конце обработки (при выгрузке из админки.) не срабатывает событие mSyncAfterImport
А нет все это я не правильно вызвал. Так как вызывается функция mSyncAfterImport только при импорте import.xml
Можно вот так решить проблему вызова финиши или события в конце обработки файла offers.xml
Добавьте событие «mSyncAfterOffers»
Можно вот так решить проблему вызова финиши или события в конце обработки файла offers.xml
Добавьте событие «mSyncAfterOffers»
$this->log("Вызвано событие mSyncAfterOffers(offers)", 1);
$this->modx->invokeEvent('mSyncAfterOffers', array(
'totalOffers' => $this_offer_num,
));
$msg = 'Выгружено ценовых предложений: ' . $this_offer_num;
$this->log($msg);
unset($_SESSION['logFile']);
return 'success' . PHP_EOL . $msg . PHP_EOL;
Хорошо, добавлю в следующей версии. А какой кейс решаете, для которого нужно это событие?
Предложения.
С ними беда в minishop, нормально не ипортировать характиристики, цены, остатки.
С ними беда в minishop, нормально не ипортировать характиристики, цены, остатки.
Для обработки одного предложения нужно использовать событие mSyncOnProductOffers
Да это то уже сделано.
Вопрос в том что в конце обработки всех предложений нужно запускать аналогично как и при обработки import.xml событие.
Иначе не понятно что обработка файла offes.xml завершилась
Вопрос в том что в конце обработки всех предложений нужно запускать аналогично как и при обработки import.xml событие.
Иначе не понятно что обработка файла offes.xml завершилась
И еще с кодировкой файла msynccataloghandler.class.php
проблема. Он в window 1251
При скачивании при кодировке соединения utf-8 в файде кракозябры получаются.
проблема. Он в window 1251
При скачивании при кодировке соединения utf-8 в файде кракозябры получаются.
У меня показывает, что он utf-8
Это не ошибка
shot.qip.ru/00RwEz-3cMfvXkLQ/
Это 1с сообщает что предложение удалено.
Тоесть необходимо проверять на наличия этого атрибута.
Если он есть то ошику не выдавать а просто пропускать.
А то журнал с ошибками засыпается записями об этом.
1С еще долго может отсылать: Статус=«Удален»
так как там сначала идет пометка на удаление.
А уже администратор помеченые на удаление будет удалять.
И только после этого исчезнет это предложение.
Что то типо такого
shot.qip.ru/00RwEz-3cMfvXkLQ/
Это 1с сообщает что предложение удалено.
Тоесть необходимо проверять на наличия этого атрибута.
Если он есть то ошику не выдавать а просто пропускать.
А то журнал с ошибками засыпается записями об этом.
1С еще долго может отсылать: Статус=«Удален»
так как там сначала идет пометка на удаление.
А уже администратор помеченые на удаление будет удалять.
И только после этого исчезнет это предложение.
Что то типо такого
protected function loadStock($xml)
{
$uuid_1c = (array)explode('#', (string)$xml->Ид);
if (isset($xml->attributes()->Статус)) {
$str = $this->stringXml($xml->attributes()->Статус);
if ($str == 'Удален') {
return;
}
}
.......
Даже так
if (isset($xml->attributes()->Статус)) {
$str = $this->stringXml($xml->attributes()->Статус);
if ($str == 'Удален') {
return;
}
}
if (isset($xml->Статус)) {
$str = $this->stringXml($xml->Статус);
if ($str == 'Удален') {
return;
}
}
А как обстоят дела с автоматической выгрузкой и обновлением остатков, например через msProductRemains?
Остатки выгружаются в указанное поле. Можно настроить так, что, если остатки разбиты по характеристикам, то все эти остатки выгружаются в одно поле. Далее в плагине можно обработать это поле и записать значения в msProductRemains или любой другой компонент. Или даже отдельно обработать эти остатки в плагине на то же событие, без промежуточной записи в поле.
Добрый день! У меня такая ситуация, когда я добавляю к товару в 1С характеристику(например цвет), компонент все подгружает, но без цены. При этом в файлах import и offers ИД товара имеет вид «a3486.....#9cf88.....» Где часть до знака '#' постоянная, а 2я часть меняется с каждой характеристикой. В логах компонента появляется запись об ошибке. Привязка к товару для торгового предложения с uuid=a3486… (без 2й части после #) не найдена.
«Решил» проблему таким образом
«Решил» проблему таким образом
/**
* Обработка одного торгового предложения
* @param $xml
*/
protected function loadStock($xml)
{
$uuid_1c = (array)explode('#', (string)$xml->Ид);
//!!Если у ИД есть 2я часть - то добавляем ее обратно)
if (array_key_exists(1, $uuid_1c)) {
$uuid_1c[0] .="#".$uuid_1c[1];
}
$prodData = $this->getProductData($uuid_1c[0]);
if (!$prodData) {
$this->log("Привязка к товару для торгового предложения с uuid={$uuid_1c[0]} не найдена.", 0, 1);
return;
}
Так вот, собственно вопрос, для какой цели в компоненте при обработке предложения берется только 1я часть ИД? С 1с и минишопом я «на вы», может я в настройках компонента/1С что-то не так делаю?) Спасибо за внимание
То есть у вас в import.xml приходят идентификаторы с решеткой? А строка в этом идентификаторе до решетки и после одинаковая? Вообще после решетки должен идти идентификатор модификации.
Да, с решеткой. Строки разные. То есть, например 1 товар с 3мя характеристиками (разные цвета):
<Ид>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х есть). Я понимаю, что вносить правки напрямую в компонент не хорошо, и прошу помочь разобраться, как по-правильному это сделать)
<Ид>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С без импорта в базу?
А то оттуда нужны только цены с остатками, а в дополнении подразумевается сразу импорт в базу.
А то оттуда нужны только цены с остатками, а в дополнении подразумевается сразу импорт в базу.
Вопрос такой: на сайте уже существует каталог товаров, в 1С тоже. При синхронизации он будет перезаписывать существующие товары полностью или только синхронизируемые параметры (название, остатки и т.п.)? А то на них навешана куча дополнительных полей и картинок, которые бы не хотелось потерять.
Будет обновлять существующие
Структура категорий в 1С и на сайте не совпадает.
Может ли компонент игнорировать ее?
Т.е. изначально все товары будут импортированы в 1 категорию, потом мы их руками раскидаем по категориям на сайте, а при обновлении будет только обновляться цена (ну и м.б. другие характеристики), а категория не меняется уже.
Может ли компонент игнорировать ее?
Т.е. изначально все товары будут импортированы в 1 категорию, потом мы их руками раскидаем по категориям на сайте, а при обновлении будет только обновляться цена (ну и м.б. другие характеристики), а категория не меняется уже.
Мой вопрос остался без ответа… прошу обратить на него внимание.
И с версией 7.7 (1 С: Торговля и Склад 7.7 (редакция 9.2)) будет работать компонент? Нигде не вижу про совместимость…
И с версией 7.7 (1 С: Торговля и Склад 7.7 (редакция 9.2)) будет работать компонент? Нигде не вижу про совместимость…
Не будет.
Между 1С и ресурсом MODX создается привязка по идентификаторам. Соответственно, если идентификаторы ресурсов меняться не будут, то и обновляться они будут нормально.
Повторю вопрос выше, так как тоже интересует именно этот момент:
Добрый день!
Подскажите пожалуйста, а каким образом запускается непосредственно процесс синхронизации?
По крону на сайте?
Или настраивается в 1С в узле обмена с web сайтом?
Интересует насколько быстро можно передавать заказы с сайта в 1С, чтобы случайно не возникала «пересортица».
настраивается в 1С в узле обмена с web сайтом
Интересует насколько быстро можно передавать заказы с сайта в 1С, чтобы случайно не возникала «пересортица».На тестах XML с товарами формируется достаточно быстро, порядка секунды, но все, конечно, зависит от кол-ва заказов и мощности хостинга. Есть настройка, которая определяет сколько отнимать времени для выборки заказов следующей выборки, чтобы точно не пропустить заказы, которые появились во время синхронизации.
Добрый день!
Как можно получить подробный мануал по формировании выгрузки из 1С для ручного имопорта товаров (xml)? Тут наверное нужно сформировать вопрос так: ИНСТРУКЦИЯ ДЛЯ 1С ПРОГРАММИСТА ДЛЯ ФОРМИРОВАНИЯ ВЫГРУЗКИ В XML для ручного импорта в minishop2.
Или достаточно структуры файла import.xml, который идет, как пример с компонентом?
Заранее спасибо!
Как можно получить подробный мануал по формировании выгрузки из 1С для ручного имопорта товаров (xml)? Тут наверное нужно сформировать вопрос так: ИНСТРУКЦИЯ ДЛЯ 1С ПРОГРАММИСТА ДЛЯ ФОРМИРОВАНИЯ ВЫГРУЗКИ В XML для ручного импорта в minishop2.
Или достаточно структуры файла import.xml, который идет, как пример с компонентом?
Заранее спасибо!
Люди в этой ветке
есть у кого магазины на 100 тыс. товаров с кучей технических характеристик?
Отпишитесь по работоспособности пожалуйста
есть у кого магазины на 100 тыс. товаров с кучей технических характеристик?
Отпишитесь по работоспособности пожалуйста
Был такой, скажу так: все можно настроить и будет работать, либо железо по мощней!
Здравствуйте! Планирую приобрести компонент modstore.pro/packages/import-and-export/msync для синхронизации каталога сайта с МойСклад, хотел бы уточнить: при покупке через сайт данные о количестве товаров автоматически обновятся в системе учёта, верно? И точно также при покупке в оффлайн-магазине количество товаров на сайте будет обновлено с учётом совершённой продажи?
Добрый день!
Подскажите, есть ли возможность выгрузки уже созданных заказов в 1с на сайт?
Спасибо!
Подскажите, есть ли возможность выгрузки уже созданных заказов в 1с на сайт?
Спасибо!
Добрый день!
Такая проблема. Если загружаю товары из 1С, то прогружаются только группы и появляются на сайте. Товаров нет.
Но если зайти в админку и нажать на «Ручной импорт», ничего не подгружая дополнительно, то весь файл прогружается полностью.
в чем может быть проблема?
Спасибо!
Такая проблема. Если загружаю товары из 1С, то прогружаются только группы и появляются на сайте. Товаров нет.
Но если зайти в админку и нажать на «Ручной импорт», ничего не подгружая дополнительно, то весь файл прогружается полностью.
в чем может быть проблема?
Спасибо!
Сам разобрался.
В ответах progress неверная кодировка, 1С ее не понимает и падает
В ответах progress неверная кодировка, 1С ее не понимает и падает
У меня такая же проблеме. Можете подсказать? Что вы сделали чтобы заработали товары???
Я правил код в 1с, можно найти кусок кода глобальным поиском по слову progress, и в том месте где идёт проверка на текущий статус изменить со сравнения статуса, на " содержит "
Подскажите пожалуйста, вопрос такой. Сайт перестал справляться с выгрузкой, встает на половине выгрузки файла import, в 1с-ке есть возможность дробить выгрузку на части. Т.е. файлы выгружаются с нумерацией 0_1, 0_2, )_3 и.т.д Умеет ли дополнение с этим работать, то есть последовательно прогружать закинутые в папку файлы? Спасибо
Подскажите пожалуйста! В поддержке не отвечают. Может кто то здесь знает. Купил компонент mSync. Установил настроил. Начал делать выгрузку. Категории товаров выгрузились, а сами товары не выгружаются(((. В логах вот такие ошибки:
[mSync] Не удалось создать привязку для параметров 1
[mSync] Привязка к товару для торгового предложения с uuid=90a9c35b-5cc4-11e8-806c-002522592c90 не найдена.
Что делать? Как быть?
[mSync] Не удалось создать привязку для параметров 1
[mSync] Привязка к товару для торгового предложения с uuid=90a9c35b-5cc4-11e8-806c-002522592c90 не найдена.
Что делать? Как быть?
у нас похожая проблема, вы свою решили?
Тоже самое, ищем решение, разработчик в поддержке не отвечает.
Кто нибудь нашел решение?
Да. Это из-за того, что из 1с сначала выгружаются офферы. Или просто выгружаются только офферы. Надо чтоб была полная выгрузка — сначала import.xml и картиночки, потом offers.xml, тогда всё будет норм.
Если у вас импорт.хмл выгружается, но всё-равно эта ошибка, то попробуйте с нуля настроить в 1с параметры выгрузки и чтоб у выгружаемого каталога был новый uuid, отличный от того, с которым сыпятся ошибки.
Если у вас импорт.хмл выгружается, но всё-равно эта ошибка, то попробуйте с нуля настроить в 1с параметры выгрузки и чтоб у выгружаемого каталога был новый uuid, отличный от того, с которым сыпятся ошибки.
попробую
решением оказалось следующее, нужно очистить таблицы modx_msync_products_temp и modx_msync_products
но если их очистить, сброситься еще и привязка на уже привязанные товары
но если их очистить, сброситься еще и привязка на уже привязанные товары
Добрый день.
У меня в выгрузке 2 типа цен: оптовая и розничная. Оптовая падает в поле цена. Можно ли Розницу заносить в поле Старой цены? Или только в TV?
У меня в выгрузке 2 типа цен: оптовая и розничная. Оптовая падает в поле цена. Можно ли Розницу заносить в поле Старой цены? Или только в TV?
Пробовали добавить в Настройках, вкладка — Настройка источника свойств:
Источник — Старая розничная
Поле — msProducts
Цель — old_priсe?
Источник — Старая розничная
Поле — msProducts
Цель — old_priсe?
У меня такая выгрузка, называть нужно именно Старая Розничная или иначе?
prntscr.com/ow6vvs
prntscr.com/ow6vvs
Скорее, Розница. Но тут я мало помогу, я не спец по 1С.
1 вариант. Оставить в настройках mSync создавать tv-поля, сделать выгрузку и смотреть, какое поле отгрузилось, потом его привязать.
2 вариант. Смотреть Блок <Ид> / СписокЗначенийCML, но не точно.
1 вариант. Оставить в настройках mSync создавать tv-поля, сделать выгрузку и смотреть, какое поле отгрузилось, потом его привязать.
2 вариант. Смотреть Блок <Ид> / СписокЗначенийCML, но не точно.
А каким образом выбирается подгрузка цен?
В 1С: предприятия есть множество цен, а в mSync подгружаются только оптовые цены.
joxi.ru/D2PeMJ6tkjwDNA
А нужна еще и розничная. В xml подгружаются только они, можно ли это как-то настроить?
В 1С: предприятия есть множество цен, а в mSync подгружаются только оптовые цены.
joxi.ru/D2PeMJ6tkjwDNA
А нужна еще и розничная. В xml подгружаются только они, можно ли это как-то настроить?
По настройкам я не помню. Но точно можно события в плагине в этом случае использовать )
Смотрите документацию: https://docs.modx.pro/komponentyi/msync/sobyitiya-i-plaginyi
Смотрите документацию: https://docs.modx.pro/komponentyi/msync/sobyitiya-i-plaginyi
Честно говоря не уверен, как мне плагины помогут.
Я смотрел xml, и в нем есть только 3 цены, только оптовые, хотя в 1С есть и розничная.
Мульти цены или типа того, не очень в этом разбираюсь.
Я не могу понять почему она не выгружается в xml.
joxi.ru/v29O5a7Izdk10r
Я смотрел xml, и в нем есть только 3 цены, только оптовые, хотя в 1С есть и розничная.
Мульти цены или типа того, не очень в этом разбираюсь.
Я не могу понять почему она не выгружается в xml.
joxi.ru/v29O5a7Izdk10r
В настройках была опция — выгружать все цены. Может, в этом дело?
prnt.sc/q1lkdv
prnt.sc/q1lkdv
По итогу, проблема была в том, что не все цены были подключены со стороны 1С.
Надо было зайти во «Все функции» — из кучи разделов выбрать какой-то (какой не запомнил) с настройками цен. И отметить чекбокс «Выгружать на сайт» или типа того.
Т.к. мне помогал 1С-прогер, я плохо запомнил куда он лазал.
Надо было зайти во «Все функции» — из кучи разделов выбрать какой-то (какой не запомнил) с настройками цен. И отметить чекбокс «Выгружать на сайт» или типа того.
Т.к. мне помогал 1С-прогер, я плохо запомнил куда он лазал.
Можно ли полностью удалить MODX и поставить заново? не могу войти в менеджер
Разобрались?
Добрый вечер!
Подскажите пожалуйста, синхронизация остатков происходит «в реальном времени» после каждого заказа/оплаты или запускается по расписанию?
Сколько по времени занимает обмен на 2-3тыс товаров?
Подскажите пожалуйста, синхронизация остатков происходит «в реальном времени» после каждого заказа/оплаты или запускается по расписанию?
Сколько по времени занимает обмен на 2-3тыс товаров?
Добрый день. На сайте работает mSync, но когда решили в 1С добавить новую категорию с товарами и выгрузить, то новый товар из 1С попадает в корень каталога на сайте. Не понятно почему, в чем может быть причина?
@Виталий Киреев Здравствуйте, подскажите как в плагине на событие mSyncOnProductOffers получить статус «Удален» у торгового предложения?
Добрый день. Возможна ли продажа подарочных сертификатов из 1С через сайт? Например по промокоду: Человек вводит промокод и ему предоставляется скидка на сумму сертификата. Оплата по карте возможна? У нас система Net Pay.
file.modx.pro/files/d/a/f/daf74097c8e5b49783d937c40115d8b3.jpg
file.modx.pro/files/d/a/f/daf74097c8e5b49783d937c40115d8b3.jpg
Это ж программирование. Все возможно. Но функционал явно не стандартный, его нужно отдельно как то дописывать.
Добрый день,
У меня почему-то некоторые товары заливаются со статусом «не опубликовано». Что в 1с служит триггером, чтобы снимать с публикации товар? Не можем разобраться
У меня почему-то некоторые товары заливаются со статусом «не опубликовано». Что в 1с служит триггером, чтобы снимать с публикации товар? Не можем разобраться
Столкнулся с непонятным ооочень долгим обновлением одной категории во время импорта (обновление происходит через процессор «mgr/extend/updatemscategory»), может кто-то может объяснить почему так? Очень долго искал место где всё стопориться на долго.
Потом уже воспроизводил через консоль, вручную подставил теже самые данные:
Файл /core/components/msync/model/msync/msynccataloghandler.class.php:790:
Потом уже воспроизводил через консоль, вручную подставил теже самые данные:
$processorProps = array(
'id' => 274,
'class_key' => 'msCategory',
'pagetitle' => 'ЖЕНСКОЕ',
'context_key' => 'web',
'parent' => 40,
);
$this->modx->runProcessor('mgr/extend/updatemscategory', $processorProps, array('processors_path' => '/var/www/site/data/www/site/core/components/msync/processors/'));
Ответ о времени и запросах из консоли:SQL time: 5.0144 sСделал временно пока так
SQL queries: 16430 — 16 тыщь запросов к базе? ради обновления одной категории???
PHP time: 49.7612 s
Total time: 54.7757 s — 54 секунды на одну категорию??
Memory: 116 MB
Файл /core/components/msync/model/msync/msynccataloghandler.class.php:790:
/**
* Update miniShop2 category
*
* @param $parentId
* @param $categoryId
* @param $categoryName
* @return bool|mixed
*/
protected function updateMsCategory($parentId, $categoryId, $categoryName)
{
$this->clearModxErrors();
// $processorProps = array(
// 'id' => $categoryId
// , 'class_key' => 'msCategory'
// , 'pagetitle' => $categoryName
// , 'context_key' => $this->config['catalog_context']
// );
// if ($parentId) $processorProps['parent'] = $parentId;
$category = $this->modx->getObject('modResource', $categoryId);
if($category) {
$category->set('class_key', 'msCategory');
$category->set('pagetitle', $categoryName);
$category->set('context_key', $this->config['catalog_context']);
if ($parentId) $category->set('parent', $parentId);
$category->save();
return true;
} else {
return false;
}
// TODO очень долго выполняется, много запросов
//$response = $this->modx->runProcessor('mgr/extend/updatemscategory', $processorProps, array('processors_path' => $this->config['processorsPath']));
// if (!$response->isError()) {
// $_SESSION['importResources']['category']['updated'][] = $categoryId;
// return $response;
// } else return false;
}
Смотрите, что за плагины вызываются на OnDocFormSave. Судя по всему там у вас перегенеривается что-то на каждое сохранение ресурса.
Спасибо за наводку! Так и есть! Компонент autoRedirector использует эти события и перебирает у себя в цикле дерево ресурсов.
А ещё вопрос можно ли как то отключить лог действий пользователя для импорта, а то недавно чистил таблицу, она уже на 2 гига выросла…
А ещё вопрос можно ли как то отключить лог действий пользователя для импорта, а то недавно чистил таблицу, она уже на 2 гига выросла…
Добрый день. Создал 2 поля TV и msProduct. Пытаюсь записать значение штрихкода. Ни в одно их полей не записывается. В логах ошибку не выдает. Любые новые источники в новые поля не добавляются.
Заметил странное поведение компонента, версия последняя, каждая выгрузка из 1С создает по 3 сессии, хотя по логике должна быть всего 1, при первом запросе авторизации получается кука, устанавливается сессия и работает до конца обмена.
Здравствуйте! Подскажите пожалуйста, с этим модулем будет работать выставление счетов через 1с?
Нет
А за дополнительную плату, это возможно?
У меня нет на это времени. Попробуйте поискать исполнителя в разделе объявлений…
Данное дополнение можно доработать до нужного функционала, очень гибкое!
Можно как то настроить выгрузку поля, например количество в два разные места, в tv и опцию товара?
Здравствуйте.
Не могу обратиться с вопросом в техподдержу, поэтому попробую спросить здесь, может кто-то подскажет.
У нас на сайте требуется произвести получение документов из 1С на сайт (Счета, Платежи и Отчеты за период), возможна ли реализация данного функционала через mSklad/mSync? Может быть, есть какие-то готовые решения или же сторонние модули, которые бы могли решить данную задачу?
Передача данных из 1С (скорее всего, в xml формате). Необходимо получать данные и записывать их БД сайта.
Не могу обратиться с вопросом в техподдержу, поэтому попробую спросить здесь, может кто-то подскажет.
У нас на сайте требуется произвести получение документов из 1С на сайт (Счета, Платежи и Отчеты за период), возможна ли реализация данного функционала через mSklad/mSync? Может быть, есть какие-то готовые решения или же сторонние модули, которые бы могли решить данную задачу?
Передача данных из 1С (скорее всего, в xml формате). Необходимо получать данные и записывать их БД сайта.
Здравствуйте. Нет в готовых решениях ничего подобного нет, вам нужно нанять программиста для разработки решения под вашу бизнес-логику.
Добрый день.
Имеется сайт с заполненным каталогом товаров (пару тысяч позиций). В 1с каталог выглядит совсем по другому.
Сделали на сайте скрытый раздел, который указали как корневой в настройках mSync. После синхронизации, все распознанные товары улетели в скрытый раздел (он стал для них родительским разделом), хотя ожидалось, что в скрытый раздел улетят новые товары, а в старых только появятся связи site_id->1c_id.
Можно как-то отучить mSync не менять раздел у имеющихся распознанных товаров?
Имеется сайт с заполненным каталогом товаров (пару тысяч позиций). В 1с каталог выглядит совсем по другому.
Сделали на сайте скрытый раздел, который указали как корневой в настройках mSync. После синхронизации, все распознанные товары улетели в скрытый раздел (он стал для них родительским разделом), хотя ожидалось, что в скрытый раздел улетят новые товары, а в старых только появятся связи site_id->1c_id.
Можно как-то отучить mSync не менять раздел у имеющихся распознанных товаров?
Добрый день,
Подскажите, написано, что «Добавлена автоматическая поддержка пользовательских множественных свойств»
Но при этом нигде не сказано по какому принципу заполнять эти свойства в 1С?
цвет1|цвет2
или
цвет1, цвет2
Подскажите, написано, что «Добавлена автоматическая поддержка пользовательских множественных свойств»
Но при этом нигде не сказано по какому принципу заполнять эти свойства в 1С?
цвет1|цвет2
или
цвет1, цвет2
Добрый день,
Вышел commerceML3 будет ли доработка модуля под эту версию протокола обмена?
Вышел commerceML3 будет ли доработка модуля под эту версию протокола обмена?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.