Цитата |
---|
TheBestOfTheBest написал: поэтому третий раз советую автору темы сделать файл-пример и показать, каким д.б. результат. |
Я уже говорил, что проблема, так скажем, не в реализации, а в архитектуре. Смысл моего поиска как раз в том и состоит, чтобы понять ЧТО именно реализовать. Сейчас мне это уже более-менее понятно.
Цитата |
---|
TheBestOfTheBest написал: то, что описано в #1, давно имеет решение (см. любую CRM), но ТС они не нравятся из-за какого-то противоречия, которое сам ТС сформулировать не может |
Да, решение (общее) есть. Но если вы внедряли CRM вы наверняка знаете, что ни одна CRM не бывает сколь-нибудь удовлетворительно заточена под нужды и процессы компании. Именно поэтому их так много. При выборе CRM почти всегда натягиваешь либо имеющийся функционал на свои процессы, либо свои процессы на имеющийся функционал, и не всегда то или другое выходит удачно.
Почему нам сейчас не подходит CRM я могу сказать кратко — очень много процессов УЖЕ опирается на эксель (который появился, как быстрая и простая альтернатива бумажечкам). Да, я могу сесть и написать CRM, идеально заточенную под нужды нашей организации, но это дорогое решение: месяц моей работы уйдет на создание прототипа, и еще полгода на допиливание и докручивание. Поэтому сейчас мы идем по пути самых простых решений.
Цитата |
---|
TheBestOfTheBest написал: А вот противоречие между вводом и хранением данных - это .... как противоречие между круглым и зеленым, ну ведь совершенно разные задачи! |
Именно! Это разные задачи. Поэтому и возникает противоречие. Потому что в данном случае нам нужны свойства СУБД, а эксель — не СУБД. Если таблица одна, и запись хранит данные об одном клиенте — это концептуально самая простая модель. Она понятна и доступна для мало-мальски знакомых с экселем. Удобно заносить данные: ткнул в пустую строку и вводишь последовательно в поля имя, телефон, и все остальное. Визуально удобно выявлять строки-клиенты, которые предстоит обработать. Удобнее выполнять поиск и перенос обработанного клиента.
А если одной записи (строке) таблицы сопоставляется попытка контакта с клиентом — то да, без сомнения эта структура способна адекватно отразить хоть 1000 таких попыток. Но работать с ней реально неудобно: чтобы обновить статус, придется дублировать всю запись — лишние действия и, как следствие, возможные ошибки. Как отобрать клиентов по последнему выставленному статусу? В принципе можно, но надо заморочиться и делать отдельное представление (таблицу), которое будет анализировать поле статуса и дату-время каждой записи. Значит появляется еще одна сущность. Удалять/переносить зафиналенных клиентов — тоже нетривиальная задача. Этот вариант — шаг в сторону, когда хранение данных отдельно, интерфейс отдельно. Т.е. это шаг в сторону СУБД.
Цитата |
---|
TheBestOfTheBest написал: Одно простое копирование строк очень эффективно позволяет заносить/заменять данные в таблице хранения |
О нет-нет-нет-нет-нет!!! Никакого копирования! Наши талантливые девы такого накопируют — фиг найдешь концы! Плавали, знаем )))
Только выбор поля ввода (табличного или пользовательской формы) и только ввод (ну, или корректировка значения). Может это излишняя паранойя, но практика показывает, что любое действие, где потенциально можно совершить ошибку рано или поздно к этому приведет. Поэтому я стараюсь минимизировать это настолько, насколько разумно возможно.
Цитата |
---|
TheBestOfTheBest написал: для современных систем ввода-вывода табличный(двумерный) вид самый удобный. Форма, показывающая одну запись слишком ограничена для ввода и просмотра, ИМХО |
Для ввода самое то. Для работы со списком — отдельное представление данных.
Цитата |
---|
TheBestOfTheBest написал: более тяжелое? Тогда Вам надо купить пачку "желтых листочков" и сделать из своего монитора "ромашку", тогда Вы поймете что такое "тяжелое решение" |
Тяжелое — имеется в виду, затратное по ресурсам и времени разработки. Эксель + БД разумеется тяжелее, чем просто эксель )))
А ромашки из бумажек мы проходили. И отказались от них в том числе благодаря Экселю.
Я благодарю всех, кто высказал свои мысли и идеи. Склоняюсь к решению на основе пользовательских форм ввода.