2021-07-07 Все Пользовательские Данные В Учетных Системах
Все пользовательские данные в учетных системах должны быть доступны для ручного изменения администратором.
Постановка задачи: Добавить новое поле в базу данных CRM, для учета новой тарифной опции.
Как сделали: Добавили поле в базу данных с помощью SQL-миграции, добавили код в интерфейс клиента для выставления опции.
В чем была проблема:
- Не добавили вывод этого поля в CRM и не добавили возможность редактирования этого поля из CRM.
или
- Не сделали отдельного интерфейса для администратора или менеджера, чтобы изменять это поле.
или
- Не написана инструкция, как изменять это поле менеджеру другим способом.
В итоге менеджер не может изменить клиенту опцию и вынужден каждый раз звать программиста для изменения данных.
Также менеджер не может в CRM посмотреть все клиентские опции, не прибегая к спец.выгрузкам данных в csv.
Как нужно было сделать: Добавить необходимое поле сначала в интерфейс CRM (средствами CRM), а уже потом это поле использовать из кода вебки клиента.
Можно сформулировать правило, что все такие поля должны быть видимы менеджеру и изменяемы им самостоятельно. О безопасности (вдруг менеджер там что-то наменяет) - думать не нужно, т.к. менеджеру потом это придется самостоятельно исправлять. А аудит изменений - нужен. И вообще, be verbose.
Доп. проблема: Использование спец. форматов данных в полях. Нужно было добавить доп. тарифные поля.
Как сделали: Добавили поле tariff_options типа json: ['ip', 'ipr']. Чтобы в будущем можно было легко добавлять нужные опции.
В чем проблема: Проблема в том, что тип поля json не поддерживается веб-интерфейсом CRM. В итоге, менеджеру будет сложно вносить изменения.
Можно выводить json в виде поля-строки, но тут другая проблема: вероятность что менеджер (не являясь технарем) напишет json с ошибкой, что приведет к фантомным багам в коде - очень велика.
Как нужно было сделать: Добавить отдельное поле для каждой опции.
~~OWNERAPPROVE~~
Прочитал правила разработки как не надо делать 2021-07-07 все пользовательские данные в учетных системах должны быть доступны для ручного изменения администратором |
Обсуждение