Запрет на редактирование поля в карточке CRM своими руками

Очень часто аналитики, настраивающие бизнес-процессы в Битрикс 24 и добавляющие для них пользовательские поля, сталкиваются с задачей запрета редактирования данных в этих полях вручную. Например, поле содержит контрольную информацию о том, что лид не был обработан вовремя, данную информацию можно подставлять лишь используя бизнес-процесс или входящий вебхук, ручное же изменение со стороны пользователя сведет на нет все усилия по контролю.

К сожалению, настройки Битрикс 24 не позволяют отображать поле лишь в режиме на чтение. Но некоторые компании предлагают платные приложения, чтобы обойти это ограничение. Что делать, если Вы не хотите связываться с установкой или приобретением последних?

Ответ на этот вопрос довольно простой: добавляйте или обновляйте пользовательские поля вебхуками, применяя параметр EDIT_IN_LIST: N. Именно этот прием используют авторы приложений.

BX24.callBatch({
    add_userfield: ['crm.deal.userfield.add',
        {
            fields:
                {
                    "FIELD_NAME": "DEAL_CLOSE",
                    "EDIT_FORM_LABEL": "Закрыто в статусах сделок",
                    "LIST_COLUMN_LABEL": "Закрыто в статусах сделок",
                    "USER_TYPE_ID": "string",
                    "XML_ID": "DEAL_CLOSE",
                    "EDIT_IN_LIST": "N",
                    "SETTINGS": { "DEFAULT_VALUE": "" }
        }

    ],
}, function (result) {
}

Правда есть одно но, этот параметр открывает поле на чтение лишь для полей типа строка, целое число, ссылка или число. То есть, поле типа да \ нет или список таким образом сделать лишь читаемым пока не получится.