2021-07-07 Все Пользовательские Данные В Учетных Системах
Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
правила_разработки:как_не_надо_делать:2021-07-07_все_пользовательские_данные_в_учетных_системах [07.07.2021 07:08] nikolay_carbonsoft создано |
правила_разработки:как_не_надо_делать:2021-07-07_все_пользовательские_данные_в_учетных_системах [07.07.2021 08:38] (текущий) nikolay_carbonsoft Approved(nikolay_carbonsoft 07.07.2021 08:39) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Все пользовательские данные в учетных системах должны быть доступны для ручного изменения администратором. ===== | ||
+ | |||
+ | |||
+ | |||
+ | **Постановка задачи:** | ||
+ | Добавить новое поле в базу данных CRM, для учета новой тарифной опции. | ||
+ | |||
+ | |||
+ | **Как сделали:** | ||
+ | Добавили поле в базу данных с помощью SQL-миграции, добавили код в интерфейс клиента для выставления опции. | ||
+ | |||
+ | |||
+ | **В чем была проблема:** | ||
+ | * Не добавили вывод этого поля в CRM и не добавили возможность редактирования этого поля из CRM. | ||
+ | или | ||
+ | * Не сделали отдельного интерфейса для администратора или менеджера, чтобы изменять это поле. | ||
+ | или | ||
+ | * Не написана инструкция, как изменять это поле менеджеру другим способом. | ||
+ | |||
+ | |||
+ | |||
+ | В итоге менеджер не может изменить клиенту опцию и вынужден каждый раз звать программиста для изменения данных. | ||
+ | |||
+ | Также менеджер не может в CRM посмотреть все клиентские опции, не прибегая к спец.выгрузкам данных в csv. | ||
+ | |||
+ | |||
+ | **Как нужно было сделать:** | ||
+ | Добавить необходимое поле сначала в интерфейс CRM (средствами CRM), а уже потом это поле использовать из кода вебки клиента. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <wrap lo>Можно сформулировать правило, что все такие поля должны быть видимы менеджеру и изменяемы им самостоятельно. | ||
+ | О безопасности (вдруг менеджер там что-то наменяет) - думать не нужно, т.к. менеджеру потом это придется самостоятельно исправлять. | ||
+ | |||
+ | |||
+ | А аудит изменений - нужен. И вообще, be verbose.</wrap> | ||
+ | |||
+ | |||
+ | |||
+ | **Доп. проблема:** | ||
+ | Использование спец. форматов данных в полях. Нужно было добавить доп. тарифные поля. | ||
+ | |||
+ | |||
+ | **Как сделали:** | ||
+ | Добавили поле tariff_options типа json: ['ip', 'ipr']. Чтобы в будущем можно было легко добавлять нужные опции. | ||
+ | |||
+ | |||
+ | **В чем проблема:** | ||
+ | Проблема в том, что тип поля json не поддерживается веб-интерфейсом CRM. В итоге, менеджеру будет сложно вносить изменения. | ||
+ | |||
+ | Можно выводить json в виде поля-строки, но тут другая проблема: вероятность что менеджер (не являясь технарем) напишет json с ошибкой, что приведет к фантомным багам в коде - очень велика. | ||
+ | |||
+ | |||
+ | **Как нужно было сделать:** | ||
+ | Добавить отдельное поле для каждой опции. | ||
+ | |||
+ | |||
+ | ~~OWNERAPPROVE~~ /*Не удаляйте эту строку и ниже!*/ | ||
+ | |||
+ | {(rater>id=1|name=Прочитал_правила_разработки:как_не_надо_делать:2021-07-07_все_пользовательские_данные_в_учетных_системах_должны_быть_доступны_для_ручного_изменения_администратором|type=vote|trace=user|tracedetails=1)} | ||
+ | |||