himikrzn Posted June 21, 2016 кто нибудь решил проблему 12 часов, когда, если услуга включена после 12 часов, этот день идет нахаляву абоненту? пробовал комбинированно - ежедневно равными долями динамически - ежедневно равными долям фиксировано - ежедневно равными долям все равно , если после 12-00 устанавливать услугу, в этот день деньги не списываются... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted June 21, 2016 Услуга включается только через УЗ - блокировки - там при включении время включения ставится 00:00 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
himikrzn Posted June 21, 2016 Услуга включается только через УЗ - блокировки - там при включении время включения ставится 00:00 а если клиент управляет услугой из лк? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mrlexus Posted June 21, 2016 Услуга включается только через УЗ - блокировки - там при включении время включения ставится 00:00 Не совсем так. В интерфейсе админки в двух местах (Объекты - УЗ и Объекты - Пользователи - нажать +) есть менюшки управления блокировками, которые как раз используют только текущее время при изменении состояния и изменять это поведение разработчики не намерены. Поэтому выход: либо выпиливать эти менюшки из интерфейса либо бить по рукам операторов, которые ими пользуются. а если клиент управляет услугой из лк? Пытался допилить в ЛК мастер управления пакетами ТВ, с первого захода не осилил. Но там можно взять за образец мастер смены тарифного плана и в коде вычислять нужную дату и время ставить 00:00. Ну и крайний вариант - запрашивать доработку у разработчиков. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted June 21, 2016 все равно , если после 12-00 устанавливать услугу, в этот день деньги не списываются... это так критично? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted June 22, 2016 Это просто явный баг. Например абонентка по дням, пользовательская блокировка. Каждый день с 13 до 21 включать интернет и использовать его бесплатно - списания-то нет. Или какую-нибудь услугу. В свое время я делал проверку по БД биллинга, если находил разблокировку не с 0:00 - то исправлял, ядро биллинга это обнаруживало и делало перерасчет. Потом операторы научились использовать правильные кнопки и необходимость в таком костыле отпала. С доработками ЛК беда, писал на форуме у них, писал тут на форуме - реакции нет. А проблема - абонент не может сменить тариф если он заблокирован по балансу. Никто случаем не разбирался? подозреваю что надо всего лишь условие проверки чуть исправить... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted June 22, 2016 Это просто явный баг. Например абонентка по дням, пользовательская блокировка. Каждый день с 13 до 21 включать интернет и использовать его бесплатно - списания-то нет. Или какую-нибудь услугу. Баг, это если бы работало не как задумано, а тут все работает так как задумано. В этом случае скорее всего недоработка чем баг. Таки да, критично. Тут два варианта: или отказаться от пользовательской блокировки, или брать плату за нее. Есть третий, типо оплатить "дополнительный функционал" разрабам, чтобы оплата снималась за полные сутки или почасово, вне зависимости от блокировок. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mrlexus Posted June 22, 2016 А проблема - абонент не может сменить тариф если он заблокирован по балансу. Никто случаем не разбирался? подозреваю что надо всего лишь условие проверки чуть исправить... Посмотрел код ЛК. Оказалось все очень просто. Ищем файл client2/client/components/tariff/changing/Tariff_Changing_Helper.php и приводим в нём функцию к такому виду: public function validateVgid() { /* if ($this->vgroup()->vgroup->blocked) { throw new Exception('Account is blocked'); } */ foreach ($this->tarrasp() as $item) { if ($this->byUser($item)) { throw new Exception('Please remove allready scheduled tariff change'); } } } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted June 22, 2016 mrlexus Огромное Вам спасибо! Brainiac Да, неверно выразился. Не баг, а просто недоработка. Но странно что она есть. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mrlexus Posted June 22, 2016 (edited) Еще лучше вынести это в параметр конфига. Приводим функцию к такому виду: public function validateVgid() { if (!yii::app()->params['vgroup_schedule_blocked']) { if ($this->vgroup()->vgroup->blocked) { throw new Exception('Account is blocked'); } } foreach ($this->tarrasp() as $item) { if ($this->byUser($item)) { throw new Exception('Please remove allready scheduled tariff change'); } } } И в конфиг ЛК добавить такие строчки: //Разрешить смену тарифного плана при блокировке УЗ 'vgroup_schedule_blocked' => false, ЗЫ Просто ради интереса, сколько денег попросили бы разработчики за такую доработку? Edited June 22, 2016 by mrlexus Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted June 22, 2016 Не знаю. На их форуме я, и еще один человек отписывались с просьбой решить эту проблему. Обоих пригласили в коммерческий отдел. Помня сколько мне залепили лет 5 назад за простенький отчет, который я потом сам сделал, думаю, что что-то в районе 7-15 тыр... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
himikrzn Posted July 6, 2016 В свое время я делал проверку по БД биллинга, если находил разблокировку не с 0:00 - то исправлял, ядро биллинга это обнаруживало и делало перерасчет. попробовал изменить время в таблице usbox_services перерасчет автоматом не произошел, по крайнем мере через час после изменений. отдельно запускать перерасчет? или ждать следующего дня? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted July 6, 2016 Гм. Сложно сказать - давно было подробностей не помню. Так-то не час ждал, а буквально несколько минут. А если вернуть обратно как было и через веб интерфейс сменить? Можно просто сделать отчет - и по рукам бить тех кто неправильно выставил... Заодно научатся как надо. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
himikrzn Posted July 6, 2016 Гм. Сложно сказать - давно было подробностей не помню. Так-то не час ждал, а буквально несколько минут. А если вернуть обратно как было и через веб интерфейс сменить? Можно просто сделать отчет - и по рукам бить тех кто неправильно выставил... Заодно научатся как надо. да можно даже не менять, в веб зайти в разовую услугу, и потом просто кнопка сохранить. после этого пересчитывает, но уже услуга изменена администратором или менеджером, потом person_id в Null нужно выставлять, что бы отображалось, что услуга назначена самим абонентом. скрипт то я написал для изменения времени, но вот толку от этого нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mrlexus Posted July 6, 2016 Какие поля в таблице меняете? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
himikrzn Posted July 7, 2016 Какие поля в таблице меняете? created, timefrom, activated время выставляю в 00:00:00 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mrlexus Posted July 12, 2016 Какие поля в таблице меняете? created, timefrom, activated время выставляю в 00:00:00 Воспроизвел у себя такую же ситуацию. После изменения времени напрямую в БД в указанных полях на 00:00:00 перерасчет прошел практически мгновенно. Вероятно, время перерасчета зависит от параметров блокировки и типа списания в тарифном плане. У меня блокировка - Активная, списание - Комбинированно. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted September 23, 2016 Коллеги, не сильно по теме, но просьба - можете подсказать как запретить вход диапазону логинов (с 0900000 по 1000000)? как я догадываюсь надо указать в CAccessControlFilter.php дополнительные проверки, но что-то не понимаю как. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
wed Posted September 26, 2016 в файле SiteController.php чуть модифицировал - if ( isset($_POST['LoginForm']) and ($_POST['LoginForm']['login']<1600000)) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...