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 все пользовательские данные в учетных системах должны быть доступны для ручного изменения администратором
Yes() No() Clear

Yes:
Не прочитано Сергей Трошин (s.troshin)!

No:

Ваш комментарий. Вики-синтаксис разрешён: