Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Модуль Модуль обмена для opencart v2.3 по стандарту CommerceML [Поддержка]


Recommended Posts

Цены на опции хранятся в таблице product_price, а там их нет, поэтому и ноль. А цены на опции вы вручную установили из админки?

Всем привет. 
 
Пользуюсь этим модулем. Есть проблемки, помогите пжл решением. 
1. В 1с забито 4 типа цен: 1. Оптовая, 2. Розничная, 3. РРЦ, 4. Уценка.
У тех позиций, где указаны в 1с все 4 типа цен, все ок. Те позиции у которых отсутствует один из типов, при добавлении в корзину, получает цену 0, хотя на самой витрине все ок.
в настройках модуля делал по разному: оставлял и одну розничную ценуи выставлял приоритет, не помогает...
как решить данную проблему?
2. При выгрузке данных из 1с, у товаров, где нет характеристик, выставляется характеристика test_value_1. Хотя в номенклатуре не вижу такого. Как убрать это? Тут вопрос не к модулю конечно, а к настройкам, но может быть поможете))
версия opencart 2.2.0
Ут редакция 10.3
Если можно на пальцах))
 


Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

1 час назад, Kirillove сказал:

Цены на опции хранятся в таблице product_price, а там их нет, поэтому и ноль. А цены на опции вы вручную установили из админки?

 


Отправлено с моего Power Five Evo через Tapatalk
 

 

Нет, все было выгружено из 1с. Цена на товар у нас не изменяется при выборе характеристики.

Надіслати
Поділитися на інших сайтах


3 часа назад, Kirillove сказал:

Цены на опции хранятся в таблице product_price, а там их нет, поэтому и ноль. А цены на опции вы вручную установили из админки?

 


Отправлено с моего Power Five Evo через Tapatalk
 

 

 

Проверил ещё раз всё. Таблица product_price полностью пустая... Получается при обновление из 1с каталога, не обнуляются общие остатки товаров(которые во вкладке Данные), хотя у остатков опции проставляются 0, если товара нет. При этом, если у опции 0, даётся возможность положить этот товар в корзину... Совсем запутался уже... Часть товаров было внесено в магазин руками и через импорт.

Как правильно сделать всё? Чтобы и в таблицу product_price записывалось и остатки были правильные?

Надіслати
Поділитися на інших сайтах


Есть кто поможет до ума довести? Не хватает знаний. 

Готов оплатить работу в пределах разумного.

Что нужно: 

1. Корректная выгрузка остатков, в том числе у опций. Если со следующей выгрузкой товар закончился, выставляется статус Нет на складе, но не выключается, при этом если была опция у этого товара, она становится недоступной.

2. Корректная выгрузка цен, во все нужные таблицы. 

 

Обычная нормальная работа магазина, которую никак не могу решить.

Надіслати
Поділитися на інших сайтах


А будет ли фикс для остатков и опций? И когда? Ждать или не ждать?
Для версии 1.6.3 не будет, корректную работу с опциями могу обещать только в 1.6.4

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

Нет, все было выгружено из 1с. Цена на товар у нас не изменяется при выборе характеристики.
Значит надо смотреть в сторону модификатора, он не полностью установился, читайте ocmod.log
Очень часто при отличии вашего шаблона от дефолтного приходится править модификатор.

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

 
Проверил ещё раз всё. Таблица product_price полностью пустая... Получается при обновление из 1с каталога, не обнуляются общие остатки товаров(которые во вкладке Данные), хотя у остатков опции проставляются 0, если товара нет. При этом, если у опции 0, даётся возможность положить этот товар в корзину... Совсем запутался уже... Часть товаров было внесено в магазин руками и через импорт.
Как правильно сделать всё? Чтобы и в таблицу product_price записывалось и остатки были правильные?
Включите лог в режим отладка и запросы, сделайте загрузку вручную файла offers и вышлите лог мне на почту.
P.S. перед загрузкой очистите лог, чтобы в нем были данные только одного последнего обмена

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

Логично представить, что если у 4000 позиций все "АЛО", а у  5000 нет, то проблема на стороне 1с, а не на стороне модуля.. Остается найти 3 отличия позиций по которым не хочет грузить цены от  позиций по которым все нормально
Возможно обмен прерывается, так замечено что когда много товаров создаётся большая нагрузка на SQL, и сервер может прервать загрузку, import файл ещё успевает, а вот offers тяжелее в 2 раза, вот поэтому на часть товара наверное не загружает цены и остатки.
Внимательно прочитайте лог обмена что в конце файла, а также лог веб с сервера

Отправлено с моего Power Five Evo через Tapatalk

Надіслати
Поділитися на інших сайтах

4 часа назад, Kirillove сказал:

Для версии 1.6.3 не будет, корректную работу с опциями могу обещать только в 1.6.4

Отправлено с моего Power Five Evo через Tapatalk
 

А когда оринтировочно релиз? Может давайте beta и там будем всем сообществом искать ошибки.

Надіслати
Поділитися на інших сайтах


В 29.09.2017 в 07:34, Kirillove сказал:

Включите лог в режим отладка и запросы, сделайте загрузку вручную файла offers и вышлите лог мне на почту.
P.S. перед загрузкой очистите лог, чтобы в нем были данные только одного последнего обмена

Отправлено с моего Power Five Evo через Tapatalk
 

 

Отправил на почту. Надеюсь дошло, а то 71 мб весит...

Надіслати
Поділитися на інших сайтах


В 20.06.2017 в 18:28, DjPrizrak сказал:

Спасибо Виталию за проделанную работу, вижу что обновления делаются быстро, поэтому понятное дело встречаются ошибки.

Версия 12 что бы установилась на 2.3, нужно поправить такие строки.

 

admin\controller\extension\module\exchange1c.php

найти $this->module_extension__exchange1c->installUnits();
заменить на $this->model_extension_exchange1c->installUnits();

 

admin\model\extension\exchange1c.php

найти $result = @$this->db->query("ALTER TABLE  `" . DB_PREFIX . "unit_to_1c` CHANGE `code` `number_code` INT(4) DEFAULT 0`");
заменить на  $result = @$this->db->query("ALTER TABLE  `" . DB_PREFIX . "unit_to_1c` CHANGE `code` `number_code` INT(4) DEFAULT 0");

найти $result = @$this->db->query("ALTER TABLE  `" . DB_PREFIX . "unit_to_1c` CHANGE `fullname` `full_name` VARCHAR(50) DEFAULT ''`");
заменить на $result = @$this->db->query("ALTER TABLE  `" . DB_PREFIX . "unit_to_1c` CHANGE `fullname` `full_name` VARCHAR(50) DEFAULT ''");

Спасибо, помогло.

Ребята, все кто ставит на opencart 2.3 и у вас вылетает ошибка - 500. Проделайте эти поправки и заработает!
 

 

В 19.06.2017 в 21:15, Kirillove сказал:

Проверю завтра, спасибо что тестируете и находите ошибки.

Пофиксите ошибку 500 в новой версии, плиз)

  • +1 1
Надіслати
Поділитися на інших сайтах


Всем добрый день!

Подскажите, у кого как реализованы акции на товар в 1С? 

На сайте нужно отобразить у товара две цены, одна основная цена и вторая цена со скидкой, т.е. выгружается два типа цен.

В моем случае продажная цена высчитывается по базовой наценке на основной тип цен закупки, типа купили за 5у.е., продаем за 6 (цена на сайте = 6), если я закупаю по 4 и меняю в 1С свою закупку, соответственно на сайт выгружается новая продажная цена, и разница не отображается как скидка на товар.

Можно ли как-то по другому отправлять цены? Типа если на сайте была цена 6 и стала 5 (изменилась в меньшую сторону), то ее отображать как цену со скидкой?

А то в варианте "как есть сейчас" нужно создавать два дополнительных типа цены: новая закупка и новая продажа, и выгружать новую продажу в скидки, но тогда в 1С часть отчетов будут считаться не правильно (на основании первой закупки), даже при формировании прайса из 1С нужно выводить два типа продажных цен, цена и цена со скидкой, как-то сложно) Помогите, кто сталкивался..

Надіслати
Поділитися на інших сайтах


2 часа назад, Shkodich сказал:

Всем добрый день!

Подскажите, у кого как реализованы акции на товар в 1С? 

На сайте нужно отобразить у товара две цены, одна основная цена и вторая цена со скидкой, т.е. выгружается два типа цен.

В моем случае продажная цена высчитывается по базовой наценке на основной тип цен закупки, типа купили за 5у.е., продаем за 6 (цена на сайте = 6), если я закупаю по 4 и меняю в 1С свою закупку, соответственно на сайт выгружается новая продажная цена, и разница не отображается как скидка на товар.

Можно ли как-то по другому отправлять цены? Типа если на сайте была цена 6 и стала 5 (изменилась в меньшую сторону), то ее отображать как цену со скидкой?

А то в варианте "как есть сейчас" нужно создавать два дополнительных типа цены: новая закупка и новая продажа, и выгружать новую продажу в скидки, но тогда в 1С часть отчетов будут считаться не правильно (на основании первой закупки), даже при формировании прайса из 1С нужно выводить два типа продажных цен, цена и цена со скидкой, как-то сложно) Помогите, кто сталкивался..

Реализовал на 2 сайтах, создав 2 вида цен в 1С и определив один как основной, а второй как акционный. Вроде проще некуда :)

  • +1 1
Надіслати
Поділитися на інших сайтах


18 часов назад, indaled сказал:

Реализовал на 2 сайтах, создав 2 вида цен в 1С и определив один как основной, а второй как акционный. Вроде проще некуда :)

Спасибо, согласен что проще некуда) Меня больше смущает дальнейшее, мне нужно выводить прайс-листы, туда нужно выводить два типа цен, и даже если заказ оформлять в 1С непосредственно то нужно указывать цену продажную и параллельно смотреть цены со скидкой, в этом у меня загвоздка))

Надіслати
Поділитися на інших сайтах


Добрый день!

 

Разбил на сайте характеристики по группам, но при обмене с 1С все характеристики опять переносятся в группу "Свойства".

 

Подскажите, где найти эту функцию и что закоментировать, чтобы характеристики загружались и обновлялись но группы им не переназначались.

 

ps. характеристики это свойства. длина ширина вес цвет вольтаж и т,д.

Змінено користувачем pifpaf
Надіслати
Поділитися на інших сайтах


ocStore 2.3.0.2.3

exchange1c_1.6.3.12

Мой Склад

 

При выгрузке товаров в Мой Склад  пишет  - Получен некорректный ответ на запрос.

 

Вот текст полученного запроса:

2017-10-03 22:27:08 - PHP Notice:  Undefined index: type in /home/c/complevg/complementos.ru/public_html/export/exchange1c.php on line 203
2017-10-03 22:27:08 - PHP Notice:  Undefined index: type in /home/c/complevg/complementos.ru/public_html/export/exchange1c.php on line 226
2017-10-03 22:27:08 - PHP Notice:  Undefined index: type in /home/c/complevg/complementos.ru/public_html/export/exchange1c.php on line 258

Почему индекс не определён? Куда копать?

Надіслати
Поділитися на інших сайтах


ocStore 2.3.0.2.3

1.6.3.12_oc2.3

Ребят, помоги разобраться с проблемой. Установил на Денвер тестовый сайт. Установка всего проходит успешно, модуль установился после установки QuickFix OC, так как Денвер не умеет работать с FTP. В Менеджере дополнений модуль включен, но пытаюсь активировать его в "Дополнениях" вылетает:

 

image.thumb.png.f97a9e0c1c4eaaa08bd49b067056c188.png

 

 

Надіслати
Поділитися на інших сайтах


ocStore 2.3.0.2.3

1.6.3.12_oc2.3

 

При включении модуля тоже была такая ошибка.(Internal Server Error)

Что нашел:

 

controller/extentsion/module/exchange1c.php

строка 1073
Было - $this->module_extension_exchange1c->installUnits();
Надо - $this->model_extension_exchange1c->installUnits();

После исправления ручками удалил колонки unit_id и  product_feature_id в таблице префикс_cart

 

Активировал модуль.

 

После включения, страничка настройки модуля открывалась пустая.

Проблема возникала при отработки функции checkUpdates в этом же файле.

закомментировал

    $version = $this->update1_6_3_12($version, $message, $table_fields);

И все стартовало. Страничка настроек открылась.

По хорошему надо бы пробежаться еще и посмотреть, что делает эта функция, дабы потом не оконфузиться.

 

 

 

 

  • +1 2
Надіслати
Поділитися на інших сайтах


4 hours ago, branday said:

ocStore 2.3.0.2.3

1.6.3.12_oc2.3

 

При включении модуля тоже была такая ошибка.(Internal Server Error)

Что нашел:

 

controller/extentsion/module/exchange1c.php

строка 1073
Было - $this->module_extension_exchange1c->installUnits();
Надо - $this->model_extension_exchange1c->installUnits();

После исправления ручками удалил колонки unit_id и  product_feature_id в таблице префикс_cart

 

Активировал модуль.

 

После включения, страничка настройки модуля открывалась пустая.

Проблема возникала при отработки функции checkUpdates в этом же файле.

закомментировал

    $version = $this->update1_6_3_12($version, $message, $table_fields);

И все стартовало. Страничка настроек открылась.

По хорошему надо бы пробежаться еще и посмотреть, что делает эта функция, дабы потом не оконфузиться.

 

 

Спасибо, да модуль включился - но функции  checkUpdates нет в файле-обыскался. После включения - ошибка и все

Змінено користувачем valhome
Надіслати
Поділитися на інших сайтах


Виталий, доброго вечера! 

 

Есть потребность в реализации отключения пустых категорий. Как вариант отключать их уже на самом сайте, но очень перегружает лишними запросами к БД. Возможно ли реализовать на этапе импорта?

Надіслати
Поділитися на інших сайтах


В 19.09.2017 в 15:14, indaled сказал:

 

Удалось решить вопрос с прикреплением файлов, но вот на 2й тяму не хватает))))

 

Сейчас исходные данные такие:

В 1с добавил поля для сопутствующих товаров и прилепил их к CML в следующем виде:

  <Сопутствующие>
     <СопутствующийТовар Ид="45750b07-8e23-11e7-80ed-f079596a53f8"/>
     <СопутствующийТовар Ид="c8e473d2-8e24-11e7-80ed-f079596a53f8"/>
    </Сопутствующие>

те имеем Guid которые нужно преобразовать в id товара из `oc_product` и записать в `oc_product_related` в формате id (товара) => id (сопутствующего товара). 

Моих скудных знаний в php к сожалению не хватает не сие простейшее действие.

Более того, данные должны еще и обновляться. Единственный более менее адекватный вариант который мне видится - очищать  `oc_product_related` перед каждой выгрузкой и перезаписывать заново.

 

Вообщем прошу помощи :)

 

удалось частично решить вопрос, в private function parseProducts($xml, $classifier) дописал вот такой код:

// Сопутствующие
if ($product->Сопутствующие) {
	$data['related'] = array();
	$data['related'] = $product->Сопутствующие;
	$el='';
	foreach($data['related']->СопутствующийТовар as $el)
		{	
			$this->query("INSERT INTO `oc_product_related` SET `product_id` = '" . $this->getProductIdByGuid($product->Ид) . "', `related_id` = '" . $this->getProductIdByGuid($el['Ид']) . "'");
		}
}

В целом все вроде работает, сопутствующие товары добавляются, но после этой вставки начала происходить какая то вакханалия, некоторые товары перестали попадать в выгрузку без объяснения причин. Подозреваю что пользоваться getProductByGuid таким варварским способом нельзя. Так же не могу придумать в какое место запихать запрос на очистку таблицы oc_product_related. Очень хочу помощи, мои знания PHP не дают довести до ума :( 

Надіслати
Поділитися на інших сайтах


On 07.10.2017 at 8:18 PM, valhome said:

 

 

Спасибо, да модуль включился - но функции  checkUpdates нет в файле-обыскался. После включения - ошибка и все

 

Извиняюсь, checkUpdates надо поправить в файле admin/model/extentsion/exchange1c.php

  • +1 1
Надіслати
Поділитися на інших сайтах


Коллеги, просьба помоги найти проблему:

УНФ 1,6

Версия модуля: 1.6.3.12 

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

image.png.2e07352179d7f6ca372c7149b2a368b6.png

 

Сам файл в приложении. Подскажите куда копать?

offers.xml

Змінено користувачем valhome
Надіслати
Поділитися на інших сайтах


  • dinox changed the title to Модуль обмена для opencart v2.3 с учетной системой по стандарту CommerceML [Поддержка]

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.