Изменение содержимого заказа
От: Grog13 Финляндия  
Дата: 19.08.09 14:22
Оценка: 62 (1)
Есть DataGrid в котором показывается содержимое заказа:


Однако, бывают случаи, что каких-то позиций нет. Но есть аналогичные, но другого производителя, другого цвета и так далее.
Или клиент передумал и хочет не эти позиции, а только часть из-них, или наоборот, эти и еще вот эту голубенькую
Вообщем, содержимое заказа может достаточно активно меняться.

Надо бы как-то визуально смотреть актуальную информацию, с возможностью быстрого просмотра истории (кто, когда, что изменил и по какой причине).

Как бы все это дело по-красивше оформить?
Использую WPF.
Re: Изменение содержимого заказа
От: DmitryMS  
Дата: 24.08.09 15:37
Оценка:
А не переусложняете ли вы задачу? Альтернативные предложения логичнее показывать в момент формирования корзины перед добавлением в нее айтемов.

Подмена айтемов после формирования корзины для меня была бы 100% непримлемой.

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

Отслеживание истории изменений считаю параноей, айтем либо есть куплен + оплачен, либо — это воздух.
Re[2]: Изменение содержимого заказа
От: DmitryMS  
Дата: 24.08.09 15:40
Оценка:
если нужно отслеживать ситуации, когда покупатель практически всегда меняет свое решние с А на Б я бы смотрел на изменения драфта корзины. Более сложные цепочки вряд ли будут информативны.
Re[2]: Изменение содержимого заказа
От: Grog13 Финляндия  
Дата: 25.08.09 12:46
Оценка:
Здравствуйте, DmitryMS, Вы писали:

DMS>А не переусложняете ли вы задачу? Альтернативные предложения логичнее показывать в момент формирования корзины перед добавлением в нее айтемов.


В момент формирования корзины и собственно заказа, может быть неизвестно, что каких-то позиций нет и так далее.
Скорее это не заказ, а заявка. Далее уже идет "уточнение". Это не так часто, 95% случаев идет 1 в 1.
Но для 5% бывает что в окончательном заказе будут не те позиции, которые были в заявке. Естественно, это все происходит после одобрения клиента.

DMS>Отслеживание истории изменений считаю параноей, айтем либо есть куплен + оплачен, либо — это воздух.


Не все так просто.
Например в корзине лежат одни айтемы, а в счет клиенту идут другие — реально поставленные (аналоги, замененные и т.д.).
Так как заказы могут быть большими и поставляться частями, соответственно и счетов на один заказ может быть несколько.
И тогда получается что мы можем думать что еще должны клиенту какие-то позиции, хотя ему уже давно было все поставленно по измененному сценарию.
Сейчас это решается записями на бумажке (хе хе), а хотелось бы это как-то видеть уже не в бумажном варианте.
Соответственно надо видеть что изначально хотел клиент, кто, когда и по какой причине заменил часть заказа (причем может даже получиться и так, что
придется несколько раз изменять содержимое заказа).
Re[3]: Изменение содержимого заказа
От: DmitryMS  
Дата: 25.08.09 13:35
Оценка:
Мне кажется, что показывая в корзине айтемы, которые вы не отгрузили, вы путаете и себя и клиента. Я бы показывал только отгруженные айтемы, а для тех из них, что не соответствовали запришенным, оригинальный запрос
Re[3]: Изменение содержимого заказа
От: DmitryMS  
Дата: 25.08.09 13:37
Оценка:
Для повторных замен — небольшое флоу в Wpf это проше — такую сиквенс диаграмму с данными об измениях
Re[4]: Изменение содержимого заказа
От: Grog13 Финляндия  
Дата: 25.08.09 14:01
Оценка:
Здравствуйте, DmitryMS, Вы писали:

DMS>Мне кажется, что показывая в корзине айтемы, которые вы не отгрузили, вы путаете и себя и клиента. Я бы показывал только отгруженные айтемы, а для тех из них, что не соответствовали запришенным, оригинальный запрос


Это не корзина. Это готовый заказ (оригинальный) клиента.
Мне нужно показать Актуальный заказ. Т.е. тот, что действительно будет поставлен клиенту.
И в то же время, мне надо видеть те различия, которые есть между актуальным заказом и тем что клиент изначально заказал.
Т.е. вопрос в том как это показать наглядно.

Например, если какая-то из позиций клиенту поставляться не будет — можно её перечеркнуть.
Если какая-то позиция абсолютно новая, можно нарисовать где-нибудь плюсик.
Но вот как показать что позиция изменена. Напрашивается конечно зачеркнуть старую и с "плюсиком" показать новую.
Есть ли еще варианты?
Re[5]: Изменение содержимого заказа
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.08.09 06:51
Оценка: 16 (1)
Здравствуйте, Grog13, Вы писали:
G>Это не корзина. Это готовый заказ (оригинальный) клиента.
G>Мне нужно показать Актуальный заказ. Т.е. тот, что действительно будет поставлен клиенту.
G>И в то же время, мне надо видеть те различия, которые есть между актуальным заказом и тем что клиент изначально заказал.
G>Т.е. вопрос в том как это показать наглядно.

Отличная задача. Мне нравится ваше стремление сделать всё понятным.
Ваше решение тоже кажется весьма неплохим. Итак, что бы я хотел увидеть в решении:
1. Возможность показать позиции, которые не вошли в заказ. Решение с зачёркиванием — нормально. Главное — убедиться, что зачёркивание не затрудняет чтение самой позиции. Если мешает — рассмотрите пиктограммку + затенение текста либо фона.
1а. Возможность показать причину, по которой не вошло в заказ, без лишних телодвижений. Типа "нет на складе", "клиент передумал и отказался"
Варианты:
— примечание-подстрочник, мелким шрифтом
— дополнительная колонка под примечания. Недостатки: жрёт место по горизонтали, даже если примечания нет. В случае компромисса будет плохо выглядеть для всех позиций
— разворачивающийся при клике блок.
— всплывающая подсказка при hover. Недостатки: не поддаётся печати
1b. Возможность показать то, что предложено/выбрано взамен выброшенной позиции
Варианты:
— использовать примечание из 1а, типа "заменено на поз.№ XXX". Недостатки: трудно отследить визуально, что на что поменялось.
— выводить замену рядом (ниже/выше) с заменяемым, визуально подчеркнуть связь путём либо индента, либо рисования спец. иконок — линий. Недостатки: непонятно, как визуализировать более сложные, чем 1:1, замены. Типа "вместо А продали Б и В, а вместо Г и Д — продали Е"
2. Возможность показать добавленные позиции. Решение с иконкой — нормально. Альтернатива — игра с декорированием шрифтов. Стандартная практика — использование красного цвета. Не очень нравится, т.к. а) плохо видно на печати, б) не во всех дизайнах хорошо работает
2a и 2b — полностью аналогичны 1a и 1b.

3. Возможность показать всю историю заказа, а не только начальный/конечный варианты. Не уверен, что это вообще надо.
В принципе, решается добавлением двух колонок "дата добавления/дата выбрасывания", что заодно позволяет отказаться от иконок "+" и "-".
Либо дописыванием даты в примечание; сама строчка позиции показывает только последний статус, а примечания отслеживают всю историю, типа:
24.08.2009 — предложена продавцом взамен позиции №ХХХХХ
25.08.2009 — клиент отказался
26.08.2009 — добавлена клиентом взамен позиции №ХХХХХ

4. Присылайте новые скриншоты
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Изменение содержимого заказа
От: Grog13 Финляндия  
Дата: 28.08.09 13:23
Оценка: 62 (1)
Здравствуйте, Sinclair, Вы писали:

S>Отличная задача. Мне нравится ваше стремление сделать всё понятным.

S>Ваше решение тоже кажется весьма неплохим. Итак, что бы я хотел увидеть в решении:
S>1. Возможность показать позиции, которые не вошли в заказ. Решение с зачёркиванием — нормально. Главное — убедиться, что зачёркивание не затрудняет чтение самой позиции. Если мешает — рассмотрите пиктограммку + затенение текста либо фона.

Да. Думаю с затенением будет симпатичнее чем перечеркивать.

S>1а. Возможность показать причину, по которой не вошло в заказ, без лишних телодвижений. Типа "нет на складе", "клиент передумал и отказался"

S>Варианты:
S>- примечание-подстрочник, мелким шрифтом

в wpftoolkit:datagrid есть такая штука как RowDetails
Думаю её как раз можно приспособить для этой штуки, благо она настраивается как душе угодно.
Для тех товаров, для которых не было изменений, эта RowDetails будет скрыта, для оставшихся будет показывать именно кто, когда и что делал.

S>4. Присылайте новые скриншоты


Сейчас немного другим занимаюсь, это был, так сказать, вопрос на будущее
Как только — так сразу. Спасибо за комментарий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.