Справочники и Данные · 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Скопируйте проблемный код и посчитайте количество разрядов — оно должно соответствовать типу кода
- 2Сверьте код посимвольно с первоисточником: документом, этикеткой, официальным реестром
- 3Проверьте наличие ведущих нулей, особенно если данные проходили через Excel или CSV
- 4Убедитесь, что в 1С выбран правильный тип кода (EAN-13, EAN-8, Code128 и т.д.)
- 5Введите исправленный код и убедитесь, что запись сохраняется без сообщения об ошибке
Проблемы с типом штрихкода и настройками
Частый сценарий — несоответствие типа штрихкода фактическим данным. Если в карточке номенклатуры указан тип EAN-13, а фактически вводится код другого стандарта, проверка контрольного разряда будет выполняться по чужому алгоритму и завершится ошибкой. Откройте карточку и проверьте поле типа штрихкода.
Обратная ситуация: код вообще не содержит контрольной цифры (внутренние артикулы, свободные коды), а в 1С для него выбран тип с обязательной проверкой. В этом случае лучше использовать тип без контрольного разряда, например Code128, если это допустимо бизнес-процессом.
При работе с кодами маркировки учитывайте, что полный код DataMatrix содержит служебные символы-разделители. Если код скопирован не полностью или разделители потеряны, проверка структуры и контрольных групп не пройдёт. Сканируйте код непосредственно в поле ввода 1С, а не через промежуточные приложения.
Массовые ошибки при загрузке данных
Если ошибка возникает при загрузке прайса, каталога или выгрузки из другой системы, проверьте файл целиком. Типичные дефекты: обрезанные коды, потерянные ведущие нули, лишние пробелы и непечатаемые символы в конце строк. Откройте файл в текстовом редакторе с отображением служебных символов.
При обмене между базами 1С убедитесь, что в обеих конфигурациях для одних и тех же данных используются одинаковые типы кодов. Расхождение настроек приводит к тому, что корректный в базе-источнике код отвергается базой-приёмником.
Если часть кодов поставщика заведомо не проходит проверку (например, внутренние коды без контрольного разряда), корректное решение — настроить для таких позиций подходящий тип кода или согласовать с поставщиком исправление данных, а не вносить номера в обход проверки.
Когда обращаться к специалисту
Самостоятельно безопасно исправлять опечатки, восстанавливать ведущие нули и выбирать правильный тип кода в пользовательском режиме. Эти действия не затрагивают структуру данных и легко отменяются.
К специалисту по 1С стоит обратиться, если ошибка появилась после обновления конфигурации и затрагивает ранее корректные данные, если требуется изменить шаблоны проверки, доработать обмен или разобраться с нестандартными кодами. Перед любыми доработками сделайте резервную копию информационной базы.
Отдельный случай — подозрение на повреждение данных в самой базе. Если контрольные числа «разъехались» у множества записей, которые раньше были корректны, и при этом никто их не редактировал, нужна диагностика: тестирование и исправление информационной базы с предварительной копией.
Как проверить, что проблема решена
После исправления кода убедитесь, что запись сохраняется без сообщений, а код корректно отображается в карточке, печатных формах и отчётах. Для штрихкодов дополнительно проверьте считывание: напечатайте этикетку и отсканируйте её рабочим сканером.
Если исправлялась загрузка из файла, повторите загрузку на тестовой копии или в ограниченном объёме и проверьте выборочно несколько позиций. Убедитесь, что коды совпадают с источником посимвольно, включая ведущие нули.
Как проверить результат
Код сохраняется без сообщений об ошибке
Ошибка появляется снова при вводе того же значения
Сканер считывает код, совпадающий с карточкой
Считанное значение отличается или не распознаётся
Код посимвольно совпадает с документом или реестром
Есть расхождения в разрядах или ведущих нулях
Частые вопросы
Можно ли просто изменить последнюю цифру, чтобы код прошёл проверку?
Технически код с исправленной контрольной цифрой пройдёт проверку, но он перестанет совпадать с реальным идентификатором. Для ИНН, ОГРН и банковских счетов это недопустимо — документы будут отклонены контрагентами и государственными системами. Правильный путь — найти верный номер в первоисточнике.
Почему код из Excel вызывает ошибку, хотя в таблице он выглядит правильно?
Excel часто трактует коды как числа: отбрасывает ведущие нули и может отображать длинные номера в экспоненциальной записи. Откройте исходный файл в текстовом редакторе, чтобы увидеть фактическое значение, и при загрузке используйте текстовый формат столбца.
Ошибка возникает при сканировании, хотя этикетка заводская. Что делать?
Проверьте, какой тип штрихкода указан в карточке 1С, и сравните его с фактическим типом на этикетке. Также проверьте настройки сканера: суффиксы окончания, раскладку и передачу служебных символов для кодов DataMatrix.
Конфигурация сама генерирует штрихкоды с ошибкой контрольного числа. Это нормально?
Нет, типовая генерация штрихкодов в 1С рассчитывает контрольный разряд корректно. Если сгенерированные коды не проходят проверку, вероятны доработки конфигурации, нештатные префиксы или повреждение настроек — нужна диагностика специалистом.
Можно ли отключить проверку контрольного числа?
В пользовательском режиме такой настройки обычно нет — проверка встроена в логику конфигурации. Отключение возможно только доработкой кода, что снимает защиту от опечаток и усложняет обновления. Это крайняя мера, применяемая осознанно и только для специфических внутренних кодов.
Что важно запомнить
Ошибка «Контрольное число не совпадает с рассчитанным» — это защита от опечаток, а не сбой. Проверяйте код посимвольно по первоисточнику, следите за ведущими нулями и типом кода, не подгоняйте контрольную цифру вручную и не отключайте проверку. При массовых ошибках без явной причины делайте резервную копию и привлекайте специалиста.