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

Kirillove

Користувачі
  
  • Публікації

    1 598
  • З нами

  • Відвідування

Усі публікації користувача Kirillove

  1. Пришлось затронуть в модуле работу остатков тоже, так как общий остаток при наличии характеристик будет суммироваться по остаткам характеристик. При полной выгрузке из торговой системы теперь будут очищаться: остатки, цены, опции, характеристики. При частичной будет только добавление и изменение. Добавилась колонка product_id в таблицу product_feature
  2. Картинки всегда отправляются раньше этих файлов. Да и мой модуль при чтении import проверяет наличие файла, он же не ругается, значит файл картинки там есть. Вечером сегодня проверю. Отправлено с моего Power Five Evo через Tapatalk
  3. 1С штатно как понял выгружает только базовую, с модулем битрикс скорее всего выгрузит и другие, а дальше я не тестил, но такая возможность есть записывать у товара несколько единиц измерений, это таблица product_unit Отправлено с моего Power Five Evo через Tapatalk
  4. У Вас файлы передаются по отдельности, картинки передаются на сервер раньше. Модуль их успешно обрабатывает судя по логу.... Скиньте полный архив вашей выгрузки: import_files, import.xml и offers.xml
  5. В b29 версии доработан фильтр IP адресов, например для работы с мой склад можно указать подсеть: 95.213.152 31.186.102 Таким образом будут разрешены все адреса в подсетях 95.213.152.ХХХ и 31.186.102.ХХХ или 31.186 будет разрешен всем 31.186.ХХХ.ХХХ
  6. последние версии модуля дублируют записи каждого товара в таблице product_to_1c при каждом обмене! Пока не смотрел с какой это версии началось, но скажу что эта строчка в функции setProduct() // Если нашли, запишем связь if ($data['product_id']) $this->query("INSERT INTO `" . DB_PREFIX . "product_to_1c` SET `product_id` = '" . (int)$data['product_id'] . "', `1c_id` = '" . $this->db->escape($data['product_cml_id']) . "'"); Но ее отключение иногда может вызвать ошибку, особенно если база имеет товары, а связи удалены или еще не настроены! В b29 версии будет исправлено.
  7. 1С у Вас выгружает что-ли один и тот же файл? У Вас какая редакция конфигурации 1С? Сделайте копию настройки обмена в 1С и выгрузите не на сайт а в каталог и посмотрите что там.
  8. Я продолжал тестировать новую версию модуля с системой "Мой Склад" и обнаружил что она рвет товар с характеристиками на несколько частей, например выгружает первую характеристику, затем другой товар и следом опять предыдущий товар с второй характеристикой. При таком обмене общий остаток товара записывался неверно, только по последней характеристике, но по характеристикам он был правильный. Это пришлось исправлять. Но даже при такой выгрузке характеристики и опции модуль обрабатывает правильно.
  9. Я постараюсь разобраться и может не придется править в 1С определение кодировки, когда заказы доделаю, уже на этой неделе.
  10. Со старой замените файл в папке export посмотрите в чем разница и выложите для ознакомления тут старый и новый файл
  11. 1С пишет в журнале регистрации что отправляет картинки? Если пишет, проверьте наличие папки import_files в папке /image, если нет, проверьте лог opencart на наличие ошибки. Если выгружаете архивом, включите в модуле лог в режиме отладка и проверьте в логе как идет распаковка архива, если отдельными файлами проверьте в логе сервера access_log есть ли записи о передаче картинок.
  12. С 1С подтягиваются склады, и если 1С выгружает остатки по складам то в таблице product_quantity хранятся остатки по складам, а в товаре общий. Список складов находится в таблице warehouse.
  13. Сегодня зарегился на "Мой склад", создал тестовый товар, приход, короче выгрузил все товаров и цены и даже модификации загрузились, остатки по каждой модификации и также названия склада. У товара только картинки не выгрузились так как "Мой склад" не выгружает картинки, не нашел где это включается. Также проверил загрузку заказов, тоже сначала ошибка с кодировкой была а потом все поправил. Заказы "Мой склад" не выгружает, так что обмен статусами невозможен. Синхронизацию настраивал с "Битрикс" История событий: Товар на моем сервере доступен по ссылке: http://ocstore21021.ptr-print.ru/gruppa-001-25/tovar-001-194.html ссылка может действовать не долго
  14. Сегодня зарегился на "Мой склад", создал тестовый товар, приход, короче выгрузил все товаров и цены и даже модификации загрузились, остатки по каждой модификации и также названия склада. У товара только картинки не выгрузились так как "Мой склад" не выгружает картинки, не нашел где это включается. Также проверил загрузку заказов, тоже сначала ошибка с кодировкой была а потом все поправил. Заказы "Мой склад" не выгружает, так что обмен статусами невозможен. Синхронизацию настраивал с "Битрикс" История событий: Товар на моем сервере доступен по ссылке: http://ocstore21021.ptr-print.ru/gruppa-001-25/tovar-001-194.html ссылка может действовать не долго
  15. Можете забрать через экспорт модуля сырую версию с моего сервера http://opencart2302.ptr-print.ru/export/exchange1c.php?module=export Только напишите чтобы я ваш адрес добавил в список разрешенных Но имейте ввиду что отличаются даже таблицы! Отправлено с моего Power Five Evo через Tapatalk
  16. В последней версии это сделать нельзя, возьмите предыдущую версию модуля. В будущем это можно будет сделать, временные переделки Отправлено с моего Power Five Evo через Tapatalk
  17. Так тогда надо и описания товаров, остатки, единицы измерения, цены и атрибуты очищать, или вам все равно что в базе останутся связи на несуществующие товары? Отправлено с моего Power Five Evo через Tapatalk
  18. Сразу при загрузке товаров генерит поля в товарах, категориях и производителях, можете отключить его и использовать сторонний Отправлено с моего Power Five Evo через Tapatalk
  19. Скидки передаются в файле в 1С, только еще руки не доходили до заказов, вот только сейчас плотно этим занялся. Отправлено с моего Power Five Evo через Tapatalk
  20. Это к раз сейчас внедряется, и можно будет выбрать куда будут выгружаться услуги. Ждите к концу недели новую версию. Отправлено с моего Power Five Evo через Tapatalk
  21. Ean это штрих-код, поле не очень длинное, можно использовать поле mpn оно длиннее. В модуле её проще переделать, у меня в него пишется Ид объекта 1С. Покажи кусок файла xml где это поле выгружается я скажу где что подправить. Отправлено с моего Power Five Evo через Tapatalk
  22. Следующую версию следует ждать к концу недели, так как много изменений, и надо будет все тщательно проверить, если найдете ошибки пишите, все исправлю в новой версии. Скажу сразу! Модуль будет обновлен до версии 1.6.3.b1 это связано с тем что из модуля будут вырезаны все обновления начиная с версии 1.6.2.b9, но модуль также можно будет установить не удаляя настройки.Самый простой вариант - перезаписать файлы, но в этом случае модификатор придется обновлять через менеджер (во вложении). Либо стандартный: удаляем модификатор, и устанавливаем модуль, после чего надо обязательно зайти в настройки модуля все проверить и ЗАПИСАТЬ! изменения. modification_manager.2.2.oc2.x.ocmod.zip
  23. Были внесены изменения в обработку файлов, необходимо в файле admin/controller/module/exchange1c.php заменить функцию modeFile() /** * Обрабатывает загруженный файл на сервер */ public function modeFile() { if (!$this->checkAuthKey()) exit; $cache = DIR_CACHE . 'exchange1c/'; // Проверяем на наличие каталога if(!is_dir($cache)) mkdir($cache); // Проверяем на наличие имени файла if (isset($this->request->get['filename'])) { $uplod_file = $cache . $this->request->get['filename']; } else { $this->log( "[ERROR] No file name variable",1); exit; } // Проверяем XML или изображения if (strpos($this->request->get['filename'], 'import_files') !== false) { $cache = DIR_IMAGE; $uplod_file = $cache . $this->request->get['filename']; $this->checkUploadFileTree(dirname($this->request->get['filename']) , $cache); } // Проверка на запись файлов в кэш $cache = DIR_CACHE . 'exchange1c/'; if (!is_writable($cache)) { $this->log("[ERROR] Папка " . $cache . " не доступна для записи",1); $this->echo_message(0, "The folder " . $cache . " is not writable!"); exit; } $this->log("upload file: " . $uplod_file,2); // Получаем данные $data = file_get_contents("php://input"); if ($data !== false) { // Записываем в файл file_put_contents($uplod_file, $data); if (file_exists($uplod_file)) { chmod($uplod_file , 0664); $this->echo_message(1, "The file " . $this->request->get['filename'] . " has been successfully uploaded"); $xmlfiles = $this->extractZip($uplod_file, $error); if ($error) { $this->echo_message(0, "Error extract file: " . $uplod_file); exit; }; if (count($xmlfiles)) { // Это архив, удаляем архив unlink($uplod_file); } } else { $this->echo_message(0, "Error create faile"); } } else { $this->echo_message(0, "Data empty"); } } // modeFile() и функцию maualImport() /** * Импорт файла через админ-панель */ public function manualImport() { $this->load->language('module/exchange1c'); $cache = DIR_CACHE . 'exchange1c/'; $json = array(); $error = ""; // Разрешен ли IP if ($this->config->get('exchange1c_allow_ip') != '') { $ip = $_SERVER['REMOTE_ADDR']; $allow_ips = explode("\r\n", $this->config->get('exchange1c_allow_ip')); if (!in_array($ip, $allow_ips)) { $json['error'] = "Ваш IP адрес " . $ip . " не найден в списке разрешенных"; $this->response->setOutput(json_encode($json)); return; } } if ($this->config->get('exchange1c_flush_log') == 1) { $this->clearLog(); } $uploaded_file = $this->request->files['file']['tmp_name']; if (!empty($this->request->files['file']['name']) && is_file($uploaded_file)) { //$filename = basename(html_entity_decode($this->request->files['file']['name'], ENT_QUOTES, 'UTF-8')); $max_size_file = $this->modeCatalogInit(array(),FALSE); $xmlFiles = $this->extractZip($uploaded_file, $error); if (count($xmlFiles) && !$error) { $goods = array(); $properties = array(); foreach ($xmlFiles as $key => $file) { $pos = strripos($file, "/goods/"); if ($pos !== false) { $goods[] = $file; unset($xmlFiles[$key]); } $pos = strripos($file, "/properties/"); if ($pos !== false) { $properties[] = $file; unset($xmlFiles[$key]); } } // Порядок обработки файлов foreach ($xmlFiles as $file) { $this->log('Обрабатывается файл основной: ' . $file, 2); $error = $this->modeImport($cache . $file); } foreach ($properties as $file) { $this->log('Обрабатывается файл свойств: ' . $file, 2); $error = $this->modeImport($cache . $file); } foreach ($goods as $file) { $this->log('Обрабатывается файл товаров: ' . $file, 2); $error = $this->modeImport($cache . $file); } } else { $this->log( "[i] Это не архив. Загружен файл: " . $uploaded_file,2); $error = $this->modeImport($uploaded_file); $this->log($error,2); unlink($uploaded_file); } } if ($error) { //$json['error'] = $this->language->get('text_upload_error'); $json['error'] = $error; $this->log( "[!] Ручной обмен прошел ошибками", 2); } else { $json['success'] = $this->language->get('text_upload_success'); $this->log( "[i] Ручной обмен прошел без ошибок", 2); // после обмена запускаем генерацию SEO $this->load->model('tool/exchange1c'); } $this->cache->delete('product'); $this->response->setOutput(json_encode($json)); } // manualImport()
  24. Можете мне прислать файлы XML на почту, я проверю завтра, надо ошибку-то исправить... У меня с УТ 10.3 такого не замечал
×
×
  • Створити...

Important Information

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