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

Модуль Синхронизация OpenCart 2.0 c 1C [Поддержка]


Serdes

Recommended Posts

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

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

 

Вы на OSStore тестите, или на оригинальной сборке OpenCart?

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


Вы на OSStore тестите, или на оригинальной сборке OpenCart?

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

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

Добрый день!

Подскажите пожалуйста, суть вопроса в следующем: 1. Я установил данный чудо модуль-> прописал все как нужно, протестил, все работает. Но тут возникает следующий вопрос!

При первой выгрузке товара и категорий созданных в "класс 365" в интернет магазин все отлично выгружается, а если я удалю в ручном режиме категорию либо товар с админ панели (opencart)! То, при повторной выгрузке ранее удаленной  категории с класс 365, данная категория больше не отображается на странице интернет магазина , нО при этом отображается в админ панели магазина (после чего с ней нельзя ни чего сделать, настройки не перезаписываются).

Так же если взять и создать новую категорию в "класс 365" и выгрузить ее, то на главной странице интернет магазина она появиться и в админке opencart  настройки по данной категории будут сохраняться! Но если же опять я ее  удалю то модуль не позволит потом при повторной выгрузке отобразить ее (категория) снова!

 

Решая данную проблему всем миром, к кому я только не обращался! Все ссылаются только на модуль ( и шлют меня к разработчику)  и именно на файл распологающийся по адресу: /admin/model/tool наименование файла : exchange1c.php. Данный файл, говорят все! Отвечает за обработку всей информации, Как все говорят что возможно там не прописан код чистящий "кэш" после того как я удаляю категорию либо товар с админ панели и "рефрешер" позволяющий перезаписывать файлы которые будут считаться якобы заново добавленные .

 

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

Заранее большое спасибо за внимание и понимание!

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


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

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


Импорт идет.

Но вот так выгружается с ошибками. Настройки в скринах. Причем. картинки выгружает, товары выгружает, заказы выгружает... цены с нулями... а в скидках стоит что от 0 скидка такая-то и это цена!! там цифра которая должна быть ценой. Если в настройках не ставить галки с заменой... то вообще ошибок нету, только цены

post-693228-0-78397500-1453288588_thumb.jpg

post-693228-0-93730300-1453288589_thumb.jpg

post-693228-0-16873100-1453288817_thumb.jpg

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


Господа. Всем добрый вечер.

Решил поделиться своей модификацией ентого модуля.

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

связано это с тем, что эти сервисы не совсем корректно используют протоколы передачи. Например Класс гонет данные методом Put, а не постом.

как следствие, появляется ошибка при передаче.

 

поэтому я слегка заколхозил функцию

public function modeFile() {}

 

который находится в admin/controller/module/exchange1c.php

 

вместо

// Получаем данные
		$data = file_get_contents("php://input");

		if ($data !== false) {
			if ($fp = fopen($uplod_file, "wb")) {
				$result = fwrite($fp, $data);

				if ($result === strlen($data)) {
					echo "success\n";

					chmod($uplod_file , 0777);
					//echo "success\n";
				}
				else {
					echo "failure\n";
				}
			}
			else {
				echo "failure\n";
				echo "Can not open file: $uplod_file\n";
				echo $cache;
			}
		}
		else {
			echo "failure\n";
			echo "No data file\n";
		}

прикрутил

		// Получаем данные
			
		// _POST
		if (!empty($_POST)){
			$content = file_get_contents('php://input');
			file_put_contents($uplod_file, $content);
		}
		  
		//_PUT
		if($_SERVER['REQUEST_METHOD'] == 'PUT') {
			
			/* Открываем файл на чтение */
			$putdata = fopen("php://input", "r");
			$fp = fopen($uplod_file, "w");
			
			/* Читаем 1 KB данных за один раз  и пишем в файл */
			while ($data = fread($putdata, 1024))
			fwrite($fp, $data);
			
			/* Закрываем потоки */
			fclose($fp);
			fclose($putdata);
		}										
		
		// проверяем на наличие файла
		if (file_exists ($uplod_file) && filesize ($uplod_file) > 0){
			echo "success\n";
		}
		else
		{
			echo "failure\n";
			echo "Error saving file \n";
		}	

после данной модификации модуль начал работать с моим складом

Понимаю, что там минимум проверок, но думаю кому-нить будет полезно

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


Добрый день=) Можно глупый вопрос?? Только меня смущает что оно раз за разом все перезаписывает?? и как это можно исправить???

Спасибо.

Правильно, то, что он вас смущает ). Не надо перезаписывать, а нужно просто обновлять.

 

Господа. Всем добрый вечер.

Решил поделиться своей модификацией ентого модуля.

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

связано это с тем, что эти сервисы не совсем корректно используют протоколы передачи. Например Класс гонет данные методом Put, а не постом.

как следствие, появляется ошибка при передаче.

 

поэтому я слегка заколхозил функцию

public function modeFile() {}

 

который находится в admin/controller/module/exchange1c.php

 

вместо

// Получаем данные

        $data = file_get_contents("php://input");

        if ($data !== false) {

            if ($fp = fopen($uplod_file, "wb")) {

                $result = fwrite($fp, $data);

                if ($result === strlen($data)) {

                    echo "success\n";

                    chmod($uplod_file , 0777);

                    //echo "success\n";

                }

                else {

                    echo "failure\n";

                }

            }

            else {

                echo "failure\n";

                echo "Can not open file: $uplod_file\n";

                echo $cache;

            }

        }

        else {

            echo "failure\n";

            echo "No data file\n";

        }

прикрутил

        // Получаем данные

            

        // _POST

        if (!empty($_POST)){

            $content = file_get_contents('php://input');

            file_put_contents($uplod_file, $content);

        }

        

        //_PUT

        if($_SERVER['REQUEST_METHOD'] == 'PUT') {

            

            /* Открываем файл на чтение */

            $putdata = fopen("php://input", "r");

            $fp = fopen($uplod_file, "w");

            

            /* Читаем 1 KB данных за один раз и пишем в файл */

            while ($data = fread($putdata, 1024))

            fwrite($fp, $data);

            

            /* Закрываем потоки */

            fclose($fp);

            fclose($putdata);

        }                                        

        

        // проверяем на наличие файла

        if (file_exists ($uplod_file) && filesize ($uplod_file) > 0){

            echo "success\n";

        }

        else

        {

            echo "failure\n";

            echo "Error saving file \n";

        }    

после данной модификации модуль начал работать с моим складом

Понимаю, что там минимум проверок, но думаю кому-нить будет полезно

Спасибо за то, что поделился. 

 

 

Добрый день.

А как у этого модуля с выгрузкой "Производителя"?

 

Есть Бренд, а есть страна-производитель. Поэтому люди к этому вопросу подходят творчески. Кому как надо, так переписывают модуль.

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

Есть Бренд, а есть страна-производитель. Поэтому люди к этому вопросу подходят творчески. Кому как надо, так переписывают модуль.

 

С Вашей помощью возможно решить этот вопрос? На платной основе, ес-но.

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


С Вашей помощью возможно решить этот вопрос? На платной основе, ес-но.

Да, конечно. Дело недолгое.

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

Столкнулся с проблемой при установке на octore 2.1.0.2 

Notice: Error: Could not load model /var/www/мойсайт/data/www/мойсайт.ru/admin/model/sale/customer_group.php! in /var/www/мойсайт/data/www/мойсайт.ru/system/engine/loader.php on line 63 

описанный ниже способ помог исправить ошибку.

 

admin\controller\module\exchange1c.php

 

if (VERSION !== '2.1.0.1') {
$this->load->model('sale/customer_group');
$data['customer_groups'] = $this->model_sale_customer_group->getCustomerGroups();
} else {
$this->load->model('customer/customer_group');
$data['customer_groups'] = $this->model_customer_customer_group->getCustomerGroups();
}
Проверь версию своего opencart, если не совпадает измени. Я изменил 2.1.0.1 на 2.1.0.1.1 все работает

 

Ошибка появлялась при обращении к модулю из админки. Устанавливался нормально. Изменил 2.1.0.1 на 2.1.0.2 и вызываться модуль стал нормально. Буду дальше разбираться с настройками.

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


Следующая проблема с которой столкнулся.

Выгружается товар, но не выгружается цена ( возможно и количество, не ставил выгрузку).

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

 

Тестовая машина:
Win7 Pro x64
PHP 5.3
MySQL 5.5
1C 8.2.19 + Комплексная автоматизация 1.1.44
 
Товары и категории загружаются, цены и остатки на складе - нет.
 
Пол дня кода и логов и все заработало:
 
admin/model/tool/exchange1c.php
 
1)
$query = $this->db->query("SHOW TABLES FROM " . DB_DATABASE . " LIKE '" . DB_PREFIX . "manufacturer_description'");
исправить на
$query = $this->db->query("SHOW TABLES FROM `" . DB_DATABASE . "` LIKE '" . DB_PREFIX . "manufacturer_description'");

(косые кавычки вокруг имени базы)

 
 
2)
if ($product_id !== false and $data['sky']!='') {

исправить на

if ($product_id !== false and $data['sku']!='') {

(sky на sku)

 
 
3) Найти и заменить:
все seo_h1     на   meta_h1
все seo_title  на   meta_title
 
Автор, просьба закоммитить.

 

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

Отмечу что тестировал это на Осторе 2.1.0.2  и 1С УТ 2.0.36.1 для Беларуси. На предыдущем тесте Опенкарт 2.0.3.1 и УТ 2.0.36.1 выгрузка пошла без данных манипуляций и проблем описанных в предыдущем посте.

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


Автору респект за работу!

 

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

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


Сам ломал голову над этим, когда узнал что в 1С артикул заполняется только вручную и не проверяется на уникальность, а стандартное автозаполняемое поле 1С - "Код" не присутствует в выгрузке.

 

Однако один добрый человек подсказал очень простое решение - есть обработка для 1С в которой всего одна кнопка, нажимаем, и артикулы в 1C = Код 1С (перезаписываются артикулы всей номенклатуры, и нужно нажимать каждый раз после заведения новой).

 

А дальше дело техники и напильника, артикул из 1С выгружается в модель Opencart, которую можно переименовать в артикул, код и тд. Я же хочу пойти еще дальше - использовать этот код в качестве ID товара в Opencart, в этом случае даже если случится хаос при выгрузке и придется очистив товары Opencart заново выгрузить их из 1С, магазин не превратится в помойку и все комментарии к товарам, рекомендуемые товары, и др сторонние модули которые привязаны к товарам, останутся привязаны именно к тому к чему их привязывали изначально.

 

Если же вы в 1С используете артикулы производителя, то да, этот метод не подходит.

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


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

 

Еще вопрос: у меня не выгружается на сайт описание номенклатуры. Свойства товара выгружаются без проблем. Кто-нибудь  решал данную проблему?

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


Джентельмены, еще вопрос.

 

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

 

Выгрузка товаров успешно завершена

В каталог "Запчасти" выгружено товаров: 104, картинок: 0, файлов: 0, предложений: 104
 
Но при этом структура каталога на сайте не меняется. Пробовал создавать на сайте одноименный каталог ("Запчасти").
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Доброго дня всем!

Подскажите а кто как решил вопрос с тем что не выгружаются "Производители"?

Добрый день, у меня в УТ 11 это решилось тем, что в номенклатуре создан дополнительный реквизит "Производитель", при этом модуль обмена в opencart нормально отрабатывает этот реквизит и загружает как надо. А тот реквизит "производитель", который идет в 1С по умолчанию, в XML выгружает в поле "Изготовитель" и модуль обмена opencart его не видит.

пару скринов как оно выглядит в 1С

 

post-688822-0-65472900-1455182815_thumb.png

post-688822-0-24129700-1455182867_thumb.png

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


Добрый день, у меня в УТ 11 это решилось тем, что в номенклатуре создан дополнительный реквизит "Производитель", при этом модуль обмена в opencart нормально отрабатывает этот реквизит и загружает как надо. А тот реквизит "производитель", который идет в 1С по умолчанию, в XML выгружает в поле "Изготовитель" и модуль обмена opencart его не видит.

пару скринов как оно выглядит в 1С

И еще кроме этого выяснилось, что таким же образом можно выгружать из 1С теги title, h1 и порядок сортировки в opencart, для этого нужно создать дополнительные реквизиты с названиями: oc.meta_h1, oc.meta_title, oc.sort_order, в модуле уже прописана их обработка))

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


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

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

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

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

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

Вхід

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

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

Important Information

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