Валидация и карантин
Эта страница раскрывает ключевой инвариант ввода данных: система не исправляет данные молча. Подозрительное значение не подменяется средним и не отбрасывается без следа — оно либо отклоняется, либо отправляется в карантин на ручную проверку. Ниже разобрано, какие проверки проходят значения, что означает статус «Карантин», по каким причинам значение туда попадает, как его разобрать (принять или отклонить) либо исправить повторным вводом, и кто имеет право это делать. Правила одинаковы для ручного ввода и импорта.
Принцип: валидация не «чинит» молча
Валидация никогда не заменяет некорректное значение средним или значением по умолчанию. Подозрительное значение либо отклоняется, либо уходит в карантин — на ручную проверку человеком. Исходный ввод (value_raw) при этом сохраняется всегда, при любом статусе.
Три статуса валидации значения
- «Валидно» (
valid) — значение прошло проверки и участвует в расчётах; - «Карантин» (
quarantine) — значение подозрительное и ждёт ручного разбора; - «Отклонено» (
rejected) — значение признано браком и остаётся вне скоринга.
Что проверяется
- является ли значение числом;
- допустимый диапазон (проценты — 0–100; запрет отрицательных там, где это бессмысленно);
- совпадение заявленной единицы (в форме или в колонке файла импорта) с единицей показателя;
- наличие курса НБ РК для введённой валюты;
- формат «да/нет» для качественных показателей.
Частые причины карантина
- нечисловое значение в числовом показателе;
- значение вне допустимого диапазона;
- несовпадение единицы — число заявлено в другой единице, чем у показателя (например, в килограммах у показателя в тоннах);
- неоднозначное число «1,234» — запятая может быть десятичной или разделителем тысяч;
- отсутствие курса НБ РК для введённой валюты (см. Единицы измерения и валюта);
- неподходящий ответ в качественном показателе.
Не всё необычное — карантин. EBITDA и доход от экологических инвестиций по смыслу бывают отрицательными (убыток — законное раскрытие), поэтому минус у них проходит без карантина; у выручки, расходов и прочих сумм минус по-прежнему уходит в карантин. Текучесть персонала может превышать 100 % (уволившихся за год больше средней численности) — у неё нет потолка в сто процентов.
Для неоднозначного числа система показывает пояснение: «Неоднозначное число …: запятая может быть десятичной или разделителем тысяч. Введите без разделителя тысяч (например, 1234 или 1234.5).» Система не интерпретирует «1,234» за вас — это сознательный отказ угадывать.
Как выглядит карантин в интерфейсе
Рядом со значением появляется пометка «Карантин» и причина — что именно не так: например, «Неоднозначное число «1,234»…», несовпадение единицы или значение вне допустимого диапазона. Причина показывается на языке интерфейса того, кто смотрит. Исходный ввод сохранён (value_raw), поэтому при разборе видно, что именно ввёл пользователь.

Три исхода разбора карантина
- «Принять» (
accepted) — значение признано корректным и становится валидным; - «Отклонить» (
rejected) — значение признано браком, остаётся вне скоринга; - «Исправлено» (
corrected) — устанавливается автоматически, когда автор вводит корректное значение заново, и оно вытесняет карантинную строку.
Что записывается при «Принять»
«Принять» подтверждает, что число верное, — а не что оно набрано в единице показателя. Поэтому при несовпадении единицы число читается в той единице, в которой его заявили:
- если заявленную единицу можно перевести в единицу показателя — это единица той же величины (килограммы у показателя в тоннах) или код валюты с курсом НБ РК (USD, EUR), — записывается пересчитанное значение: «5000 кг» становится 5 т, сумма в долларах — суммой в тенге по курсу;
- если перевести нельзя — единица другой величины (галлоны у показателя в килограммах) или валюта названа не кодом («долл.»), — принять такое значение нельзя: исправьте его повторным вводом в единице показателя или отклоните.
Принять нельзя и то, что не читается однозначно: неоднозначное «1,234», нечисло, сумму в валюте без курса НБ РК и отрицательный счётчик событий (травм, инцидентов). Исход виден до подтверждения: окно «Принять» называет, что будет записано («При принятии будет записано: 5 т»), а если принять нельзя — причина написана под кнопками разбора.
Принятое значение — новое число, поэтому прежняя проверка с него снимается: если до карантина у значения была самооценка или внутренняя проверка, после принятия оно снова «Не проверено», и подтвердить его нужно заново (см. Верификация).
Действия в интерфейсе
До разбора у значения статус «Ожидает разбора». Доступны кнопки «Принять» и «Отклонить». После отклонения показывается бейдж «Отклонено как брак». «Исправлено» — это не кнопка, а автоматический исход повторного корректного ввода. В окне подтверждения названы само значение и показатель — например, «Принять значение −2 шт. для «Травмы с потерей времени»?», — чтобы было видно, о какой строке решение.
Кто разбирает карантин
Разбирать карантин («Принять» / «Отклонить») вправе только обладатель права верификации — Аудитор (право verify_data) — и при этом не автор значения. Не может разбирать карантин и тот, кто подавал экспертное мнение по этой оценке: система откажет с сообщением «Вы подавали экспертное мнение по этой оценке — верифицировать её значения и разбирать карантин вы не можете.» Это тот же барьер разделения обязанностей, что и при верификации: кто внёс данные, тот их не проверяет.
Как исправить значение самому автору
Автор не может «Принять» свой карантин, но может исправить значение — ввести корректное заново. Новое значение заменит карантинную строку, исход пометится как «Исправлено», а история сохранится. Прежняя (карантинная) строка не удаляется, а помечается как вытесненная.
Влияние на скоринг
Карантинные и отклонённые значения не являются достоверным измерением (value=null или вне балла) и не учитываются как подтверждённые в ESG-балле. Подробнее — на странице ESG-балл, веса и непроверенные данные.
Карантин при импорте
При импорте те же правила применяются построчно. В итоге импорта виден счётчик «Карантин» — это строки, которые нужно разобрать так же, как при ручном вводе.
Индекс качества данных и что отложено
Индекс качества данных показывает полноту и достоверность набора и блокирует два действия, если он ниже порога (по умолчанию 40 из 100) или данных для его расчёта нет вовсе: завершение оценки и формирование отчёта под стандарт. Оценку с низким индексом можно завершить, указав обоснование; оценку без данных завершить нельзя. Отчёт при блоке формирует только Аудитор или Администратор — тоже с обоснованием, которое фиксируется в журнале аудита. Обход блока данные не исправляет: качество поднимают, разбирая карантин, подтверждая значения и прикладывая свидетельства. Версионирование наборов с откатом — возможность Фазы 2. В Фазе 1 карантин разбирается вручную по описанным правилам.
Частые ошибки
- Ожидают, что система сама поправит подозрительное значение — вместо этого оно зависает в карантине до ручного разбора.
- Автор пытается сам «Принять» свой карантин — кнопки скрыты, действует разделение обязанностей.
- Считают отклонённое значение удалённым — оно остаётся в истории с бейджем «Отклонено как брак» и вне скоринга.
- Не замечают пометку карантина и удивляются, что значение не попало в балл.
- Ждут, что «Принять» запишет число как есть — при несовпадении единицы оно пересчитывается из заявленной единицы; что именно будет записано, окно подтверждения называет до решения.
- Вводят валюту без курса НБ РК и трактуют карантин как ошибку системы.
- Думают, что «Исправлено» — отдельная кнопка — на деле это автоматический исход повторного корректного ввода.
Не нашли ответ? Перейти в поддержку