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