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

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


Recommended Posts

Добрый день! Прошу Вашей помощи! При выгрузке Каталога Товаров у меня есть Свойство Производитель. И все бы ничего (Все производители залетают, в БД проставлены связи 1С-ОС производителей), но при обработке товара вот тут https://github.com/KirilLoveVE/opencart2-exchange1c/blob/master/upload/admin/model/tool/exchange1c.php#L1685 у меня в $classifier  пустой массив. Соответсвенно у товара не проставляется связь с производителем. Файлы передаются и обрабатываются друг за другом. Файл со Свойствами передается ранее и обрабатывается корректно(без ошибок, в $classifier есть необходимые данные по свойствам). И вот тут я не понимаю. Это мне не правильно выгружают из 1С? Эти два файла должны быть объединены в один, чтобы обработать и Классификатор (занести необходимые свойства) и сразу перейти к обработке Товаров? Как быть при выгрузке свойств?

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


16 часов назад, Kirillove сказал:

какой версии модуль последний раз ставили?

Для какой CMS?

в файле /admin/model/tool/exchange1c.php в конце есть функции update... посмотри какая у тебя там последняя версия, на функции перехода с 13 версии скорее всего ошибка получилась....

Ставил сразу 1.6.2.b23 

для ocStore 2.1.0.2.1

Последняя функция:

private function update1_6_2_b12($version, &$message) {

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


Виталий, Вы написали :

Данный модуль предназначен для обмена с сайтом opencart, ocstore, ocshop версий 2.1.x в формате CommerceML версий 2.03 и выше. 

Я загрузил 1.6.2.b24 версию и картинки все равно не встают

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


В 11.02.2017 в 03:24, indaled72 сказал:

Как можно решить проблему с картинками и с отправкой большого объема данных?

С картинками пока не понятно, завтра гляну, а вот проблему с памятью решит порционная выгрузка из 1С. Поставьте в настройках например выгружать порциями по 500 товаров. Модуль поддерживает порционную выгрузку.

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

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

Виталий, Вы написали :


Данный модуль предназначен для обмена с сайтом opencart, ocstore, ocshop версий 2.1.x в формате CommerceML версий 2.03 и выше. 

Я загрузил 1.6.2.b24 версию и картинки все равно не встают

Проверьте создана ли папка import_files в папке с картинками /images/import_files/ в эту папку сохраняются картинки из 1С

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

10 часов назад, Kirillove сказал:

Проверьте создана ли папка import_files в папке с картинками /images/import_files/ в эту папку сохраняются картинки из 1С

Да, там все картинки.

Я думаю проблема в том что модуль читает XML и ищет там массив с ключом "Картинка", а его нет

admin/model/tool/exchange1x.php:3956
				// картинки
				if ($product->Картинка)
					$this->parseImages($product->Картинка, $data);

потому что в CML 2.04 картинки записаны следующим образом:

<Товар> -> <ОсновнаяКартинка>
<Товар> -> <Картинка1>
<Товар> -> <Картинка2>
...

При замене ключа, на любой существующий, модуль выгружает одну картинку.

Для старых CML нужно сделать проверку на версию и если тру, создать новый массив с ключом "Картинка" и сложить туда все картинки...

К сожалению, я уже третий день получаю ошибку, когда пытаюсь реализовать эту логику))

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


Да, там все картинки.
Я думаю проблема в том что модуль читает XML и ищет там массив с ключом "Картинка", а его нет
admin/model/tool/exchange1x.php:3956			// картинки			if ($product->Картинка)				$this->parseImages($product->Картинка, $data);

потому что в CML 2.04 картинки записаны следующим образом:

<Товар> -> <ОсновнаяКартинка><Товар> -> <Картинка1><Товар> -> <Картинка2>...

При замене ключа, на любой существующий, модуль выгружает одну картинку.
Для старых CML нужно сделать проверку на версию и если тру, создать новый массив с ключом "Картинка" и сложить туда все картинки...
К сожалению, я уже третий день получаю ошибку, когда пытаюсь реализовать эту логику))


Все можно сделать проще, сегодня выложу вечером новую версию

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

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

Всем бобра!

Давеча просил Виталия прикрутить выгрузку отзывов в модуль, так вот под спойлером видео (наконец то выгрузилось в ютуб...), где приятный голос Гугла рассказывает как я сделал себе отзывы в 1с-ке и выгрузил их на сайт, может кому будет полезным...

Скрытый текст

ЗЫ: На версии b25 отзывы выглядят уже приятнее, и просил сделать правки, чтобы в ручную не создавать поля в таблицах БД Опенкарта....Может в теме есть 1с-ники, которые поправят меня в алгоритме формирования секции в файле import.xml

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


Кто-нибудь использует название товара на сайта из реквизита товара "ПолноеНаименование"? Почему спрашиваю потому-что эта возможность будет исключена в версии 1.6.2.b.27, но появится в следующих в виде многофункциональной таблицы загрузки данных. Но зато можно будет задать свое текстовое поле откуда брать наименование товара, это будет не шаблон.

Если есть предложения, пишите.

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

В начале использовал в качестве более расширенного описания, потом задолбался его писать и стал делать там дубликат наименования. Этому ещё способствовал тот момент, что в отчётах и шаблонах документов 1С царил цирк - в каких-то документах бралось краткое наименование, в каких-то полное. Изучать это опытным путём тоже в какой-то момент надоело, решил просто использовать достаточно понятное единое общее наименование.

Если сделаешь это поле отдельным выгружаемым реквизитом - хуже не будет, каждый сам определится, чего он от этого поле хочет и куда его в карточку товара в ИМ сопоставить.

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


Подскажите плз - при обмене товары выгрузились гуд. Включил обмен заказами и получил ошибку:

Обмен не выполнен
Не удалось обработать значение элемента (Документ.Валюта) = (руб.).
Не удалось разобрать данные, загруженные с сервера.
Обмен не выполнен
Не выгружен ни один заказ.
Обмен заказами завершен с ошибками!!!

На сайте и в 1С валюта в грн

upd: сам спросил - сам решил. В настройках модуля не выставил валюту. По умолчанию руб

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


7 часов назад, Kirillove сказал:

Кто-нибудь использует название товара на сайта из реквизита товара "ПолноеНаименование"? Почему спрашиваю потому-что эта возможность будет исключена в версии 1.6.2.b.27, но появится в следующих в виде многофункциональной таблицы загрузки данных. Но зато можно будет задать свое текстовое поле откуда брать наименование товара, это будет не шаблон.

Если есть предложения, пишите.

Ну как минимум я использую)

краткое выводится для этикетки и ценника.Всю информацию там не разместить

(наименование-модель-производитель-цвет/вес и т.д.) получается длинное

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

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


12 часов назад, IronMann сказал:

В начале использовал в качестве более расширенного описания, потом задолбался его писать и стал делать там дубликат наименования. Этому ещё способствовал тот момент, что в отчётах и шаблонах документов 1С царил цирк - в каких-то документах бралось краткое наименование, в каких-то полное. Изучать это опытным путём тоже в какой-то момент надоело, решил просто использовать достаточно понятное единое общее наименование.

Если сделаешь это поле отдельным выгружаемым реквизитом - хуже не будет, каждый сам определится, чего он от этого поле хочет и куда его в карточку товара в ИМ сопоставить.

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

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

5 часов назад, Blade сказал:

Ну как минимум я использую)

краткое выводится для этикетки и ценника.Всю информацию там не разместить

(наименование-модель-производитель-цвет/вес и т.д.) получается длинное

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

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

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

Виталий прошу объяснить в чем тайный смысл этого поля name в oc_manufacturer_description ? Для чего оно необходимо если по умолчанию отсутствует в базе и фактически является дублем h1 ? Почему не использовать его ?


И я так понимаю в модуле нет запроса к базе на добавление этого поля
ALTER TABLE `oc_manufacturer_description` ADD `name` VARCHAR(255) NOT NULL

в "oc_manufacturer_description" есть только "meta_h1"

 

     * Определение дополнительных полей и запись их в глобальную переменную типа массив
     * Позже эта функция будет запускаться только один раз и храниться в настройках
     */
    private function defineAdditionalFields() {
        $this->log("Поиск в базе данных дополнительных полей",2);
        $tables = array(
            'manufacturer'                => array('noindex'=>1),
            'product_to_category'        => array('main_category'=>1),
            'product_description'        => array('meta_h1'=>''),
            'category_description'        => array('meta_h1'=>''),
            'manufacturer_description'    => array('name'=>'','meta_h1'=>''),
            'product'                    => array('noindex'=>1),
            'order'                        => array('payment_inn'=>'','shipping_inn'=>'','patronymic'=>'','payment_patronymic'=>'','shipping_patronymic'=>''),
            'customer'                    => array('patronymic'=>''),
            'cart'                        => array('product_feature_id'=>0,'unit_id'=>0),
            'attributes_value'            => array(),
            'attributes_value_to_1c'    => array(),
        );

 

Из за его отсутствия модуль не производит обмен данными.Добавил.Все пошло хорошо.Но вот для чего оно не ясно(( А если необходимо почему не добавляется модулем ?  Короче зачем два одинаковых поля ? 

 

Скрытый текст

65d8639e3db3.jpg

 

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


15 часов назад, Kirillove сказал:

Кто-нибудь использует название товара на сайта из реквизита товара "ПолноеНаименование"? Почему спрашиваю потому-что эта возможность будет исключена в версии 1.6.2.b.27, но появится в следующих в виде многофункциональной таблицы загрузки данных. Но зато можно будет задать свое текстовое поле откуда брать наименование товара, это будет не шаблон.

Если есть предложения, пишите.

Я не использую. Но задумка хорошая, потом вообще в можно будет миксовать это поле из разных реквизитов при выгрузке, а-ля: "Ведро стальное, эмалированное, 5л по цене.... + прочая сеошная соль"

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


Скрытый текст

италий прошу объяснить в чем тайный смысл этого поля name в oc_manufacturer_description ? Для чего оно необходимо если по умолчанию отсутствует в базе и фактически является дублем h1 ? Почему не использовать его ?


И я так понимаю в модуле нет запроса к базе на добавление этого поля
ALTER TABLE `oc_manufacturer_description` ADD `name` VARCHAR(255) NOT NULL

в "oc_manufacturer_description" есть только "meta_h1"

 

     * Определение дополнительных полей и запись их в глобальную переменную типа массив
     * Позже эта функция будет запускаться только один раз и храниться в настройках
     */
    private function defineAdditionalFields() {
        $this->log("Поиск в базе данных дополнительных полей",2);
        $tables = array(
            'manufacturer'                => array('noindex'=>1),
            'product_to_category'        => array('main_category'=>1),
            'product_description'        => array('meta_h1'=>''),
            'category_description'        => array('meta_h1'=>''),
            'manufacturer_description'    => array('name'=>'','meta_h1'=>''),
            'product'                    => array('noindex'=>1),
            'order'                        => array('payment_inn'=>'','shipping_inn'=>'','patronymic'=>'','payment_patronymic'=>'','shipping_patronymic'=>''),
            'customer'                    => array('patronymic'=>''),
            'cart'                        => array('product_feature_id'=>0,'unit_id'=>0),
            'attributes_value'            => array(),
            'attributes_value_to_1c'    => array(),
        );

 

Из за его отсутствия модуль не производит обмен данными.Добавил.Все пошло хорошо.Но вот для чего оно не ясно(( А если необходимо почему не добавляется модулем ?  Короче зачем два одинаковых поля ? 

Этот name в описаниях мануфактур то пропадает, то появляется в разных релизах Опенкарт....похоже на прикол разработчиков.

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


Виталий на всякий случай (раз адаптация идет под разные версии)

структура баз опенкартПРО

2.1

https://github.com/ocshop/ocshop/blob/oc-2.1.0.2/upload/install/opencart.sql

2.3

https://github.com/ocshop/ocshop/blob/oc-2.3.0.2.1/upload/install/opencart.sql

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


Виталий на всякий случай (раз адаптация идет под разные версии)
структура баз опенкартПРО
2.1
https://github.com/ocshop/ocshop/blob/oc-2.1.0.2/upload/install/opencart.sql
2.3
https://github.com/ocshop/ocshop/blob/oc-2.3.0.2.1/upload/install/opencart.sql

Пока тормознулась разработка для 2.3 так как сейчас вносятся большие изменения для 2.1

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

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

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

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

Да, это решение уже давно назревает.

 

У тебя прототип этого присутствует в закладке "Товары" в виде абзаца "Запись свойств товара определяемыми пользователем из торговой системы".

Надеюсь, после реализации, удастся решить вопрос, о котором я тебе писал, в частности - в карточку товара записывать логистические характеристики товара - вес брутто и габариты упаковки, а в атрибуты товара - вес нетто и габариты собственно изделия. 

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


8 минут назад, Kirillove сказал:


Пока тормознулась разработка для 2.3 так как сейчас вносятся большие изменения для 2.1
 

Самое смешное, что активно тестирую я твой модуль на 2.1, но рабочий сайт уже начал настраивать на базе 2.3 и ожидание версии твоего модуля под 2.3 весьма и весьма актуально. :) 

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


Короче засада

колонка name в базе опенкартПро ломает страницу производителя

при ее переименовании становится правильно

Виталий просьба не упустить этот момент и поправить

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


Сам над этим пол дня думаю. Допустим в количество мы сможем загнать общую сумму всех опций, а вот с ценой )))) Либо тогда каждой опции в 1c ставить цену например первой 20 второй 30 третей 40. Получается на товар в опенкарт можно загнать самую минимальную 20 затем эти 20 вычесть из каждой опции и поставить уже в опенкарте на первую 0 на вторую 10 и на третью 20. И при + к цене на сайте все будет корректно отображаться ))))

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

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

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

Виталий, с утра бьюсь с этим непонятным полем name

подскажи как изменить model/tool/exchange что бы использовалось поле meta_h1 и не требовалось поле name ??

сайт поломал из за него

бэкап то восстановить не проблема, проблема то что с версии 21 по 27 он на ОпенкартПро не работает

Зачем оно и для чего необходимо ??

При добавлении этого поля ломается страница и вывод производителей

 

$tables = array(
            'manufacturer'                => array('noindex'=>1),
            'product_to_category'        => array('main_category'=>1),
            'product_description'        => array('meta_h1'=>''),
            'category_description'        => array('meta_h1'=>''),
            'manufacturer_description'    => array('name'=>'','meta_h1'=>''),
            'product'                    => array('noindex'=>1),
            'order'                        => array('payment_inn'=>'','shipping_inn'=>'','patronymic'=>'','payment_patronymic'=>'','shipping_patronymic'=>''),
            'customer'                    => array('patronymic'=>''),
            'cart'                        => array('product_feature_id'=>0,'unit_id'=>0),
            'attributes_value'            => array(),
            'attributes_value_to_1c'    => array(),

 

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


Виталий, с утра бьюсь с этим непонятным полем name
подскажи как изменить model/tool/exchange что бы использовалось поле meta_h1 и не требовалось поле name ??
сайт поломал из за него
бэкап то восстановить не проблема, проблема то что с версии 21 по 27 он на ОпенкартПро не работает
Зачем оно и для чего необходимо ??
При добавлении этого поля ломается страница и вывод производителей
 
$tables = array(
            'manufacturer'                => array('noindex'=>1),
            'product_to_category'        => array('main_category'=>1),
            'product_description'        => array('meta_h1'=>''),
            'category_description'        => array('meta_h1'=>''),
            'manufacturer_description'    => array('name'=>'','meta_h1'=>''),
            'product'                    => array('noindex'=>1),
            'order'                        => array('payment_inn'=>'','shipping_inn'=>'','patronymic'=>'','payment_patronymic'=>'','shipping_patronymic'=>''),
            'customer'                    => array('patronymic'=>''),
            'cart'                        => array('product_feature_id'=>0,'unit_id'=>0),
            'attributes_value'            => array(),
            'attributes_value_to_1c'    => array(),
 

Через пару часов смогу ответить только, очень занят

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

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

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

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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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