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

CTPAX5000

Новачок
  
  • Публікації

    21
  • З нами

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

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

  1. Всем доброго дня. Еще раз хотелось акцентировать внимание по поводу версий CommerceML. Сама 1С пишет в своих модулях обмена, что версия 2.08 уже обратно не совместима с версиями 2.07 и ниже. То, что в описании модуля написано, что он поддерживает вплоть до версии 2.10 - не соответствует действительности. Модуль имеет базовые функции обмена по стандарту до 2.07. После некоторых шаманств, можно заставить модуль работать и на 2.08 и выше. Поэтому необходимо смотреть, какую версию использует ваша учетная система, и для нее подбирать модуль обмена, или дорабатывать этот.
  2. Сделал себе модификатор к этому модулю <?xml version="1.0" encoding="utf-8"?> <modification> <name>Свое имя</name> <code>Свой код</code> <version>Своя версия</version> <author>Свое имя</author> <link>Своя почта</link> <file path="admin/model/extension/exchange1c.php"> <operation> <search><![CDATA[$this->log("~КОНЕЦ ЗАГРУЗКИ ДАННЫХ");]]></search> <add position="before"><![CDATA[ if ($this->config->get('exchange1c_product_disable_if_quantity_zero') == 1) { $this->query("UPDATE `" . DB_PREFIX . "product` SET `status`='0' WHERE `quantity` <= 0" ); } if ($this->config->get('exchange1c_product_disable_if_price_zero') == 1) { $this->query("UPDATE `" . DB_PREFIX . "product` SET `status`='0' WHERE `price` = 0" ); } $this->query("UPDATE `" . DB_PREFIX . "product` SET `status`='1' WHERE `price` > 0 AND `quantity` > 0" ); ]]></add> </operation> </file> </modification> Проверяет, если установлена галочка отключать товары с нулевым остатком и нулевой ценой и отключает их. При появлении цены или положительного остатка после обмена - включает их. Так же можно и с категориями сделать
  3. Что бы выгружать все измененные заказы, кроме брошенных, нужно добавить фильтр по полю order_status_id в функцию public function queryOrdersExport(). Брошенные заказы имеют значение order_status_id=0. // Этот запрос будет использовать индексы поля date_modified $query = $this->query("SELECT `order_id`,`order_status_id` FROM `" . DB_PREFIX . "order` WHERE `date_modified` BETWEEN STR_TO_DATE('" . $from_date . "', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('" . $to_date . "', '%Y-%m-%d %H:%i:%s')"); сюда добавить условие, что order_status_id<>0. Функция находится в файле по пути admin\model\extension\exchange1c.php Однако, я не совсем понимаю, зачем изменять заказы непосредственно в OpenCart, если можно эти обязанности возложить на 1С. Однако и в этом случае придется допиливать модуль обмена, поскольку у Автора логика выглядит следующим образом: Пришел заказ на сайт; выгрузили в 1С; изменили состав заказа в 1С (нет товара, или клиент решил заказать больше или меньше), выгрузили из 1С в ОС; получившуюся разницу в цене закинули в доставку. При этом состав товара, его количество в ОС уже не совпадает с данными в 1С. Поэтому в нашем случае, мы при загрузке обновленного заказа из 1С в ОС просто удаляем все товары из БД и записываем туда уже новые данные из файла обмена. Так же, Что бы не вносить изменения в модуль обмена, можно использовать предложенный метод выгрузки заказов с определенным статусом после изменения в ОС, если вместе с изменениями заказу присваивать статус, указанный в настройках как выгружаемый.
  4. Это при выгрузке с сайта или при выгрузке из 1С? Попробуйте создать обмен в 1С с выгрузкой в локальную папку, и выложите сюда все что она отдает. Только что посмотрел, в версии модуля 1.6.4.7 есть такая строчка $product_feature_id = $this->addFeature($product_id, $data['feature_guid'], $data['ean'], $data['sku']); Однако самой функции addFeature ни в одном файле модуля ПРОСТО НЕТ в наличии. Поэтому характеристики в OpenCart просто не попадают в базу данных. В версии модуля 1.6.4.5 есть такая функция, однако там логика поиска по характеристикам отличается от того, как задумано в 1.6.4.7. Кто разбирается немного в PHP - сможет вставить эту функцию, и, по идее, должно заработать. В моем проекте характеристики не используются, поэтому я не имею возможности поэкспериментировать. Вот код функции из версии 1.6.4.5: /** * ver 3 * update 2017-12-20 */ private function addFeature($product_id, $feature_guid, $ean = '', $sku = '') { $this->query("INSERT INTO `" . DB_PREFIX . "product_feature` SET `product_id` = " . $product_id . ", `guid` = '" . $this->db->escape($feature_guid) . "', `ean` = '" . $this->db->escape($ean) . "', `sku` = '" . $this->db->escape($sku) . "'"); return $this->db->getLastId(); } // addFeature() Функция должна находиться в файле по пути admin\model\extension\exchange1c.php
  5. Модуль работает на версии CommerceML 2.07. Розница же работает скорее всего на версии CommerceML 2.08 и выше. Хотя в описании к модулю и написано, что он умеет понимать вплоть до CommerceML 2.10, но это не может быть правдой, т.к. начиная с версии CommerceML 2.08 уже обратно не совместимо с ранними версиями. У них разная структура, названия реквизитов .xml файла и 1С по-разному обрабатывает ответ с сайта. Во всяком случае для УТ 10.3 и модуле обмена данными Битрикс 4.0.5.1 (CommerceML 2.08) ситуация выглядит именно таким образом.
  6. В настройках магазина на вкладке Опции есть пункт "Статус заказа" - это статус, который присваивается полностью сформированному заказу. В настройках обмена на вкладке Заказы в пункте "Статус для выгрузки:" выставьте такой же статус. А в настройке "Статус выгруженных:" поставьте другой. Логика такая: все заказы со статусом как в "Статус для выгрузки" будут выгружаться в любом случае, пока не изменится статус этих заказов. Однако, после выгрузки модулем, статус этих заказов изменится на статус, указанных в пункте "Статус выгруженных". И эти заказы перестанут выгружаться. Если Вы используете значение "Статус для выгрузки" "Не использовать", то у Вас будут выгружаться все заказы, в том числе и неоформленные. Так же имейте в виду, что, если 1С умеет выгружать статусы, и присвоит импортированному заказу статус как в пункте"Статус для выгрузки", то при выгрузке этих заказов они опять поменяются в магазине, и при следующем обмене снова выгрузятся в 1С
  7. Этот модуль через раз работает с версией OC 2.3.х.х. а у вас 3.0.2.0. Там совсем другая структура базы данных. Возможно поэтому и не работает. Так же в данном модуле очень плохо с характеристиками товара. поставьте в настройке Уровень вывода в журнал: Отладка и SQL запросы. Из того лога, что вы прислали - вроде ошибок нет, но там нет полной информации, что происходит. Так же в настройках обмена должны быть сопоставлены типы цен. Попробуйте так же создать вручную хотя бы одну характеристику товара, который выгружаете.
  8. 1С не выгружает заказы, созданные в ней вручную. Она отслеживает только те заказы, которые ранее были загружены с интернет-магазина
  9. Уважаемый IronMann, последуйте уже собственному совету, надоело читать Ваш негатив через пост. Создайте уже свой супер-модуль (исходя из Ваших же слов, Вам это под силу), и предлагайте его народонаселению... Я думаю, если будет качественная альтернатива, за разумные деньги, - будет и у Вас покупатель и довольный юзер. А пока есть только негатив, альтернативы - увы, нет.
  10. Подтверждаю, Ранее в посте поторопился, на версии 19b не срабатывает функция отключения при отсутствии на складе. 1С перестала ругаться при выгрузке, в логе пишет 2018-06-12 0:29:55 - 2798(M) Цена основная 'Оптовая USD' = 7 2018-06-12 0:29:55 - 2810(M) Нет характеристик, можно удалить старые цены: 2018-06-12 0:29:55 - 2723(M) Удалено старых цен: 0 2018-06-12 0:29:55 - 2813(M) Цена товара = 7 2018-06-12 0:29:55 - 2877(M) Остаток: 0 2018-06-12 0:29:55 - 2880(M) Установлен статус при отсутствии на складе, stock_status_id:5 2018-06-12 0:29:55 - 2892(M): однако товар не отключается.
  11. Этот пункт как раз и запрещает изменять статус у товара. т.е. если он включен, то не будут отключаться товары с нулевым остатком и нулевой ценой. Поэтому этот пункт отключаем, включаем "Не показывать товар с нулевой ценой " и должно работать
  12. Спасибо, поправил. Остался только вопрос: при включенной опции " Не показывать товар с нулевым остатком " по-прежнему обмен завершается ошибкой в 1С., хотя сам магазин товар с нулевым остатком отключает. Выгружено товаров: 338 Выгружено картинок: 0 Получен расширенный статус успешного завершения сеанса Ответ сервера: Successfully import catalog Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: Successfully processed file: C:/***/system/storage/cache/exchange1c/offers.xml Выгрузка товаров завершена с ошибками!!!
  13. Доброго дня. В версии 1.6.4.4b15 поменяли преобразование из UTF-8 в Windows-1251, теперь УТ 10.3 не может обработать ответ сервера и каждый обмен завершается ошибкой в 1С
  14. Доброго дня. 1С Управление торговлей 10.3, модуль 1.6.4.4b10, OpenCart 2.3.0.2 (rs.6) . При установке "Не показывать товар с нулевым остатком" 1С получает такой ответ: Выгружено товаров: 1 Получен расширенный статус успешного завершения сеанса Ответ сервера: Successfully import catalog Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: Successfully processed file: /home/***/***/system/storage/cache/exchange1c/offers.xml Выгрузка товаров завершена с ошибками!!! Считает обмен ошибочным и при следующей синхронизации пытается еще раз выгрузить этот же товар. OpenCart же успешно обрабатывает выгрузку, отнимает количество, отключает товар при нулевом остатке. Однако, если отсутствующий товар поступил на склад, модуль его почему-то не включает
  15. Доброго времени. при обмене заказами 1С выдает ошибку: Выгружено заказов: 1 Произошла ошибка на стороне сервера. Файл не отправлен (C:\Users\***\AppData\Local\Temp\12\v8_6B56_1616.zip). Обмен не выполнен Ответ сервера: ERROR: 5000 Обмен заказами завершен с ошибками!!! Хотя сам файл на сервере есть и распаковывается Лог содержит следующее: 2018-04-23 23:02:20 - 3.673 Mb | 8978 | ***** НАЧАЛО ЗАГРУЗКИ ДАННЫХ 2018-04-23 23:02:20 - 3.678 Mb | 0108 | Время обработки xml_load: 0.00024509429931641 сек 2018-04-23 23:02:20 - 3.706 Mb | 6383 | Найден товар по GUID, product_id = 13 2018-04-23 23:02:20 - 3.718 Mb | 6383 | Найден товар по GUID, product_id = 20 2018-04-23 23:02:20 - 4.165 Mb | 7930 | Обработка товаров документа... 2018-04-23 23:02:20 - 4.175 Mb | 7950 | В строке 1 товар не изменился 2018-04-23 23:02:20 - 4.175 Mb | 7950 | В строке 2 товар не изменился 2018-04-23 23:02:20 - Строка ошибки: 8948 - error_5000_log 2018-04-23 23:02:20 - 4.165 Mb | 8950 | [i] Прочитан документ: Заказ #1, Ид '18389e12-46eb-11e8-915b-a0f3c1008162' 2018-04-23 23:02:20 - ОШИБКА 5000. Смотрите описание ошибки в справке модуля обмена. 2018-04-23 23:02:20 - modeFileSale(): Ошибка обработки файла: /home/***/***/system/storage/cache/exchange1c/1cbitrix-f87ad6d6-60f7-4e31-8f78-f9b46b40df72.xml В справке ошибки 5000 нет. конфигурация 1С Иправление торговлей для Беларуси 2 (она же УТ 10.2), Opencart 2.3.0.2, модуль 1.6.4.3. PHP 5.4 Ранее при тестировании на локальном сервере такого не наблюдалось (была версия PHP 5.6), после переезда на хостинг - появилось. Подскажите с чем связано. Большое спасибо.
  16. Какая конфигурация 1С? Была такая же проблема, на УТ 10, помогла замена строк в файле "admin/controller/extension/module/exchange1c.php" //Раскомментировать //echo iconv('utf-8', 'cp1251', $orders); //Закомментировать echo mb_convert_encoding($orders, 'UTF-8', mb_detect_encoding($orders, "UTF-8, Windows-1251, Windows-1252", true)); Либо попробовать другие варианты там же.
  17. У меня в 1с в настройке номенклатура для выгрузки указана номенклатура в группе из списка (всего 3 группы), однако выгрузка идет вместе с самой корневой группой. Пришлось вручную удалять у нужных категорий родительскую категорию, а самую верхнюю просто отключить. Так проработало 2 дня, сегодня словил ситуацию, когда при очередной синхронизации все три группы оказались опять подчинены самой верхней группе (а она отключена) и получил пустой магазин. Связываю этот факт с обновлением модуля синхронизации (как раз перед этим его обновлял).
  18. Доброго времени, подскажите такой вопрос: где можно взять модуль для складов и единиц измерений, которые использует глубокоуважаемый Автор? Устанавливал модуль синхронизации 1.6.4.2 на OpenCart 2.3.0.2 (rs.3) и данных модулей нет в инсталяторе, есть только модификатор warehouse, но он не работает, т.к. нет самого модуля.

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

Important Information

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