К статье
Практический материал

Справочники и Данные · 10 мин

Что значит ошибка «Контрольное число не совпадает с рассчитанным» в 1С и как её исправить

Что означает ошибка «контрольное число не совпадает с рассчитанным» в 1С, почему она возникает и как её исправить: проверка кода, формата и настроек шаблона.

Ошибка «Контрольное число не совпадает с рассчитанным» в 1С возникает, когда программа проверяет введённый код или номер по встроенному алгоритму и обнаруживает, что последняя (контрольная) цифра не соответствует остальным разрядам. Такой механизм защищает от опечаток: контрольная цифра вычисляется из предыдущих, и любая ошибка ввода сразу выявляется.

Чаще всего сообщение появляется при вводе номеров, содержащих контрольный разряд: штрихкодов EAN-13, кодов маркировки, номеров лицевых счетов, ИНН, ОГРН, банковских счетов и других идентификаторов. Программа пересчитывает контрольное число по формуле и сравнивает его с введённым — при несовпадении запись блокируется.

Ошибка не означает сбой программы: в большинстве случаев это либо опечатка при ручном вводе, либо некорректные данные из внешнего источника, либо несоответствие формата кода настройкам 1С. Ниже разобраны причины, способы диагностики и безопасные методы исправления.

Как работает проверка контрольного числа в 1С

Контрольное число — это дополнительная цифра в конце кода, которая вычисляется из остальных разрядов по стандартному алгоритму. Например, в штрихкоде EAN-13 тринадцатая цифра рассчитывается по модулю 10: цифры на нечётных и чётных позициях умножаются на весовые коэффициенты, суммируются, и результат приводится к контрольному разряду.

Когда пользователь вводит код в 1С, программа выполняет тот же расчёт и сравнивает полученное число с последней цифрой введённого кода. Если значения расходятся, появляется сообщение «Контрольное число не совпадает с рассчитанным». Это штатная защитная реакция, а не неисправность.

Аналогичные проверки применяются для ИНН (10 и 12 цифр), ОГРН, номеров банковских счетов с учётом БИК, кодов маркировки «Честный ЗНАК» и других идентификаторов. У каждого типа кода свой алгоритм, но принцип одинаков: контрольный разряд должен совпадать с пересчитанным.

Основные причины появления ошибки

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

Вторая причина — некорректный источник данных. Код мог быть сформирован внешней системой с ошибкой, скопирован из таблицы с потерей ведущих нулей (Excel часто отбрасывает их при открытии CSV) или частично обрезан при передаче. Визуально номер выглядит нормально, но контрольный разряд уже не сходится.

Третья группа причин связана с настройками самой 1С: неверно выбран тип штрихкода (например, код EAN-8 вводится как EAN-13), в шаблоне этикетки задан неверный формат, либо проверка применяется к коду, который в принципе не содержит контрольного разряда (например, Code128 без контрольной цифры).

Ошибка у одного кодаЛокальная проблема данных

Сверить номер с первоисточником и ввести заново

Ошибка у всех кодов из файлаПроблема источника или формата

Проверить, не потеряны ли ведущие нули и не изменён ли формат при выгрузке

Ошибка при сканированииНастройка сканера или типа кода

Проверить тип штрихкода в карточке и суффиксы сканера

Ошибка после обновленияИзменение проверок в конфигурации

Свериться с описанием изменений релиза и настройками

Проверка и исправление введённого кода

Начните с простого: сверьте введённый номер с первоисточником посимвольно. Обращайте внимание на похожие символы (0 и O, 1 и I), ведущие нули и общее количество разрядов. Для EAN-13 должно быть ровно 13 цифр, для ИНН организации — 10, для ИНН физического лица — 12.

Если код взят из электронной таблицы, откройте исходный файл в текстовом редакторе и проверьте, сохранились ли ведущие нули. При необходимости переведите столбец в текстовый формат до вставки данных в 1С. Потеря одного ведущего нуля сдвигает все разряды и гарантированно вызывает ошибку контрольного числа.

Для штрихкодов полезно проверить код независимым способом: отсканировать этикетку сканером в текстовое поле и сравнить считанное значение с тем, что введено вручную. Если сканер выдаёт другой набор цифр, проблема в ручном вводе; если значения совпадают, а ошибка остаётся — дело в типе кода или настройках.

Порядок действий
  1. 1
    Скопируйте проблемный код и посчитайте количество разрядов — оно должно соответствовать типу кода
  2. 2
    Сверьте код посимвольно с первоисточником: документом, этикеткой, официальным реестром
  3. 3
    Проверьте наличие ведущих нулей, особенно если данные проходили через Excel или CSV
  4. 4
    Убедитесь, что в 1С выбран правильный тип кода (EAN-13, EAN-8, Code128 и т.д.)
  5. 5
    Введите исправленный код и убедитесь, что запись сохраняется без сообщения об ошибке

Проблемы с типом штрихкода и настройками

Частый сценарий — несоответствие типа штрихкода фактическим данным. Если в карточке номенклатуры указан тип EAN-13, а фактически вводится код другого стандарта, проверка контрольного разряда будет выполняться по чужому алгоритму и завершится ошибкой. Откройте карточку и проверьте поле типа штрихкода.

Обратная ситуация: код вообще не содержит контрольной цифры (внутренние артикулы, свободные коды), а в 1С для него выбран тип с обязательной проверкой. В этом случае лучше использовать тип без контрольного разряда, например Code128, если это допустимо бизнес-процессом.

При работе с кодами маркировки учитывайте, что полный код DataMatrix содержит служебные символы-разделители. Если код скопирован не полностью или разделители потеряны, проверка структуры и контрольных групп не пройдёт. Сканируйте код непосредственно в поле ввода 1С, а не через промежуточные приложения.

Массовые ошибки при загрузке данных

Если ошибка возникает при загрузке прайса, каталога или выгрузки из другой системы, проверьте файл целиком. Типичные дефекты: обрезанные коды, потерянные ведущие нули, лишние пробелы и непечатаемые символы в конце строк. Откройте файл в текстовом редакторе с отображением служебных символов.

При обмене между базами 1С убедитесь, что в обеих конфигурациях для одних и тех же данных используются одинаковые типы кодов. Расхождение настроек приводит к тому, что корректный в базе-источнике код отвергается базой-приёмником.

Если часть кодов поставщика заведомо не проходит проверку (например, внутренние коды без контрольного разряда), корректное решение — настроить для таких позиций подходящий тип кода или согласовать с поставщиком исправление данных, а не вносить номера в обход проверки.

Типичные ошибки
01
Подгонка последней цифры вручную — код проходит проверку, но перестаёт совпадать с реальным идентификатором
02
Копирование номера из Excel без проверки ведущих нулей — код укорачивается и ломается
03
Выбор типа EAN-13 для внутренних кодов без контрольного разряда — постоянные ошибки при вводе
04
Редактирование типового кода конфигурации для отключения проверки — потеря поддержки и риск порчи данных
05
Игнорирование массовых ошибок при загрузке — в справочник попадают сотни некорректных кодов

Когда обращаться к специалисту

Самостоятельно безопасно исправлять опечатки, восстанавливать ведущие нули и выбирать правильный тип кода в пользовательском режиме. Эти действия не затрагивают структуру данных и легко отменяются.

К специалисту по 1С стоит обратиться, если ошибка появилась после обновления конфигурации и затрагивает ранее корректные данные, если требуется изменить шаблоны проверки, доработать обмен или разобраться с нестандартными кодами. Перед любыми доработками сделайте резервную копию информационной базы.

Отдельный случай — подозрение на повреждение данных в самой базе. Если контрольные числа «разъехались» у множества записей, которые раньше были корректны, и при этом никто их не редактировал, нужна диагностика: тестирование и исправление информационной базы с предварительной копией.

Как проверить, что проблема решена

После исправления кода убедитесь, что запись сохраняется без сообщений, а код корректно отображается в карточке, печатных формах и отчётах. Для штрихкодов дополнительно проверьте считывание: напечатайте этикетку и отсканируйте её рабочим сканером.

Если исправлялась загрузка из файла, повторите загрузку на тестовой копии или в ограниченном объёме и проверьте выборочно несколько позиций. Убедитесь, что коды совпадают с источником посимвольно, включая ведущие нули.

Контрольные точки

Как проверить результат

Сохранение записи
Норма

Код сохраняется без сообщений об ошибке

Тревожный признак

Ошибка появляется снова при вводе того же значения

Сканирование этикетки
Норма

Сканер считывает код, совпадающий с карточкой

Тревожный признак

Считанное значение отличается или не распознаётся

Сверка с источником
Норма

Код посимвольно совпадает с документом или реестром

Тревожный признак

Есть расхождения в разрядах или ведущих нулях

Частые вопросы

Можно ли просто изменить последнюю цифру, чтобы код прошёл проверку?

Технически код с исправленной контрольной цифрой пройдёт проверку, но он перестанет совпадать с реальным идентификатором. Для ИНН, ОГРН и банковских счетов это недопустимо — документы будут отклонены контрагентами и государственными системами. Правильный путь — найти верный номер в первоисточнике.

Почему код из Excel вызывает ошибку, хотя в таблице он выглядит правильно?

Excel часто трактует коды как числа: отбрасывает ведущие нули и может отображать длинные номера в экспоненциальной записи. Откройте исходный файл в текстовом редакторе, чтобы увидеть фактическое значение, и при загрузке используйте текстовый формат столбца.

Ошибка возникает при сканировании, хотя этикетка заводская. Что делать?

Проверьте, какой тип штрихкода указан в карточке 1С, и сравните его с фактическим типом на этикетке. Также проверьте настройки сканера: суффиксы окончания, раскладку и передачу служебных символов для кодов DataMatrix.

Конфигурация сама генерирует штрихкоды с ошибкой контрольного числа. Это нормально?

Нет, типовая генерация штрихкодов в 1С рассчитывает контрольный разряд корректно. Если сгенерированные коды не проходят проверку, вероятны доработки конфигурации, нештатные префиксы или повреждение настроек — нужна диагностика специалистом.

Можно ли отключить проверку контрольного числа?

В пользовательском режиме такой настройки обычно нет — проверка встроена в логику конфигурации. Отключение возможно только доработкой кода, что снимает защиту от опечаток и усложняет обновления. Это крайняя мера, применяемая осознанно и только для специфических внутренних кодов.

Итог

Что важно запомнить

Ошибка «Контрольное число не совпадает с рассчитанным» — это защита от опечаток, а не сбой. Проверяйте код посимвольно по первоисточнику, следите за ведущими нулями и типом кода, не подгоняйте контрольную цифру вручную и не отключайте проверку. При массовых ошибках без явной причины делайте резервную копию и привлекайте специалиста.