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

devel

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

    123
  • З нами

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

Повідомлення, опубліковані користувачем devel

  1. Ситуация кастомер оформляет заказ, способ оплаты - банковский перевод. Магазин ждет оплаты, кастомер оплачивает б/н счет. Менеджер видит оплату по банк-клиенту и ставит статус заявки "оплачено", и далее Отчеты->Покупатели->Заказы->Транзакции->Вводим сумму оплаты и описание (например № счета). После этого кастомер в ЛК увидит в истории платежей свою оплату. Допустим, товара уже нет и не будет, или кастомер отказался по иной причине сам, требует возврата денег (законно). Как удалить транзакцию? В базе понятно как, а в админке?

     

    П.С. Если транзакцию не "прибить", баланс кастомера будет равен неиспользованному платежу, следующий заказ opencart представит в странной форме:

    - в корзине сверху будет "х товаров - 0 рублей",

    - в ЛК при оформлении товара появится "Кредит магазина: Х рублей, к оплате: 0"

    - попытка выбрать способ оплаты выдаст ошибку error_no_payment (в соотв. переводе).

     

    Магазин на локале, opencart 1.5.6 чистый.

    Что делать в такой ситуации? Лезть в БД или есть работающий способ?

  2. Доброго времени суток.

    Не подскажите что может быть за проблема?

    После установки SEOpro перестали переключаться страницы. Тоесть если товаров 50 а на странице отображается 20 то выводяться кнопки с следующими страицами, но переключить не получается, при переключении опять бросает на первую страницу.

    Где рыть может ктото сталкивался с подобным?

    Может быть вам https://opencartforum.com/topic/10270-dubli-stranitc-seopro/?view=findpost&p=168547 пост поможет. На кастомных шаблонах seo_pro не работает (без доработки)

  3. $amount = $this->currency->format($this->tax->getTax($result['price'], $result['tax_class_id']));
    if ($this->config->get('config_tax')) {
    $tax = $this->currency->format((float)$result['special'] ? ($result['special'] - $amount) : ($result['price'] - $amount));
    } else {
    $tax = false;
    }	
    

    Добавил перед условным выражением. До этого строка была как раз между приведенными Andretti. 

    Andretti, огромное спасибо! Я пробовал обращаться к массиву $results дважды, Присваивал значение $amount по аналогии с $price. Но в первом случае обращался к данным с синтаксической ошибкой: $results['price'] А во втором случае строка "$amount = $this->currency...." была, как я описал выше, - между $product_total и $results, т.е. до цикла "foreach ($results as $result)". Вероятно, отсюда и грабли.

  4. Неужели никто не знает?

     

    добавил в category.php

    $amount = $this->currency->format($this->tax->getTax($value, $tax_class_id));

     

    Вылетает Notice: Undefined variable: value и Undefined variable: tax_class_id

     

    Что с этим можно сделать?

  5. Верно. Мне нужно в category.php в этом месте:

    $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);

    заменить на $amount, чтобы $tax имело значение $amount, а не price или special.

    Это нужно для https://opencartforum.com/topic/27060-новая-старая-тема-про-ндс/

  6. Кто подскажет, как в \catalog\controller\product\catalog.php вызвать переменную $amount из system\library\tax.php?

    Я может не правильно описал задачу, т.к. уже запутался окончательно в наследовании свойств и прочих хитростях ООП. Выражаясь "по-человечески", мне нужно в \catalog\controller\product\catalog.php получить значение $amount, определенное в tax.php. Что-то я делаю не так, поскольку получаю ошибки (либо переменная такая-то не определена, либо результат является массивом).

     

    Подскажите, как получить $amount в catalog.php? Застопорился на этом моменти, вторые сутки бьюсь, ничего не получается =(

  7. Правильно ли я понимаю смысл данного тренарного выражения:

     

    $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);

     

    такса = спец. цене (в формате и валюте магазина), если товар иммеет признак спец.цены, иначе такса = значению price

     

    ??

    каков тогда смысл этого:

    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));

     

    и этого:

    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));

     

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

  8. Я извиняюсь, коллеги!

     

    А не изобретаю я тут велосипед, случайно? Вопрос риторический, но неужели все отключили налог в админке, и счастливы? Как тогда обстоят дела с корзиной, счетом, они же добавляют ндс?

     

    У меня такое предчуствие, что я не первый пришел к этому вопросу, но все почму-то помалкивают )) 

  9. Оказывается, system/library/tax.php - это только вершина айсберга. Удалось включением/выключением отображения цен с налогом в админке выводить сумму с НДС и без НДС. для этого в tax.php сделаны следующие изменения:

      	public function calculate($value, $tax_class_id, $calculate = true) {
    		if ($tax_class_id && $calculate) {
    			$amount = $this->getTax($value, $tax_class_id);
    				
    			return $value - $amount;
    		} else {
    		      		return $value;
        	}
      	}
    

    и

    			if ($tax_rate['type'] == 'F') {
    				$amount += $tax_rate['rate'];
    			} elseif ($tax_rate['type'] == 'P') {
    				$amount += $value * $tax_rate['rate']/(100 + $tax_rate['rate']);
    			}
    

    Здесь используются операторы $value, $tax_rate, $amount. По логике, $value - значение (цена товара) до обложения налогом, $tax_rate - налоговая ставка, $amount - рассчетная величина налога.  Если отталкиваться от того, что $value уже включает НДС (в России, например), то налог нужно вычесть $amount из $value Однако, ряд проблем (даже еще не все выявил) ожидают в корзине, счете и т.п.

     

    В файлах шаблонов www\catalog\view\theme\default\template\product используются переменные $price и $tax, которые, по логике разработчиков выводят Цену с налогом и Цену без налога. Где и как они связаны с $amount, $tax-rate, $value я пока не нашел.

     

    Предполагаю также, что разработчики вложили в понятие $amount смысл аккумулятора всех налогов, а не только НДС. Вобщем, такая внешне простая задача имеет довольно много нюансов. 

  10. Изначально, в чистом opencart, цена товара выводится либо:

    1) БЕЗ НДС (например 100р) и ниже С НДС (в примере - 118р), - это если включено отображение цены с НДС, а НДС установлен 18%. 

    либо

    2) БЕЗ НДС ( в примере 100р)

     

    Это удобно, например, для США, где цены в магазине указаны без VAT, а сам налог VAT добавляется к цене на кассе. 

     

    В РФ цена товара практически всегда уже включает НДС (если товар облагается НДС), а сумма налога выделяется из итоговой суммы по формуле: НДС = Цена товара * 18/118. Ранее на форуме писали об этом, но решение не найдено (или умалчивается?)

     

    Хочется вернуться к этой теме, т.к. для заказчиков юр.лиц размер ндс (и само его наличие) часто играет определяющую роль.

     

    Если установить НДС равным 18%, он будет прибавляться к цене товара. Это корень проблемы, т.к. в нашем случае ндс должен вычитаться из цены, и рассчитываться по формуле (см. выше). На форуме найдено несколько решений, в т.ч. устанавливать цены на 18% ниже, а затем прибавлять к ним НДС. Но эти решения неудобны. Правильнее найти файл, в котором происходит подсчет ндс и вместо операции сложения вывести цену с ндс, а в поле tax-text выводить не "Сумма без НДС", а само значение ндс.

     

    Например, нужно посчитать:

     

    Товар 1

    Цена с НДС 100р

    НДС (включен в сумму) 15.25р

    Итого 100р

     

    В шаблоне карточки товара достаточно вывести

    Товар 1

    Цена 100р

    НДС 15.25р

     

    Кто подскажет, где происходит расчет налога в opencart? 

    www\catalog\model\total\tax.php - это?

  11. Тутачки я. На днях выложу новую версию с пачкой исправлений и с выгрузкой заказов в 1С.

    Я с радостью поучаствую в тестировании, wolfovich. С момента моего последнего использования модуля утекло много времени. С интересом ожидаю твой новый модуль выгрузки. Особенно, учитывая, что изменился формат xml-файла, выгружаемый 1С. Не даёт 1С скучать разработчикам =))
  12. А вот и причина неработающих производителей:

    wwwcatalogcontrollercommonseo_pro.php строка 77 (файл от freelancer, прикрепленный к этой теме, cashed)

    $this->request->get['route'] = 'product/manufacturer/product';
    нужно заменить на:

    $this->request->get['route'] = 'product/manufacturer/info';

    В мультиязычной версии - тоже самое.

    Замаялся я с этим СЕООО!

    upd freelancer :справедливо для версии 1.5.4 и выше

    • +1 10
  13. он прикреплен к теме. это мультиязычный seo_pro

    Хм.. Не помогло. Видимо, что-то не так делаю..

    Мистика! После восьмисот-цать очисток кеша opencart, очистки кеша денвера, браузеров, перегрузки денвера, переключения разных версий сео (стандарт и про), подсовывания разных типов seo_pro.php заработали производители. Причем, вариант из сборки!

    to freelancer:

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

    Ещё один момент приметил:

    В chrome адрес сайта выглядит так site.ru/ (слеш в конце)

  14. А также если у производителя прописан SEO URL, то пишет: Запрашиваемая страница не найдена!

    Тоже заметил. Если ЧПУ выключить совсем - страница с производителем открывается. Если ЧПУ стандартное - тоже работает. Не работает при включенном SeoPro. Кэш чистил, расширения удалял/добавлял - все тоже самое, Запрашиваемая страница не найдена!

    seo_pro.php из этой темы, с кешированием

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

Important Information

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