Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как организовать ввод значений шкалы пользователем? / 6 сообщений из 6, страница 1 из 1
24.01.2012, 11:52
    #37628510
474
474
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
Кейс такой – есть услуга, которая оказывается клиенту. В зависимости от, допустим, количества «попугаев», потребленных клиентом, стоимость может плясать. Шкала эта нелинейная и произвольная, причем для каждого клиента может быть своя, то есть некоего справочника нет.

Например
1. от 0 до 100 попугаев – 100 рублей
2. от 101 до 120 попугаев – 105 рублей
3. от 121 до 100000 попугаев – 106 рублей
4. от 100001 до бесконечности попугаев – 1000 рублей

Вопрос – как лучше это реализовать, с учетом того, что предполагается, что шкалу будет задавать пользователь, а возможности платформы в плане интерфейса ограничены редактированием таблиц и примитивными формами, куда грид вставить нельзя.

Мне видится такое решение – для каждого договора с клиентом (в т.ч. и для уже действующего договора) пользователь может зайти в массив (таблицу) «Шкала стоимости» в котором он может добавлять, удалять и редактировать записи с графами «От», «До» и «Стоимость». В «От» и «До», соответственно, указывать диапазон «попугаев», в «Стоимости» - значение.

При этом в варианте «А» никакой логики на добавление, редактирование и удаление записей нет. Можно заводить пересекающиеся диапазоны, диапазоны с дырками и т.п. Но для того, чтобы эта шкала заработала (а, значит, у шкалы есть статус) – нужно выполнить отдельную операцию, которая будет проверять корректность заполнения массива – чтобы не было дырок в диапазоне, чтобы записи не пересекались по диапазонам и т.п. В случае ошибок шкала не заработает, а без работающей шкалы не работает договор.

В варианте «Б» логика уже при добавлении, редактировании и удалении записей. Мне кажется, что этот вариант с одной стороны понятнее для пользователя, интуитивнее, а с другой сложнее в реализации – слишком много нужно проверять и я пока даже не представляю как. Например нужно разбить один диапазон в середине на два – в варианте А я исправлю запись (например уменьшу третью запись исправляю как «от 121 до 500 – 106 рублей» ) и добавлю еще одну («от 501 до 100000 – 107 рублей»), чтобы закрыть дырку, а в варианте Б мне проверки при сохранении записи так не дадут сделать и придется удалять все диапазоны и заводить по нарастающей. Плюс варианте в том, что не нужно отдельной операции на корректность шкалы и не нужен статус шкалы, который пользователю малопонятен.
...
Рейтинг: 0 / 0
25.01.2012, 11:14
    #37630302
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
1. до 100 попугаев – 100 рублей
2. до 120 попугаев – 105 рублей
3. до 100000 попугаев – 106 рублей
4. до бесконечности попугаев – 1000 рублей
...
Рейтинг: 0 / 0
25.01.2012, 12:19
    #37630446
474
474
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
Вопрос был про то, где логику прикрутить - сразу при задании шкалы или потом, отдельно?
...
Рейтинг: 0 / 0
25.01.2012, 12:40
    #37630489
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
474, тебе предлагают коспромиссный нормализованный вариант, который и пользователю понятен, и особой сложности в реализации не представляет.
Мало того - та можно просить пользователя добавлять диапазоны и хранить, а отображать - как в твоём варианте №1 .

Если он тебе не нравится, то:
1. мог бы сказать, чем не нравится
или
2. мог бы сказать, "я не понял прелести предложенного варианта"
или
2. если ты точно мучаешься в выборе исключительно между твоими двумя решениями, то решить за тебя, что важнее "удобство пользователя" или "величина затрат на реализацию решения" - увы, нереально. Хотя... Так и быть, я определился: твой второй вариант лучше (помучавшись с реализацией, ты склонишься к варианту _мод, ну или в глубине души согласишься, что зря парился, и нужно было послушать _мод)
...
Рейтинг: 0 / 0
25.01.2012, 13:30
    #37630632
474
474
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
АнатоЛой, ok, я не понял прелести решения _мод )

Сначала не понял, теперь уже понял. Только вот пользователям надо будет привыкнуть, ведь отображать то-то как у меня можно, а вводить? Нужно будет только два значение указывать - конец диапазона и значение. А начало, получается, само вычислится, что для пользователя может быть неочевидно. Думаю надо еще подумать как сделать понятнее.

_мод, спасибо!
...
Рейтинг: 0 / 0
25.01.2012, 23:42
    #37631833
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать ввод значений шкалы пользователем?
474Шкала эта нелинейная и произвольная, причем для каждого клиента может быть своя, то есть некоего справочника нет .
Ну так заведите справочник. Невижу проблем.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как организовать ввод значений шкалы пользователем? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]