Страницы: Пред. 1 2
RSS
Архитектура данных: как хранить историю взаимоотношений с клиентом?, Вопрос, скорее, не про функционал, а про структуру представления данных и формализацию бизнес-процесса
 
вот для примера
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
#30 - на мой взгляд все выводы поста, скажем так, "необычные".

1 - для современных систем ввода-вывода табличный(двумерный) вид самый удобный. Форма, показывающая одну запись слишком ограничена для ввода и просмотра, ИМХО.
2 - в Вашем случае альтернативы просто нет. Или Вы хотите вводить все контакты в одно поле? Это точно неудобно, и для ввода данных, и для их выборки/анализа.
3 - более тяжелое? Тогда Вам надо купить пачку "желтых листочков" и сделать из своего монитора "ромашку", тогда Вы поймете что такое "тяжелое решение". БД для того и придумали, чтобы эффективно хранить и обрабатывать данные и очень жаль, что эксель в стандарте не поддерживает полноценную работу с БД!

Цитата
aleck написал:
стандартными средствами Эксель вряд ли удастся разрешить противоречие между интуитивным и понятным способом ввода, и хранением данных о произвольном количестве попыток контактов
ИМХО, странное резюме напрашивается по данной теме. ТС либо издевается, либо плохо понимает русский язык. Эксель, как способ ввода данных, достаточно продвинутая программа. Куча возможностей по проверке вводимых данных и автоматизации. Одно простое копирование строк очень эффективно позволяет заносить/заменять данные в таблице хранения, не говоря о макросах и UDF! И хранение данных до какого-то объема тоже позволяет организовать. А вот противоречие между вводом и хранением данных - это .... как противоречие между круглым и зеленым, ну ведь совершенно разные задачи!

Резюмирую: то, что описано в #1, давно имеет решение (см. любую CRM), но ТС они не нравятся из-за какого-то противоречия, которое сам ТС сформулировать не может. Возможно, это верная постановка вопроса, но не в рамках этой темы форума, ИМХО. Здесь рассматриваются конкретные, практические задачи, поэтому третий раз советую автору темы сделать файл-пример и показать, каким д.б. результат.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
TheBestOfTheBest написал: ИМХО, странное резюме напрашивается по данной теме. ТС либо издевается, либо плохо понимает русский язык.
++++
Цитата
aleck написал: противоречие между интуитивным и понятным способом ввода, и хранением данных
Цитата
aleck написал: Это же, фактически, сырые данные. Юные девы запутаются моментально )
aleck. на девочек пенять не надо, я бы на их месте тоже задумалась: "нафига (другого слова не появляется) столько вводить и хранить?"... пока вы не определитесь для чего и как ИСпользовать Информацию - её и вводить и хранить нет смысла... важны конечные цели выборки, представления и репрезентации Нужной инфо - так соответствующе и вводить - чтобы дальше с ней (инфо) работать можно было... поэтому вам много людей уже посоветовали БД - поскольку по сути (и смыслу) для обработки вашего типа информации - бд и создавались... да, и в Excel можно сделать прототип бд - какая структура удобна - так и располагайте инфо по ячейкам... только определитесь, как потом эту инфо доставать и какая нужна... девочкам ввести несложно, они русский язык (и не только) в школе изучали - что сформулируете, то и введут
Изменено: JeyCi - 10.11.2015 12:36:20
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
TheBestOfTheBest написал: поэтому третий раз советую автору темы сделать файл-пример и показать, каким д.б. результат.
Я уже говорил, что проблема, так скажем, не в реализации, а в архитектуре. Смысл моего поиска как раз в том и состоит, чтобы понять ЧТО именно реализовать. Сейчас мне это уже более-менее понятно.
Цитата
TheBestOfTheBest написал: то, что описано в #1, давно имеет решение (см. любую CRM), но ТС они не нравятся из-за какого-то противоречия, которое сам ТС сформулировать не может
Да, решение (общее) есть. Но если вы внедряли CRM вы наверняка знаете, что ни одна CRM не бывает сколь-нибудь удовлетворительно заточена под нужды и процессы компании. Именно поэтому их так много. При выборе CRM почти всегда натягиваешь либо имеющийся функционал на свои процессы, либо свои процессы на имеющийся функционал, и не всегда то или другое выходит удачно.

Почему нам сейчас не подходит CRM я могу сказать кратко — очень много процессов УЖЕ опирается на эксель (который появился, как быстрая и простая альтернатива бумажечкам). Да, я могу сесть и написать CRM, идеально заточенную под нужды нашей организации, но это дорогое решение: месяц моей работы уйдет на создание прототипа, и еще полгода на допиливание и докручивание. Поэтому сейчас мы идем по пути самых простых решений.

Цитата
TheBestOfTheBest написал: А вот противоречие между вводом и хранением данных - это .... как противоречие между круглым и зеленым, ну ведь совершенно разные задачи!
Именно! Это разные задачи. Поэтому и возникает противоречие. Потому что в данном случае нам нужны свойства СУБД, а эксель — не СУБД. Если таблица одна, и запись хранит данные об одном клиенте — это концептуально самая простая модель. Она понятна и доступна для мало-мальски знакомых с экселем. Удобно заносить данные: ткнул в пустую строку и вводишь последовательно в поля имя, телефон, и все остальное. Визуально удобно выявлять строки-клиенты, которые предстоит обработать. Удобнее выполнять поиск и перенос обработанного клиента.

А если одной записи (строке) таблицы сопоставляется попытка контакта с клиентом — то да, без сомнения эта структура способна адекватно отразить хоть 1000 таких попыток. Но работать с ней реально неудобно: чтобы обновить статус, придется дублировать всю запись — лишние действия и, как следствие, возможные ошибки. Как отобрать клиентов по последнему выставленному статусу? В принципе можно, но надо заморочиться и делать отдельное представление (таблицу), которое будет анализировать поле статуса и дату-время каждой записи. Значит появляется еще одна сущность. Удалять/переносить зафиналенных клиентов — тоже нетривиальная задача. Этот вариант — шаг в сторону, когда хранение данных отдельно, интерфейс отдельно. Т.е. это шаг в сторону СУБД.

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

Цитата
TheBestOfTheBest написал: для современных систем ввода-вывода табличный(двумерный) вид самый удобный. Форма, показывающая одну запись слишком ограничена для ввода и просмотра, ИМХО
Для ввода самое то. Для работы со списком — отдельное представление данных.

Цитата
TheBestOfTheBest написал: более тяжелое? Тогда Вам надо купить пачку "желтых листочков" и сделать из своего монитора "ромашку", тогда Вы поймете что такое "тяжелое решение"
Тяжелое — имеется в виду, затратное по ресурсам и времени разработки. Эксель + БД разумеется тяжелее, чем просто эксель )))
А ромашки из бумажек мы проходили. И отказались от них в том числе благодаря Экселю.

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

 
 
Цитата
aleck написал:  В принципе можно, но надо заморочиться и делать
"золотые слова, Юрий Бенедиктович" :)
Нет ни одного решения, которое в готовом виде идеально подойдёт именно вам. Везде придется заморачиваться и делать.
 
Я работал в компании - CRM была майкрософтовская Dynamics. На ее допиливание под нужды компании был создан целый отдел. То что вы хотите сделать в Эксель это временная заплатка, т.к. со временем возникнет потребность увеличения функционала, которые решить средствами Эксель уже не удастся, соответственно встанет вопрос с переносом базы в другую программу. Я считаю, что лучше сразу сделать правильно и в программах, предназначенных для этого.
Из опыта анализа контактов. Реально читаемым является один контакт-одна запись в БД.
Для реализации в Эксель можно придумать базу контактов, девочка операционист выбирает клиента, затем вид контакта (звонок, встреча, письмо) перед ней открывается окно ввода данных (дата, о чем договорились и т.д.), эти данные хранятся например на другом листе, и для анализа средствами VBA вытягиваются на третий лист необработанные контакты
 
aleck, использовать формы я предлагал Вам еще 17 постов назад. А тема чем дальше, тем больше напоминает сказку про "пойди туда, не знаю куда, принеси то, не знаю что". ТС не знает не как реализовать задачу, а что он хочет получить на выходе, отсутствует даже примерная постановка ТЗ. А все советы разбиваются о рассказ про неких юных дев, которых, судя по описанию вообще нельзя подпускать к компьютеру.  
 
Цитата
aleck написал:
Я уже говорил, что проблема, так скажем, не в реализации, а в архитектуре.
Т.е. Вам нужна идея: как визуализировать в эксель связку Клиенты-Контакты, причем существующие способы CRM не использовать?

Хотя нет, есть же в #1
Цитата
Может быть существует еще какой-то способ табличного хранения данных, который будет относительно простым в использовании, и будет позволять хранить произвольное количество текстовых комментариев и других полей, отражающих историю работы с клиентом? Может быть это не одна таблица, а совокупность таблиц, по аналогии с БД?...
А в #31 приведен пример решения. Остается только один вопрос: чем не устраивает? Ответ видимо в этом:
Цитата
Тогда встает вопрос интерфейса: данные хотелось бы вводить куда-то в одно место, чтобы минимизировать количество ошибок ввода.
(Как будто ввод данных в одно место гарантирует минимум ошибок!)

Уважаемый автор, Вы не могли бы сформулировать проблему более точнее?
Изменено: TheBestOfTheBest - 10.11.2015 14:06:32
Неизлечимых болезней нет, есть неизлечимые люди.
 
Цитата
Dima S написал:
Нет ни одного решения, которое в готовом виде идеально подойдёт именно вам. Везде придется заморачиваться и делать.
Золотые слова! )))
Но заморочиться с табличкой — это одно. А заморочиться с программированием на VBA или СУБД это совершенно другое. Глупо требовать от Экселя функционала Аксесса. Но поискать компромиссное решение никто не запрещает )) Собственно именно это я и сделал.
 
Цитата
Finswimmer написал:
Я работал в компании - CRM была майкрософтовская Dynamics. На ее допиливание под нужды компании был создан целый отдел. То что вы хотите сделать в Эксель это временная заплатка
Да, разумеется, это решение на коленке.

Цитата
Finswimmer написал:
Для реализации в Эксель можно придумать базу контактов, девочка операционист выбирает клиента, затем вид контакта (звонок, встреча, письмо) перед ней открывается окно ввода данных (дата, о чем договорились и т.д.), эти данные хранятся например на другом листе, и для анализа средствами VBA вытягиваются на третий лист необработанные контакты
Да, что-то типа этого я сейчас делаю )))
 
Цитата
МВТ написал:
aleck, использовать формы я предлагал Вам еще 17 постов назад.
А я нигде не отказывался от этой идеи. И хочу поблагодарить за это направление мысли. Я сам про пользовательские формы не думал.
Цитата
МВТ написал:
А тема чем дальше, тем больше напоминает сказку про "пойди туда, не знаю куда, принеси то, не знаю что". ТС не знает не как реализовать задачу, а что он хочет получить на выходе, отсутствует даже примерная постановка ТЗ.
Исходный пост, это не ТЗ на разработку, а вопрос об архитектуре данных. И в процессе обсуждения я услышал много полезного, в том числе и от вас.
 
Цитата
TheBestOfTheBest написал:  Т.е. Вам нужна идея: как визуализировать в эксель связку Клиенты-Контакты...?
Не, щас вроде бы вырисовалась оптимальная схема: форма ввода и VBA-код, который растаскивает данные по таблицам. И т.д.
Цитата
Михаил Лебедев написал: База клиентов aleck ver1.xlsm
Цитата
TheBestOfTheBest написал: А в #31 приведен пример решения. Остается только один вопрос: чем не устраивает?
Это вариант. Сейчас делаю нечто подобное. Разумеется, своя форма и своя логика, но суть примерно такая же.

Цитата
TheBestOfTheBest написал:
(Как будто ввод данных в одно место гарантирует минимум ошибок!)
Под вводом данных в одно место я имею в виду прежде всего ввод в одну строку одной таблицы. И да, это минимизирует количество ошибок.

Потому что если перед тем, как создать запись-контакт, надо сначала внести запись в список клиентов, а потом уже из этого списка «выбирать», скажем, выпадающим списком, то с точки зрения программиста — это все очень логично: вот справочник, вот журнал. А на практике это жутко неудобно и люди по факту используют плейн текст. Да неструктурировано, но проще всего. Поэтому я ищу альтернативу, которая будет сопоставима по удобству ввода: либо последовательное заполнение полей таблицы, либо заполнение формы (что предпочтельнее).

Цитата
TheBestOfTheBest написал:
Уважаемый автор, Вы не могли бы сформулировать проблему более точнее?
В настоящее время картина более-менее вырисовалась. Хотел обойтись чистым экселем, но, видимо, все равно придется подтягивать тяжелое вооружение в лице VBA.
 
Цитата
видимо, все равно придется подтягивать тяжелое вооружение в лице VBA.
Это и так понятно. Зря надеялись. Встроенными инструментами такого не соорудить.
 
Цитата
Михаил Лебедев написал: для примера База клиентов aleck ver1.xlsm
Спасибо за хороший пример. Взял за основу.
 
Цитата
vikttur написал: Встроенными инструментами такого не соорудить.
Ну вот для этого и существует общение, чтобы то, что понятно одному стало понятно другому )))
 
Цитата
aleck написал:
Потому что если перед тем, как создать запись-контакт, надо сначала внести запись в список клиентов, а потом уже из этого списка «выбирать»...
ИМХО, дело не в том куда и как вводить (ведь можно клиента добавлять по-умолчанию), а в логике данных. Кто-то должен проверить, что клиент не задвоен название введено верно, и проверку должна делать точно не программа. Вам нужно описать для себя этот процесс, затем уже пытаться его реализовать.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Ну да, мы и пляшем от реального процесса. Я просто не стал его расписывать, чтобы не усложнять без нужды.
 
Тогда чего Вы от форумчан хотите? Ведь этих процессов они не знают, а Вы им их не рассказываете.
Изменено: TheBestOfTheBest - 10.11.2015 20:04:20
Неизлечимых болезней нет, есть неизлечимые люди.
 
Я уже написал все, что меня интересовало. И услышал много полезного. На данный момент вопросов нет.
 
Сейчас пока на коленке автоматизирую, потом нормальную CRM запилим )
 
Цитата
aleck написал:
потом нормальную CRM запилим
Пилить надо сразу, потом будет  более затратно :)))
 
Читаю эту тему, и никак не пойму...
Вопрос
Архитектура данных: как хранить историю взаимоотношений с клиентом
Ответ
В виде плоской таблицы.

Какое отношение вся писанина на 2 страницы имеет к вопросу?
При чем тут ввод и обработка данных?
 
RAN, архитектор решил заодно прикинуть, как его проект будет сочетаться с имеющимися строематериалами и навыками бригады ;)
 
На самом деле все зависит от предполагаемого объема информации.
Если клиентов в год будет штук 5, то можно и в ворде, и в блокноте (даже в бумажном) :))
В интернете полно небольших бесплатных crm, как облачных так и декстопных с вполне нормальным функционалом.
Если хочется больше и лучше, ищите нормального спеца, который сам Вам все сделает. Потому что переделывать после Вас будет дороже.
 
Кстати, да, про объем это я зря не упомянул. До 20 записей в день. Имеется в виду добавление/финализация клиентов.

И я знаю про все преимущества специализированных решений и нанятых специалистов. Тем не менее, не всегда имеет смысл сразу строить самолет, иногда достаточно велосипеда.

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

А про небольшие бесплатные CRM я уже говорил: без заточки под наши процессы ни одна из десятка просмотреных мною систем не подходит нам настолько, чтобы выигрыш был больше, чем затраты на переход на новые рельсы. В будущем, когда ресурсы позволят, возможно реализуем какой-то вариант.
 
Цитата
aleck написал:
Если хочется больше и лучше, ищите нормального спеца, который сам Вам все сделает. Потому что переделывать после Вас будет дороже.
Ну не знаю. После спеца тоже сложно что либо переделать. Да после любого программиста сложно что-то переделывать, так как что именно там нахавожено знает только он. Так что я думаю, надо всегда быть в курсе сложных решений, ибо спец потом умрёт или уедет, а программа останется недопиленной.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
CAHO написал:
Ну не знаю
Не хочу чтобы тема переросла во флуд, но скажу Вам по секрету:
Если архитектуру разрабатывает спец, то система легко дорабатывается без вмешательство в действующий код и структуру данных.
Еще раз повторюсь и акцентирую, именно легко дорабатывается, а не переделывается.
 
О, да. Это один из признаков профессионализма разработчика. Точнее архитектора.

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