Базы данных - это наше всё. Ну или почти всё. В бизнесе любая информация сейчас хранится в базах данных. А специальное программное обеспечение, будь то "1С Битрикс", или какой-нибудь "Мегаплан" помогают в сборе и обработке этих данных. Это мы и называем CRM.
Вообще CRM - это аббревиатура Customer Relationship Management, дословно переводится как «система управления взаимоотношениями с клиентом». Эти системы помогают в сборе данных, их обработке, налаживают бизнесс-процессы внутри компании, помогают "вести" клиента и осуществляют внутренний учет и составление документации.
Сейчас существует ну просто огромнейшее количество готовых решений на любой вкус, цвет, и кошелек. Однако в большинстве случаев это ну просто огромнейшие монстры с кучей порой откровенно "не нужного в данный момент" функционала. Что же делать?
Представим (идиотизируем) ситуацию. У вас небольшой бизнес - например, вы продаете вязаные игрушки ручной работы. У вас не так много заказчиков как у "акул", но при этом вы все-же хотите вести учет клиентов. Давайте добавим сюда еще условие, что вы абсолютно не хотите покупать готовое решение по любым причинам - дорого, лень разбираться, вам не подходит, вы не верите "облакам" и так далее.
Выход из данной ситуации один - написать собственную CRM с блекджеком и шлюпками собственными бизнесс-процессами. Однако как это сделать если ты ни разу ни программист, а денег как не было так и нет?
Выход есть!
Но давайте начнем сразу с ложки дегтя. Программировать придется. Но не в таком объеме как в случае разработки с нуля. Основную работу возьмет на себя конструктор.
И вот он гвоздь нашей программы - DataExpress. https://mydataexpress.ru
По сути это абсолютно бесплатный конструктор приложений баз данных. В нем можно самостоятельно сделать практически все, что требуется малому бизнесу. Начиная от учета клиентов и товара, заканчивая отчетами, документами и договорами. И главное - он отечественный. Разработчик - Дуборкин Павел Борисович, огромное ему спасибо за данное чудо!
Конструктор использует базу данных Firebird версии 2.5. Да, возможно она уже несколько морально устарела, но зато она абсолютно бесплатна и не жрет ресурсов даже в серверной версии.
Давайте начнем.
Качаем программу. Я лично советую скачать портативную версию. Распаковываем и запускаем.
После запуска перед нами открывается уже готовая демо база с учетом товаров, клиентов, товарами и так далее.
В принципе в нашем примере мы уже можем использовать эту базу, но мы ведь хотим свой блекджек. Давайте тогда создадим ее! Файл - Новая...Назовем ка мы эту базу PikaBushehka.
Теперь перед нами пустое окно. Жмем на Файл - Дизайнер.
Теперь мы находимся в режиме создания базы. Давайте определимся с сущностями которые мы будем использовать.
Сразу оговорюсь - сейчас моя цель не создать для вас CRM или сделать гайд. Моя цель - сделать обзорную экскурсию и показать как можно это сделать самостоятельно. Подробно о программировании, создании форм и вообще о всем-всем-всем вы можете почитать на официальном сайте программы.
Погнали. У нас есть сущности "Товары" и "Клиенты". Также у нас есть Сущность "Продажи", кот которая объединяет товары и клиентов. Создаем формы нажатием на кнопку "Добавить форму"
Форма добавилась, давайте обзовем ее. Кликаем на поле посередине и жмем на кнопку ID. Задаем название формы. Пусть это у нас будет "Клиенты".
Внутри формы "Клиенты" создадим 2 поля - ФИО и Адрес. Для начала этого нам достаточно.
Также создаем формы с названием "Товары" и "Продажи".
В "Товары" добавляем поле "Название" и "Цена. Для поля цена используем тип "число" - мы ведь не хотим указывать там что-то отличное от цифр. Точность выставляем 2 знака после запятой - это будут копейки. Также делаем поле обязательным. Для этого кликаем на значок "восклицательный знак" и выбираем "Обязательное".
Дальше необходимо увязать эти формы между собой. Делать мы это будем в форме "Продажи"
Для этого создадим в нем не поле, а объект (цифра 1). Обзовем его (цифра 2) , и свяжем его с формой (цифра 3)
Создаем связи. Выбираем как на скрине. Дополнительное поле "адрес" вставляем через ПКМ - Добавить.
Таким же образом вставляем объект "Товар" и доп. полями "Количество" и "Стоимость"
Они тоже должны быть числовыми. Стоимость тоже делаем с четностью на 2-х символов. И добавляем флажок "Оплачено".
Ну где-же программирование? А вот оно! Давайте теперь запрограммируем поле "Стоимость", чтоб оно считалось автоматически. Для этого кликаем на поле и выбираем "Выражение"
Перед нами открывается редактор выражений.
Давайте теперь сделаем функцию, которая будет проверять введенное количество, а после чего перемножать его на цену выбранного товара и считать стоимость. Для этого идем в функции и выбираем функцию IIF. К слову - к каждой функции есть очень подробное описание. Советую изучить их все. Нам нужно сделать следующее условие. Если количество больше нуля, то стоимость равна количество умножить на цену товара, иначе ставим 0.
Используя инструмент "вставка полей формы" и немного клацанья по клавиатуре доводим выражение до состояния как на скрине.
А мы идем дальше. Сохраняем все. Давайте теперь выйдем из редактора и создадим клиента "Иванов Иван Иваныч", товар "Вязаный медведь" с ценой 100, и одну продажу Иван Иванычу в количестве 2-х штук.
И вот, мы уже получили нашу первую продажу в нашей самописной CRM!
Давайте теперь чуть-чуть раскрасим все. Идем обратно в дизайнер - продажи. Тыкаем на свободное место в форме и используем инструмент "Раскраска" - выглядит как зонтик. Делаем так. Красный цвет - если не оплачено. Зеленый - Если оплачено.
И давайте теперь добавим возможность посмотреть историю покупок конкретного клиента.
Заново идем в дизайнер, в форму "Клиенты".
Добавляем запрос (1) , обзываем его "список покупок" (2), и делаем отбор (3)
Отбор заполняем таким образом:
Принцип прост. Сначала выбираем источник информации. Для нас это таблица "Продажи".
Дальше делаем отбор фильтра. Суть его такова - определенное поле источника должно соответствовать полю текущей формы. В нашем случае - Клиент-ФИО должно соответствовать полю ФИО текущей формы. Выделенное же рамкой добавляем используя кнопки "добавить поле".
Кстати, здесь мы тоже можете использовать раскраску ;-)
Попробуйте настроить ее сами, это не сложно =)
Любуемся результатом:
Итоги
На подготовку данного материала ушло 3 часа вместе с программированием примера. =) Я дольше печатал этот текст чем создавал базу.
Dataexpress - достаточно простой, надежный конструктор баз данных, на базе которого можно создать как простую, так и сложную CRM практически без особых навыков программирования. А главное - бесплатно и своими руками.
Здесь было показано максимум 5% функционала данного конструктора. На самом деле его потенциал огромен! Изучайте, пользуйтесь, надеюсь Вам это будет полезно.
Пример разработанной в этом уроке базы я выложил вот здесь. https://drive.google.com/file/d/1edqYwlhHbSHee0pHCFVdUUbhRX0...
В комментариях написали что это совершенно негибкая система. Не соглашусь. На данной системе написано уже очень много сложных вещей, как пример - медицинская информационная система для стоматологической поликлиники. И кстати распространяют ее тоже бесплатно. Можно скачать и ознакомиться. https://forum.mydataexpress.ru/viewtopic.php?f=40&t=1339...