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

Разработка и Конфигурация · 10 мин

Маска кода в 1С: что это и как её настроить

Что такое маска кода в 1С, где она используется, как настроить шаблоны кодов справочников и номеров документов, типичные ошибки и проверка результата.

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

Механизм масок встречается в двух местах. Первое — настройки нумерации справочников и документов в конфигураторе (свойства «Код», «Номер», «Периодичность», способ автонумерации). Второе — типовые механизмы префиксации и шаблонов в конфигурациях на базе Библиотеки стандартных подсистем, где префикс организации или информационной базы добавляется к номеру автоматически. Понимание того, как устроена маска, помогает избежать конфликтов номеров при обмене данными и сделать коды читаемыми.

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

Что такое маска кода и зачем она нужна

Код элемента справочника или номер документа в 1С — это строковое или числовое поле с ограниченной длиной. Если оставить настройки по умолчанию, программа выдаёт простые порядковые значения: 1, 2, 3 и так далее. Маска позволяет превратить их в структурированные идентификаторы, например «ЦО-000123» или «2026-СКЛ-0045», где каждая часть несёт смысл: префикс подразделения, год, вид операции, порядковый номер.

Основные задачи, которые решает маска кода:

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

Где применяется маска: справочники, документы, обмены

Чаще всего маски используются для справочников: «Номенклатура», «Контрагенты», «Сотрудники», «Основные средства». Например, в крупной компании удобно, когда код склада начинается с буквы «С», а код подразделения — с «П». Это упрощает поиск и сортировку в длинных списках.

Вторая область — документы. Здесь маска тесно связана с периодичностью нумерации: номер может обнуляться каждый год, квартал или месяц, а префикс показывать организацию. Типичный пример — счета-фактуры и приказы, где формат номера закреплён в учётной политике.

Третья, критически важная область — обмен данными. При синхронизации нескольких баз (например, центральной и периферийных) каждому узлу назначается свой префикс. Без этого два узла создадут документы с одинаковыми номерами, и при обмене возникнут коллизии: документы будут перезаписывать друг друга или откажутся загружаться.

Как настроить маску в конфигураторе

Базовые параметры маски задаются в свойствах объекта метаданных. Для справочника или документа откройте палитру свойств и обратите внимание на следующие пункты:

  • Длина кода (номера) — максимальное количество символов. Учтите, что префикс занимает часть длины: при длине 9 и префиксе из 3 символов на числовую часть останется 6 позиций;
  • Тип кода — строка или число. Строковый код допускает буквы и префиксы, числовой — только цифры;
  • Автонумерация — если включена, 1С сама предложит следующий номер при создании объекта;
  • Периодичность (для документов) — в пределах года, квартала, месяца или непериодическая нумерация;
  • Контроль уникальности — запрещает создание двух объектов с одинаковым кодом.

Для гибких масок, где префикс зависит от реквизитов объекта (организации, подразделения), одних свойств недостаточно. Тогда логику формирования кода описывают программно — в обработчике ПриУстановкеНовогоКода для справочников или ПриУстановкеНовогоНомера для документов. В типовых конфигурациях эти обработчики уже реализованы в общих модулях префиксации, и вмешиваться в них без необходимости не стоит.

Порядок настройки маски в конфигураторе
  1. 1
    Откройте конфигуратор и найдите нужный справочник или документ в дереве метаданных
  2. 2
    В палитре свойств задайте длину кода с запасом под префикс и числовую часть
  3. 3
    Выберите тип кода: строка — если нужны буквы и префиксы, число — для чисто цифровых кодов
  4. 4
    Включите автонумерацию и контроль уникальности
  5. 5
    Для документов установите периодичность нумерации (год, квартал, месяц)
  6. 6
    При необходимости динамического префикса опишите логику в обработчике установки нового кода/номера
  7. 7
    Обновите конфигурацию базы данных и проверьте создание нового объекта

Настройка префиксов в пользовательском режиме

В типовых конфигурациях (например, на базе БСП) часть маски настраивается без конфигуратора. Префикс информационной базы задаётся в настройках синхронизации данных, а префикс организации — в карточке организации, если конфигурация это поддерживает. Эти префиксы автоматически добавляются к номерам документов при записи.

Порядок действий обычно такой: откройте раздел администрирования, найдите настройки синхронизации или нумерации, укажите префикс базы (обычно 2–3 символа). Затем создайте тестовый документ и убедитесь, что номер сформировался с новым префиксом. Учтите, что префикс применяется только к новым объектам — старые номера не перенумеровываются автоматически.

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

Ограничения и типичные ошибки

Главное ограничение — фиксированная длина кода. Если числовая часть исчерпана (например, при длине 9 и префиксе из 3 символов создано 999 999 элементов), автонумерация не сможет предложить следующий код. Признак проблемы — ошибка при записи нового объекта или предложение кода, который уже существует. Решение — увеличить длину кода в конфигураторе с обновлением базы, что требует монопольного доступа.

Вторая частая ситуация — «дырки» в нумерации. Они появляются, когда пользователь начал создавать документ, получил номер, но не записал его. Для большинства объектов это допустимо, но для некоторых видов документов (например, регламентированных) пропуски могут вызвать вопросы при проверках. Полностью избежать пропусков штатными средствами нельзя — можно только минимизировать их обучением пользователей.

Типичные ошибки
01
Слишком короткая длина кода: через несколько лет числовая часть исчерпывается, и новые объекты невозможно записать
02
Разные префиксы в периферийных базах не настроены: при обмене возникают дубли номеров и конфликты загрузки
03
Смена типа кода со строки на число в базе с данными: существующие коды с буквами становятся некорректными
04
Ручное редактирование автоматических номеров пользователями: сбивается счётчик автонумерации, появляются дубли
05
Изменение префикса посреди года без проверки: номера новых документов пересекаются с уже выданными

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

После настройки создайте несколько тестовых объектов от имени разных организаций или в разных узлах обмена. Убедитесь, что префикс подставляется корректно, числовая часть увеличивается на единицу, а при смене периода (для периодической нумерации) номер обнуляется.

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

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

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

Новый объект при создании
Норма

Код формируется по маске: префикс + следующее число

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

Код пустой, без префикса или дублирует существующий

Префикс у разных организаций/узлов
Норма

У каждой организации или узла свой префикс

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

Одинаковые префиксы везде — риск конфликтов при обмене

Смена периода нумерации
Норма

Номер обнуляется в новом году/квартале/месяце

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

Нумерация продолжается сквозная при заданной периодичности

Контроль уникальности
Норма

При вводе существующего кода появляется ошибка

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

Программа позволяет сохранить дубль

Часто задаваемые вопросы

Можно ли изменить маску кода без конфигуратора?

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

Что делать, если закончились свободные номера в маске?

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

Почему после настройки префикса нумерация началась с единицы?

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

Опасно ли вручную править автоматически присвоенный номер?

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

Как избежать дублей номеров при обмене между базами?

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

Влияет ли периодичность нумерации на маску?

Да. При периодичности «год» или «месяц» числовая часть обнуляется в начале каждого периода, поэтому требования к длине кода ниже. При непериодической нумерации счётчик растёт непрерывно, и длину нужно закладывать с большим запасом.

Итог

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

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