Слетают курсы валют в Умолчание

1

Периодически слетают курсы валют в значение по умолчанию. Доллар 30 евро 40. Когда такое происходит уходим в убытки. Всегда когда происходит такой глюк появляется мастер настройки вэбасиста. По нему теперь и определяем что произошел глюк. Сегодня например такое произошло аж дважды за день, до этого с недели полторы назад.


Поддержка пишет что На появление этого экрана влияет наличие в таблице wa_app_settings записи 'welcome' для приложения shop в базе данных MySQL


Но у меня такой записи нет и она не появляется даже тогда когда случается очередной сбой. Может кто то сталкивался с проблемой. Как решали?

14 комментариев

  • +2
    Андрей Фамилов Андрей Фамилов 9 июня 2016 14:16 #

    Михаил, здравствуйте!

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

    • +1

      Я бы очень хотел вам помочь. Правда. Я изучил этот баг вдоль и поперёк, и у меня нет никаких идей, что происходит и почему. Имеет место какой-то хитрый сбой файловой системы хостинга, который ни на наших серверах не воспроизводится, ни у клиентов мы его поймать не можем.

      В какой-то момент магазин на секунду теряет все свои настройки и решает, что надо показать юзеру экран "Добро пожаловать". Если менеджер просто обновит страницу, то всё вернётся как было. Но интуитивное человеческое желание - нажать зелёную кнопку "Начать работу". Кнопка сбрасывает некоторые настройки магазина, включая валюты.

      Лучшее, что я сейчас могу сделать - это убрать сброс настроек валют после нажатия этой кнопки на экране "Добро пожаловать". Начиная с версии магазина 7.0.4 курс существующих валют там сбрасываться не будет.

      Лучшее, что вы сейчас можете сделать - это проинструктировать менеджеров не нажимать на кнопку "Начать работу" на экране "Добро пожаловать".

    • +1

      Могу предположить такой эффект, если зайти в админке на экран "добро пожаловать" (т.е. ?action=welcome) и нажать кнопку "Начать работу". Если нажать "пропустить автоматическую настройку", ничего с валютами не произойдёт. Эта кнопка - единственный известный мне способ сбросить курсы валют на 30 и 40. В-общем, что бы ни случилось, не нажимайте кнопку :)

      Почему так получается, что человека перенаправляет на "добро пожаловать", у меня тоже единственная версия. Повторно запускается install.php в приложении shop. Если исключить злонамеренное действие пользователя админки (на экран welcome можно попасть и по прямой ссылке), то других способов нет.

      Почему повторно запускается install.php, у меня версий нет. Я не смог придумать ни одного варианта, даже предполагая ошибки файловой системы на хостинге. Интуиция подсказывает, что как-то связано с записью update_time в wa_app_settings для приложения shop: update_time обнуляется, магазин думает, что это его первый запуск и перенаправляет на welcome. Но, опять-таки, я не могу предложить реалистичную версию, почему обнуляется update_time...

    • +1

      Не исключено, что сервер баз данных работает нестабильно на хостинге, из-за чего иногда возникает ошибка вроде MySQL server has gone away и фреймворк "считает", что отсутствует таблица с настройками приложений, в том числе Shop-Script (а именно при этом условии запускается первоначальная настройка магазина). Насколько мне известно, во фреймворке обработка таких ситуаций будет добавлена только в следующем обновлении (которое обещают выпустить через две недели).

    • +1

      Да тоже подумал что может что то с сервером случается, но если не будет найдена таблица с настройками приложений, будет ли при этом перезаписаны курсы валют.

    • +1

      Если это бл вопрос, то будет, только если нажать на зелёную кнопку для выполнения настроек на странице первоначальной настройки, которая при этом появляется в браузере. Если пропустить настройки с помощью ссылки рядом с зелёной кнопкой, то ваши настройки все останутся без изменений.

    • +1

      Но совершенно точно что курсы слетают без нажатия на эту зелёную кнопку. В этом и есть засада.

      Временное решение пока такое поменять курсы по умолчанию на те которые действуют в данный момент. Меняются в файле wa-apps/shop/lib/config/data/welcome/country_rus.php

    • +1

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

      Обработчик кнопки находится вот тут:

      wa-apps/shop/lib/actions/backend/shopBackendWelcome.action.php

      Предлагаю воткнуть в начале метода setup() что-то вроде такого:

      waLog::log('Attempt to complete Welcome setup. Contact_id='.wa()->getUser()->getId(), 'shop_welcome.log');
      return $this->redirect('?action=orders');

      И следить за логом
      wa-log/shop_welcome.log

      После такой модификации нажатие кнопки перестанет менять курсы валют.

      Ещё предлагаю установить курсы в country_rus.php такие, чтобы они немного отличались от обычных ваших. Если заметите, что курсы поменялись, значит, они поменялись без кнопки и я кругом неправ. Но это знание мне не сильно поможет, потому что я в принципе не знаю других возможностей...

    • +1

      Курсы на самом деле это не единстенное что меняется. Так же плагин "моя посылка" отключается. Как сказал разработчик вот в этой ветке http://old.webasyst.ru/forum/viewtopic.php?id=2457... сам плагин не причём. Сбивается округление курсов в значение по умолчанию.

      А что такое произошло мы узнаём очень просто. Как только появился синий кружок с воцклицательным знаком (значёк мастера первичной настройки) значит случилось.

      Кстати говоря периодически этот мастер стал появляться ещё на старом SS5 , но косяк с курсами при этом появляться начал только после перехода на 6 версию.


      т.е. вместо

      private function setup()

      {

      if ($country = waRequest::post('country')) { .........................

      Должно быть:

      private function setup()

      {

      waLog::log('Attempt to complete Welcome setup. Contact_id='.wa()->getUser()->getId(), 'shop_welcome.log');

      return $this->redirect('?action=orders');


      if ($country = waRequest::post('country')) { ........................


      Или как то иначе? Боюсь ошибиться

    • +1

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

      Да, код похож на правду. Цена ошибки, кстати, не очень велика: максимум ну перестанет у вас работать страница Welcome :)

    • +1
      Андрей Фамилов Андрей Фамилов 20 августа 2015 07:19 #

      Можно ещё вот так сделать (защита от "дурака" - скрываем кнопку "начать работу"):

      1. Находим файл: public_html/wa-apps/shop/templates/actions/backend/BackendWelcome.html

      2. Закомменчиваем вот эту часть строки:

      <input type="submit" class="button green" value="[`Start selling online`]"> [`or`]

      Получаем:

      {* <input type="submit" class="button green" value="[`Start selling online`]"> [`or`] *}

    • +1
      Андрей Фамилов Андрей Фамилов 20 августа 2015 07:24 #

      Только вот где поддержка и разработчики? Я эту проблему обозначил ещё 20 апреля!!! До сих пор никто пальцем не пошевелил. Мои заказчики после последнего обновления, когда файл перезаписался и курс снова улетел, потеряли много денег и мне стоило усилий, чтобы они просто не подали иск к webasyst, т.к. это Ваш косяк, который не решается, а при слете курса у продавцов идут жесткие потери. Для средних и крупных продавцов дешевле становится затаскать вас по судам, чем попадать каждый раз на такие деньги.

    • +1

      Подыму тему. К сожалению практически каждый день рамдомно у одного из менеджеров появляется окно welcome. И хорошо если он нажал "пропустить" а не "начать". Как вылечить эту проблему раз и навсегда?

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 1 марта 2016 08:09 #

      В Инсталлере установлены все обновления? Номера версий вручную не меняли нигде, чтобы не получать уведомления об обновлениях?

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите