Имеется CRM-система: EspoCRM с установленным модулем для агенства недвижимости Real Estate. (на месте осуществлена её донастройка штатными средствами через интерфейс администрирования)
Посмотреть на демо-версию можно тут:
www.espocrm.com/cloud-reg... (обязательно подключить модуль Real Estate)
или скачать себе:
www.espocrm.com/download/,
www.espocrm.com/extension... В рамках этой системы требуется выполнить несколько задач так, чтобы допускались обновления самой EspoCRM и модуля RealEstate (штатными средствами) без потери разработанной функциональности, а если это невозможно разработать процедуру восстановления этой функциональности после таких обновлений.
Задача-1: Создание адресного справочника(ов), выбор значений справочника(ов) в специальных полях
Для создания/редактирования/просмотра объектов недвижимости в системе предусмотрены отдельные формы (объекты и заявки).
Сами объекты хранятся в БД в двух отдельных таблицах (объекты и заявки), со связями по некоторым полям с другими таблицами.
В БД для объектов недвижимости есть поля:
address Адрес
addressCity Город
addressState Регион
addressStreet Улица
сейчас они имеют текстовый формат, отображаются (как есть) в карточке объекта, заполняются ручным вводом (можно вводить произвольный текст).
Требуется:
1. Создать справочник(и) с актуальными данными поселений РФ с возможностью выбирать регион (в нашем случае Калининградская область) со списком поселений и улиц (с возможностью их регулярно обновлять из файлов ФАИС).
2. Привязать эти справочники к выбранным полям так, чтобы:
2.1. Допускался выбор значений только из соответствующего справочника (с учётом других полей адреса, чтобы, например, при заполненном поле "город" нельзя было выбрать улицу из другого города).
2.2. В поле отображалось значение из справочника, а в этом поле в базе хранился id соответствующего элемента справочника.
2.3. При ручном наборе текста в поле отдельным списком отображались варианты значений, содержащих уже введённый текст (с учётом п.1), с возможностью сразу выбрать один из них.
2.4. В каждом поле присутствовала кнопка выбора значения (из открывающегося по клику на ней) справочника. (Это уже реализовано в модуле для других полей, имеющих тип "Ссылка")
2.5. Привязать признаки "Пригород/Побережье" к списку поселений (т.е. выбрали поселение, относящееся к признаку "Пригород", то этот признак (Пригород), отобразился в карточке объекта);
2.6. Создать справочник «микрорайоны» и привязать значение «микрорайон поселения» к списку улиц и номеров домов. Ричем: есть улицы, которые полностью «умещаются» в 1 микрорайон. (т.е. выбрали улицу "микрорайон поселения" отобразился в карточке Объекта), а есть улицы, которые проходят через 2 или 3 микрорайона в них для определения «микрорайона поселения» необходимо заполнить значение поля «дом ». (т.е. выбрали улицу, дома "микрорайон поселения" отобразился в карточке Объекта).
2.7. Предусмотреть возможность привязки других признаков к значениям полей: город, улица, дом .
Возможно, придётся поменять существующий тип полей БД с "текст/строка" на "Ссылка". При этом важно не сломать остальной функционал модуля.
Возможность удалённого доступа к интерфейсу тестовой CRM (по http) и к её БД (через phpmyadmin) имеется.