http://www.astalavista.ru
Тематические форумы для компьютерных клубов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Патчи

 
Начать новую тему   Ответить на тему    Список форумов http://www.astalavista.ru -> Общие вопросы (AMS)
Предыдущая тема :: Следующая тема  
Автор Сообщение
Марк
Гость





СообщениеДобавлено: Ср Ноя 06, 2002 2:57 pm    Заголовок сообщения: Патчи Ответить с цитатой

Очень классное окошко у админа с сортировкой по времени окончания работы - сенкс, давно мечталось.

Но ОЧЕНЬ ХОЧЕТСЯ чтоб наконец был пропатчен баг с посадкой на всю сумму, который не работает если
1) тариф меняется во времени
2) клиент имеет скидку

Когда сей патч будет сделан? :?:
Вернуться к началу
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Чт Ноя 07, 2002 6:45 am    Заголовок сообщения: Ответить с цитатой

мне почему то казалось что тут возникает момент неоднозначности принятия решения...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DrNight



Зарегистрирован: 12.06.2002
Сообщения: 121
Откуда: ПРСД

СообщениеДобавлено: Чт Ноя 07, 2002 2:43 pm    Заголовок сообщения: Ответить с цитатой

Где ж это ты усмотрел неоднозначность?
В упор не вижу!

_________________
© Copyright by Dr. Night
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Чт Ноя 07, 2002 3:04 pm    Заголовок сообщения: Ответить с цитатой

DrNight писал(а):
Где ж это ты усмотрел неоднозначность?
В упор не вижу!


нуну...
прайс представляет из себя универсальное дерево тарифов.
предложи алгоритм получения времени от цены.
... подробный!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DrNight



Зарегистрирован: 12.06.2002
Сообщения: 121
Откуда: ПРСД

СообщениеДобавлено: Чт Ноя 07, 2002 5:19 pm    Заголовок сообщения: Ответить с цитатой

Функция получения цены по времени, точнее началу временного интервала и его концу, очевидно легко алгоритмируема.
Далее искомый конец находится между нулём и заведомо большим числом, равным, например кол-ву рублей. Далее следует элементарный бинарный поиск.
Twisted Evil

_________________
© Copyright by Dr. Night
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Марк
Гость





СообщениеДобавлено: Пт Ноя 08, 2002 2:23 am    Заголовок сообщения: Патчи Ответить с цитатой

vis писал(а):
DrNight писал(а):
Где ж это ты усмотрел неоднозначность?
В упор не вижу!


нуну...
прайс представляет из себя универсальное дерево тарифов.
предложи алгоритм получения времени от цены.
... подробный!


Я не программер, поэтому простым языком постараюсь...

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

Теперь по поводу времени:
1. Рассчитывается время из текущего тарифа - сумма делится на тариф
2. Выясняется - происходит ли переход тарифа по состоянию на конец работы.
3. Если нет - время окончания работы известно
4. Если да:
5. Рассчитывается стоимость всего времени по текущему тарифу
6. Из суммы вычитается полученное по п.5.
7. Оставшуюся сумму рассматриваем снова начиная с п.1. до тех пор пока по п.3 не будет получен ответ "нет".
8. Все полученные временные интервалы суммируются. Аминь.
Вернуться к началу
Марк



Зарегистрирован: 08.11.2002
Сообщения: 307
Откуда: Минск

СообщениеДобавлено: Пт Ноя 08, 2002 4:25 am    Заголовок сообщения: Патчи Ответить с цитатой

к моему предыдущему постингу

в п. 7 алгоритм поворяется с учетом рассмотрения нового временного интервала.

Пример: (звиняйте, белорусские цены)

Тариф 8.00-10.00 составляет 600 руб.
Тариф 10.00-14.00 составляет 900 руб.
Тариф 14.00-18.00 составляет 1000 руб.

Клиент приходит в 8.30 и дает 6 тысяч рублей.
Расчет
6000/600=10 часов.
8.30 + 10.00=18.30. 18.30>10.00 = истина
10.00-8.30=1.30 часа*600=900 руб.
6000-900=5100 руб.
5100/900=5,66 час. или 5 часов 40 минут.
10.00+5.40=15.40. 15.40>14.00 = истина
14.00-10.00=4 часа*900=3600 руб.
5100-3600=2500 руб.
2500/1000=2,5 час или 2 часа 30 мин.
14.00+2.30=16.30. 16.30>18.00= ложь
Время окончания работы - 16.30

_________________
Сила мелочей в том, что их много
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Пт Ноя 08, 2002 7:28 am    Заголовок сообщения: Ответить с цитатой

то что вы написали - достаточно банально
вопрос:
если добавляются параметры как:
скидка, если берется одновременно 2,3,4 и т.д. часов.
и другие параметры, от которых зависит цена
хотяяя... они в функции константы... и в принципе несущественны.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Гость






СообщениеДобавлено: Пт Ноя 08, 2002 12:27 pm    Заголовок сообщения: Ответить с цитатой

vis писал(а):
то что вы написали - достаточно банально
вопрос:
если добавляются параметры как:
скидка, если берется одновременно 2,3,4 и т.д. часов.
и другие параметры, от которых зависит цена
хотяяя... они в функции константы... и в принципе несущественны.



Про скидку и пр. константы я уже написал - просто в самом начале делается перерасчет суммы. А потом запускается вышеуказанный алгоритм.
Вернуться к началу
DrNight



Зарегистрирован: 12.06.2002
Сообщения: 121
Откуда: ПРСД

СообщениеДобавлено: Пт Ноя 08, 2002 9:38 pm    Заголовок сообщения: Ответить с цитатой

vis писал(а):
то что вы написали - достаточно банально
вопрос:
если добавляются параметры как:
скидка, если берется одновременно 2,3,4 и т.д. часов.
и другие параметры, от которых зависит цена
хотяяя... они в функции константы... и в принципе несущественны.

А если сделать по-другому:
Рассчитать сумму для 1 мин, 2 мин, 3 мин, ..., 99 ч. 59 .мин, 100 ч.
И из возможных значений выбрать наиблее близкое к данной сумме и запомнитью
А потом взять небольшую (.5 руб) окрестность этой суммы и посмотреть какие члены нашей посл-ти лежат в этой окр-ти. И, если эти точки не лежат в окр-ти запомненного времени, запомнить и его тоже.
Все полученные варианты выставить на обозрение.
Манипулируя диаметрами окрестностей можно получить отображение лишь нужных вариантов практически для любых тарифов.

_________________
© Copyright by Dr. Night
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Пт Ноя 08, 2002 9:44 pm    Заголовок сообщения: Ответить с цитатой

DrNight писал(а):
vis писал(а):
то что вы написали - достаточно банально
вопрос:
если добавляются параметры как:
скидка, если берется одновременно 2,3,4 и т.д. часов.
и другие параметры, от которых зависит цена
хотяяя... они в функции константы... и в принципе несущественны.

А если сделать по-другому:
Рассчитать сумму для 1 мин, 2 мин, 3 мин, ..., 99 ч. 59 .мин, 100 ч.
И из возможных значений выбрать наиблее близкое к данной сумме и запомнитью
А потом взять небольшую (.5 руб) окрестность этой суммы и посмотреть какие члены нашей посл-ти лежат в этой окр-ти. И, если эти точки не лежат в окр-ти запомненного времени, запомнить и его тоже.
Все полученные варианты выставить на обозрение.
Манипулируя диаметрами окрестностей можно получить отображение лишь нужных вариантов практически для любых тарифов.


такая мысль и была первой Smile
а терь прикинь скока времени уйдет на 100 запросов к базе Smile
на моем дуал атлон 2.1 38 запросов в сек Smile.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DrNight



Зарегистрирован: 12.06.2002
Сообщения: 121
Откуда: ПРСД

СообщениеДобавлено: Сб Ноя 09, 2002 1:16 am    Заголовок сообщения: Ответить с цитатой

Дык вырежь нужную ветку из базы цен и в память загони.
ЗЫ: Це называется КЕШ! Laughing

_________________
© Copyright by Dr. Night
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Марк



Зарегистрирован: 08.11.2002
Сообщения: 307
Откуда: Минск

СообщениеДобавлено: Ср Ноя 13, 2002 3:43 am    Заголовок сообщения: Ответить с цитатой

Не, я думаю мой алгоритм на порядок короче, чем ..уева туча сумм на каждое время.

Единственная неоднозначность решения возникает в случае если есть тариф на фиксированное количество часов. А мы это самое количество через тариф вычисляем. То есть лажа получается.
Но и тут проблемы не вижу.

Тариф 8.00-10.00 составляет 600 руб.
Тариф 10.00-14.00 составляет 900 руб.
Тариф 14.00-18.00 составляет 1000 руб.

Клиент приходит в 8.30 и дает 5 тысяч рублей.
Сначала проверяем все виды скидок и тарифов по этой посадке кроме тарифа за кол-во часов. Выводим общую константу, на которую умножаем полученную сумму. Далее работаем с новой суммой.

Предположим, у клиента скидка 20%.
Новая сумма
5000/0,8=6250 рублей

Расчет
6250/600=10,25 часов или 10 часов 15 минут.
8.30 + 10.15=18.45. 18.45>10.00 = истина
10.00-8.30=1.30 часа*600=900 руб.
6250-900=5350 руб.
5350/900=5,94 час. или 5 часов 57 минут.
10.00+5.57=15.57. 15.57>14.00 = истина
14.00-10.00=4 часа*900=3600 руб.
5350-3600=2750 руб.
2750/1000=2,75 час или 2 часа 45 мин.
14.00+2.45=16.45. 16.45>18.00= ложь

Далее проверяем на предмет тарифа на сумму часов
Допустим за 4 часа сразу и более тариф 700 руб.
16.45-8.30=8.15

8.15>4=истина
Если "ложь" - расчет окончен.
Если истина - производим пересчет исходя из нового тарифа.
6250/700=8,93 часа или 8 часов 56 минут
И выбираем большее из двух чисел 8.56 и 8.15

Это и есть время, которое получает клиент.

Марк

_________________
Сила мелочей в том, что их много
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Чт Ноя 14, 2002 4:06 am    Заголовок сообщения: Ответить с цитатой

это все ясно.
но как быть если еще оказывается если тело берет 4 часа сразу - ему скидка??????????
если построить график зависимости цены от времени (по х - время, по н - стоимость) - в этом случае получим, что некая стоимость достигается неоднократно!
что и есть неоднозначнось при выборе времени.
т.е. админу нуна в принципе давать мазу выбирать на скока тело садить-ть в итоге.
что я и хотел сказать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Чт Ноя 14, 2002 4:09 am    Заголовок сообщения: Ответить с цитатой

можно конечно еще более круто сделать Smile
один раз нагенерить всевозможных графиков...
либо их просто кэшировать

но для нового софта (где больше 15ти параметров для цены), это дело спасет тока слегка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Анрил



Зарегистрирован: 23.07.2002
Сообщения: 68
Откуда: г. Старый Оскол

СообщениеДобавлено: Сб Ноя 23, 2002 4:01 pm    Заголовок сообщения: Ответить с цитатой

А что за "Очень классное окошко у админа с сортировкой по времени окончания работы - сенкс, давно мечталось. "
Это какой-то патч? :?:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Вс Ноя 24, 2002 11:47 am    Заголовок сообщения: Ответить с цитатой

патч - есть заплатка
т.е. некая прога (или просто код), которая производит изменния в некой другой проге.
===> никаких патчей я не даю Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Анрил



Зарегистрирован: 23.07.2002
Сообщения: 68
Откуда: г. Старый Оскол

СообщениеДобавлено: Вс Ноя 24, 2002 9:07 pm    Заголовок сообщения: Ответить с цитатой

Ну ведь понял, о чём я говорю... Не придирайся. Smile
Так что это за прибамбас? :?:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Пн Ноя 25, 2002 2:10 am    Заголовок сообщения: Ответить с цитатой

это мой софт
версии поновее
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Анрил



Зарегистрирован: 23.07.2002
Сообщения: 68
Откуда: г. Старый Оскол

СообщениеДобавлено: Ср Ноя 27, 2002 8:28 pm    Заголовок сообщения: Ответить с цитатой

Спасибо за обновку, действительно неплохая штучка.
Вот только если бы она еще учитывала бронь. А то получается, например, что комп №1 забронирован, но в окошечке пишет, что освободится через 5мин(это пример). Возможно ли подправить?
И еще странно происходит посадка по брони. Я человека посадил из брони, а признак (красный восклицательный знак) остается еще несколько минут.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Чт Ноя 28, 2002 8:13 am    Заголовок сообщения: Ответить с цитатой

только в след версиях
в этой эта тема точно патчится не будет
потому как оч много времени потребуется на эту казалось бы "небольшую" доделку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Марк



Зарегистрирован: 08.11.2002
Сообщения: 307
Откуда: Минск

СообщениеДобавлено: Пн Дек 09, 2002 8:02 pm    Заголовок сообщения: Ответить с цитатой

vis писал(а):
это все ясно.
но как быть если еще оказывается если тело берет 4 часа сразу - ему скидка??????????


Чего?!! Ткни пальцем, где скидка?! Там устанаваливается тариф, а не скидка, я это в своем примере учел!

vis писал(а):
если построить график зависимости цены от времени (по х - время, по н - стоимость) - в этом случае получим, что некая стоимость достигается неоднократно!
что и есть неоднозначнось при выборе времени.
т.е. админу нуна в принципе давать мазу выбирать на скока тело садить-ть в итоге.
что я и хотел сказать.


Делать надо иначе - нужно чтобы неоднозначность достигалась во времени. То есть чтоб получалось несколько вариантов времени как в моем примере.
Ведь при посадке на всю сумму мы не стоимость считаем, а время!!!
И тогда выбирается максимальное время из имеющихся вариантов.

Но расчет по константам нужно сделать в любом случае: самое частое - это наличие скидки. Пусть оно пока не работает при выборе стольких-то часов...
Просто пусть при наличии индивидуальной скидки, то есть константы хотя бы считает! Здесь же нет никакой неоднозначности!!!

_________________
Сила мелочей в том, что их много
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Марк



Зарегистрирован: 08.11.2002
Сообщения: 307
Откуда: Минск

СообщениеДобавлено: Сб Дек 14, 2002 3:06 am    Заголовок сообщения: Ответить с цитатой

Перечитал тему еще раз и суммирую:
1. Неоднозначность достигается только если есть отдельный тариф на взятие стольких-то часов. Все остальное считается элементарно и встроить этот расчет - пара пустяков. Тем не менее игнорируется... 2. Неоднозначность состоит в том, что за одну и ту же сумму может получиться разное время. Так вот - клиент доджен получатьза свои деньги максимум возможного. Остальное - наши внутренние трудности, клиенту мало интересные. То есть неоднозначность решается простым выбором максимального значения.

Виктор! Отсутствие посадки на всю сумму при наличии скидок или перехода тарифа по времени - это БАГ и его давно пора патчить.
Когда?! Evil or Very Mad

_________________
Сила мелочей в том, что их много
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
vis
Site Admin


Зарегистрирован: 18.05.2002
Сообщения: 3830

СообщениеДобавлено: Сб Дек 14, 2002 3:58 am    Заголовок сообщения: Ответить с цитатой

Марк писал(а):
Перечитал тему еще раз и суммирую:
1. Неоднозначность достигается только если есть отдельный тариф на взятие стольких-то часов. Все остальное считается элементарно и встроить этот расчет - пара пустяков. Тем не менее игнорируется... 2. Неоднозначность состоит в том, что за одну и ту же сумму может получиться разное время. Так вот - клиент доджен получатьза свои деньги максимум возможного. Остальное - наши внутренние трудности, клиенту мало интересные. То есть неоднозначность решается простым выбором максимального значения.

Виктор! Отсутствие посадки на всю сумму при наличии скидок или перехода тарифа по времени - это БАГ и его давно пора патчить.
Когда?! Evil or Very Mad


в данное время у меня нет времени тратить 2-3 дня на работу по этой теме... а особенно учитывая то, что скоро это будет бесполезно - не считаю это проблемой
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Марк



Зарегистрирован: 08.11.2002
Сообщения: 307
Откуда: Минск

СообщениеДобавлено: Вс Дек 15, 2002 6:28 am    Заголовок сообщения: Ответить с цитатой

vis писал(а):
в данное время у меня нет времени тратить 2-3 дня на работу по этой теме... а особенно учитывая то, что скоро это будет бесполезно - не считаю это проблемой


М-да...
Считаем баги
1. Не работает пцыца "на всю сумму" если есть переход тарифа или скидка
2. Неправильно считается сумма при продлении времени частями когда есть переход тарифа - писал я уже, что админ легка ворует бабло при таком раскладе
3. Под VPN не работает посадка "без интернета/с интернетом"

Все это мелочь несущественная, так?
И "скоро" (в мае еще планировалось) нам будет предложено заплатить бабло за новую прогу, в которой эти баги пофиксены (еще непонятно все или нет...).

Я понимаю - не встраивать новые возможности в старую прогу. Но заставлять ждать и покупать новую чтоб баги исправились - это нечто... Evil or Very Mad

_________________
Сила мелочей в том, что их много
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов http://www.astalavista.ru -> Общие вопросы (AMS) Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Rambler's Top100 Яндекс цитирования