Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

26rus

Пользователи
  
  • Публикаций

    568
  • Зарегистрирован

  • Посещение

Информация

  • Пол
    Мужчина
  • Город:
    Москва

Посетители профиля

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

Достижения 26rus

Experienced

Experienced (11/14)

  • First Post
  • Collaborator
  • Posting Machine Редкая
  • Week One Done
  • One Month Later

Последние медали

13

Репутация

  1. у меня получается не появляется файл offers, так как товары все не в наличии показывает, сами товары есть как бы и загружены, ну цены на них нету и количество тоже нету. Вручную пробовал, файл xml грузится нормально, а вот картинки уже начинаются ошибки выходить при загрузки архива 115мб картинок
  2. не первый не второй вариант не помог, как решить проблему??? кто в курсе???
  3. Проблема такая возникла при выгрузки товаров 600, постоянно ошибка Выгружено товаров: 643 Выгружено картинок: 619 Выгружено файлов: 0 Выгружено предложений: 575 Получен расширенный статус успешного завершения сеанса Ответ сервера: Successfully import catalog Произошла ошибка на стороне сервера. Получен неизвестный статус импорта. Обмен не выполнен Ответ сервера: Successfully processed file: /storage/cache/exchange1c/import.xml Выгрузка товаров завершена с ошибками!!! права доступа 777 уже поставил на папки даже... Постоянно это, лимиты увеличил в nginx,apache2 таймеры тоже увеличил ошибка та же самая. Ну Если товаров например поставить на выгрузку 200, то нормально происходит выгрузка. В чем проблема как решить проблему?? помогите пожалуйста.
  4. Добрый день. Скиньте ссылку на свежую ocstore 3x на githube
  5. держи, не должны дублироваться public function queryOrders() { $this->log("~ЭКСПОРТ ЗАКАЗОВ В УЧЕТНУЮ СИСТЕМУ",2); $orders_export = $this->queryOrdersExport(); // Валюта документа $currency = $this->config->get('exchange1c_order_currency') ? $this->config->get('exchange1c_order_currency') : 'руб.'; $document = array(); if (count($orders_export)) { $document_counter = 0; $this->load->model('customer/customer_group'); $this->load->model('sale/order'); foreach ($orders_export as $order_id => $order_status_id) { $order = $this->model_sale_order->getOrder($order_id); $this->log("Заказ #" . $order['order_id']); $this->log($order, 2); // Если при оформлении заказа покупатель зарегистрировался if ($order['customer_id']) { $this->getCustomerInfo($order); } $order['date'] = date('Y-m-d', strtotime($order['date_added'])); $order['time'] = date('H:i:s', strtotime($order['date_added'])); $customer_group = $this->model_customer_customer_group->getCustomerGroup($order['customer_group_id']); if( !empty($order['comment']) ) { $comment = " | Комментарии покупателя: " . $order['comment']; } else { $comment = " | Комментарии покупателя: не указал"; } // Шапка документа $document['Документ' . $document_counter] = array( 'Ид' => $order['order_id'] ,'Номер' => $order['order_id'] ,'Дата' => $order['date'] ,'Время' => $order['time'] ,'Валюта' => $currency ,'Курс' => 1 ,'ХозОперация' => 'Заказ товара' ,'Роль' => 'Продавец' ,'Сумма' => $order['total'] ,'Комментарий' => " | Доставка: " . $order['shipping_method'] . " | Оплата: " . $order['payment_method'] . $comment //,'Соглашение' => $customer_group['name'] // the agreement ); if ($this->config->get('exchange1c_order_customer_default')) { $order['username'] = htmlspecialchars(trim($this->config->get('exchange1c_order_customer_default'))); $order['firstname'] = $order['username']; $order['lastname'] = ""; } else { // Первая буква должна быть заглавной и убираем лишние пробелы сдева и справа // ТОЛЬКО ДЛЯ САЙТА РАБОТАЮЩЕГО НА КОДИРОВКЕ UTF-8 $order['lastname'] = mb_convert_case(trim($order['lastname']), MB_CASE_TITLE, "UTF-8"); $order['firstname'] = mb_convert_case(trim($order['firstname']), MB_CASE_TITLE, "UTF-8"); if (isset($order['middlename'])) $order['middlename'] = mb_convert_case(trim($order['middlename']), MB_CASE_TITLE, "UTF-8"); else $order['middlename'] = ''; // Собираем полное наименование покупателя, ФИО $order['username'] = $order['lastname'] . ' ' . $order['firstname'] . ($order['middlename'] ? ' ' . $order['middlename'] : ''); } // ПОКУПАТЕЛЬ (КОНТРАГЕНТ) $document['Документ' . $document_counter]['Контрагенты']['Контрагент'] = $this->setCustomer($order); if ($this->ERROR) return false; // РЕКВИЗИТЫ ДОКУМЕНТА $document['Документ' . $document_counter]['ЗначенияРеквизитов'] = $this->setDocumentRequisites($order, $document); if ($this->ERROR) return false; // ТОВАРЫ ДОКУМЕНТА $products = $this->model_sale_order->getOrderProducts($order_id); $product_counter = 0; foreach ($products as $product) { $product_guid = $this->getGuidByProductId($product['product_id']); $document['Документ' . $document_counter]['Товары']['Товар' . $product_counter] = array( 'Ид' => $product_guid ,'Наименование' => $product['name'] ,'ЦенаЗаЕдиницу' => $product['price'] ,'Количество' => $product['quantity'] ,'Сумма' => $product['total'] ,'Скидки' => array('Скидка' => array( 'УчтеноВСумме' => 'false' ,'Сумма' => 0 ) ) ,'ЗначенияРеквизитов' => array( 'ЗначениеРеквизита' => array( 'Наименование' => 'ТипНоменклатуры' ,'Значение' => 'Товар' ) ) ); $current_product = &$document['Документ' . $document_counter]['Товары']['Товар' . $product_counter]; // Резервирование товаров if ($this->config->get('exchange1c_order_reserve_product') == 1) { $current_product['Резерв'] = $product['quantity']; } // Если не заданы единицы измерений товара, выгружаем базовую if ($this->config->get('exchange1c_export_system') == '1c_ut11') { $current_product['БазоваяЕдиница'] = array( 'Код' => '796', 'НаименованиеПолное' => 'Штука' ); } // Характеристики $feature_guid = $this->getFeatureGuid($product['order_product_id'], $order_id); if ($feature_guid) { $current_product['Ид'] .= "#" . $feature_guid; } $product_counter++; } $document_counter++; } // foreach ($query->rows as $orders_data) } // if (count($orders_export)) //$this->log($document, 2); // Формируем заголовок $root = '<?xml version="1.0" encoding="utf-8"?><КоммерческаяИнформация ВерсияСхемы="2.07" ДатаФормирования="' . date('Y-m-d', time()) . '" />'; $root_xml = new SimpleXMLElement($root); $xml = $this->array_to_xml($document, $root_xml); // Проверка на запись файлов в кэш $cache = DIR_CACHE . 'exchange1c/'; if (@is_writable($cache)) { // запись заказа в файл $f_order = @fopen($cache . 'orders.xml', 'w'); if (!$f_order) { $this->log("Нет доступа для записи в папку: " . $cache); } else { fwrite($f_order, $xml->asXML()); fclose($f_order); } } else { $this->log("Папка " . $cache . " не доступна для записи, файл заказов не может быть сохранен!",1); } return $xml->asXML(); } // queryOrders() /** * Возвращает курс валюты */
  6. Добрый день. Не понимаю, как спамеры обходят такую вещь на оксторе 3х, то что делают пустые заказы и у них получается только написано почта + телефон + комментарии а товара нету вообще.
  7. блин, меня бесит одно, то что первый раз делаю обмен, ошибка с обменом и на второй раз делаю обмен, успешно проходит. Что можно сделать?) какие данные скинуть, чтобы вы глянули и исправить эту ерунду, прям бесит это то что, со второго раза только загрузка происходит.
  8. Подниму тему, я хотел бы спросить, а как другие тогда используют в категориях продукты минимальное количество от 2шт, я не думаю чтобы они вручную это все добавляли и следили за остатками на товаре? хм
  9. Добрый день. Вот человек зарегистрировался, ну пишет ему статус "отключен", как сделать чтобы сразу включен был статус после регистрации??
  10. да, ну минимальное количество в яндексе выставил для товара от 3штук что могли покупать, прайс обновляется и у меня в яндексе значение стирается минимальное количество 3 шт(( и снова по 1штуки могут покупать товары
  11. а если допустим в яндексе вручную сделаю, ну как сделать чтобы при обновление прайс листа чтобы не цеплялось к минимальному количеству?
  12. ок, а как сделать чтобы при обновление прайс листа в яндекс, чтобы минимальное количество не убиралось? А то помню вчера количество вписал 3 шт, а сегодня смотрю все стерлось.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.