Разработка и Конфигурация · 10 мин
Длина наименования в 1С: что это и как настроить
Что такое длина наименования в 1С, где задаётся длина строки справочников и документов, как увеличить ограничение и какие риски это несёт.
Длина наименования в 1С — это максимальное количество символов, которое можно ввести в поле «Наименование» элемента справочника, документа или другого объекта конфигурации. Когда пользователь заполняет карточку товара, контрагента или сотрудника, программа не позволяет сохранить строку длиннее установленного предела: лишние символы либо обрезаются при вводе, либо вызывают ошибку записи.
В типовых конфигурациях (например, «Управление торговлей», «Бухгалтерия предприятия») длина наименования справочника «Номенклатура» обычно составляет 100–150 символов, у контрагентов — 150, а у некоторых служебных справочников — всего 25–50. Эти значения заданы разработчиком конфигурации и хранятся в метаданных объекта, а не в пользовательских настройках.
Понимание этого механизма важно в трёх ситуациях: при заведении товаров с длинными названиями из прайсов поставщиков, при обмене данными между базами с разными настройками и при доработке конфигурации под требования бизнеса. Ниже разберём, где именно задаётся длина, как её изменить и чем это грозит.
Где физически хранится ограничение длины
Ограничение длины наименования задаётся на уровне метаданных конфигурации. Для каждого справочника и документа в конфигураторе существует свойство «Длина наименования» (для документов также есть «Длина номера»). Это значение напрямую определяет тип поля в таблице базы данных: для строковых полей 1С создаёт колонку с фиксированным максимальным размером.
Кроме штатного наименования, у многих объектов есть дополнительные строковые реквизиты — «Полное наименование», «Наименование для печати», «Описание». У каждого из них собственная длина, которая задаётся в свойствах конкретного реквизита через тип «Строка» и его квалификаторы. Поэтому ситуация, когда краткое название помещается, а полное обрезается, означает, что у реквизитов разные ограничения.
В файловом варианте базы и в клиент-серверном (SQL Server, PostgreSQL) механизм одинаков: платформа формирует структуру таблиц по метаданным. Разница только в том, что на SQL-уровне администратор базы может увидеть фактический тип колонки, но менять его в обход конфигуратора категорически нельзя — это приведёт к рассинхронизации метаданных и данных.
Как узнать текущую длину наименования объекта
Самый простой способ — открыть конфигуратор, найти нужный объект в дереве конфигурации (например, Справочники → Номенклатура) и посмотреть свойство «Длина наименования» в палитре свойств. Для реквизитов длину строки видно в свойствах реквизита, в квалификаторах типа «Строка».
Если доступа к конфигуратору нет, ориентировочную длину можно определить эмпирически: скопируйте длинный текст в поле наименования и проверьте, на каком символе ввод прекратится. Точнее — обратиться к администратору или разработчику 1С, который посмотрит значение в метаданных за минуту.
Как увеличить длину наименования через конфигуратор
Изменение длины наименования — типовая доработка, выполняемая в конфигураторе. Для типовых конфигураций рекомендуется предварительно включить возможность изменений с сохранением поддержки, чтобы не потерять обновления полностью.
- 1Сделайте резервную копию информационной базы перед любыми изменениями метаданных
- 2Откройте конфигуратор и включите возможность изменения конфигурации (для типовой — с сохранением поддержки)
- 3Найдите объект в дереве конфигурации, откройте палитру свойств и установите новое значение «Длина наименования» или длину строки у нужного реквизита
- 4Сохраните конфигурацию и выполните обновление конфигурации базы данных (F7), подтвердив реструктуризацию таблиц
- 5Проверьте на тестовом элементе, что длинное наименование сохраняется полностью и корректно выводится в отчётах и печатных формах
Реструктуризация при увеличении длины строки обычно проходит быстро и без потерь: существующие значения помещаются в новый, более широкий формат. На больших базах в клиент-серверном варианте операция может занять заметное время, поэтому её лучше выполнять вне рабочих часов.
Риски при изменении длины: что может пойти не так
Увеличение длины — относительно безопасная операция, но у неё есть последствия, о которых часто забывают. Первое — обмены данными. Если база обменивается с другой конфигурацией (например, УТ с БП), где длина наименования меньше, длинные названия будут обрезаться при переносе или вызовут ошибки загрузки. Ограничения нужно согласовывать во всех связанных системах, включая сайты, CRM и внешние обработки.
Второе — печатные формы и отчёты. Макеты часто рассчитаны на определённую ширину поля: слишком длинное наименование «разорвёт» верстку счёта или этикетки. После увеличения длины стоит проверить основные печатные формы.
Уменьшение длины — куда более опасная операция. При реструктуризации значения, не помещающиеся в новый предел, будут безвозвратно обрезаны. Перед уменьшением обязательно найдите все элементы, чьи наименования превышают новый лимит, и обработайте их вручную.
Обмены данными и типовые ограничения
Наиболее частая практическая проблема — рассинхронизация длин при интеграции. Типовой сценарий: в учётной системе длина наименования номенклатуры увеличена до 250 символов под требования маркетплейса, а в бухгалтерии осталось типовое значение. При выгрузке документов часть названий теряется, что критично для счетов-фактур и УПД, где наименование должно совпадать с первичными документами.
Перед изменением длины составьте список всех систем, участвующих в обмене: смежные базы 1С, сайт, складские и транспортные системы, форматы выгрузки (CommerceML, EnterpriseData, самописные обмены). Для каждой проверьте ограничение на длину названия товара или контрагента и приведите значения к единому минимуму либо настройте правила обрезки в правилах конвертации.
Сравнение вариантов
Правильное решение, если все связанные базы поддаются доработке; требует согласованных изменений и тестирования обменов
Подходит, когда менять типовой объект нельзя: краткое наименование остаётся для обменов, полное — для печати и отображения
Компромисс при невозможности доработок: данные не теряются в исходной системе, но в приёмнике названия усечённые
Альтернатива: неограниченная строка и дополнительные реквизиты
Если требуется хранить очень длинные описания, увеличивать длину наименования — не лучший путь. Наименование участвует в представлении объекта, поиске, списках и отборах; слишком длинные значения ухудшают читаемость интерфейса и могут влиять на производительность строковых операций.
Практичнее добавить к объекту дополнительный реквизит с типом «Строка» неограниченной длины — например, «Описание» или «Детальное наименование». Неограниченные строки хранятся иначе и не подходят для поиска и отборов, но отлично справляются с ролью хранилища длинных текстов. Для типовых конфигураций без снятия с поддержки можно использовать механизм дополнительных реквизитов и сведений, доступный в пользовательском режиме.
Частые ошибки и как их избежать
Отдельная ошибка — пытаться обойти ограничение в пользовательском режиме. Никакие настройки интерфейса или права пользователя не влияют на длину наименования: это свойство метаданных, и меняется оно только в конфигураторе. Если прав на конфигурирование нет, задачу нужно передать администратору или внедренцу.
Как проверить результат после изменения
Как проверить результат
Текст новой длины сохраняется целиком и отображается в карточке и списке
Значение обрезается или появляется ошибка при записи
Номенклатура и контрагенты переносятся без ошибок, наименования совпадают в обеих системах
Ошибки загрузки или усечённые названия в базе-приёмнике
Длинное наименование переносится по строкам и не ломает макет
Текст выходит за границы ячеек, таблица разъезжается
Все старые наименования остались без изменений
Часть значений обрезана — признак того, что длину уменьшали без подготовки
FAQ
Можно ли изменить длину наименования без конфигуратора, в режиме предприятия?
Нет. Длина наименования — свойство метаданных объекта и изменяется только в конфигураторе с последующим обновлением конфигурации базы данных. В пользовательском режиме можно лишь добавить дополнительный реквизит через штатный механизм «Дополнительные реквизиты и сведения», если он включён в настройках программы.
Что произойдёт с данными, если увеличить длину наименования?
Ничего плохого: при реструктуризации поле расширяется, а существующие значения сохраняются полностью. Опасно обратное действие — уменьшение длины, при котором значения длиннее нового предела обрезаются безвозвратно.
Почему при обмене между базами наименования обрезаются?
Потому что в базе-приёмнике длина наименования меньше, чем в источнике. Платформа при загрузке принудительно приводит значение к ограничению приёмника. Решение — выровнять длины в обеих конфигурациях или настроить осознанную обрезку в правилах конвертации.
Какое максимальное значение длины строки допустимо в 1С?
Для строк фиксированной длины платформа имеет внутренний предел, которого на практике хватает для любых наименований; сверх него используется неограниченная строка. Однако разумный предел для наименований определяется не платформой, а смежными системами: форматами электронных документов, требованиями маркетплейсов и ограничениями обменов.
Влияет ли длина наименования на производительность базы?
Умеренное увеличение (например, со 100 до 250 символов) на практике незаметно. Ощутимый эффект дают не сами символы, а очень длинные значения в полях, участвующих в поиске, сортировке и индексах. Для текстов, по которым не нужно искать, лучше использовать отдельный реквизит неограниченной длины.
Что важно запомнить
Длина наименования задаётся в конфигураторе в свойствах объекта и хранится в метаданных. Увеличение длины безопасно для данных, но требует согласования со смежными системами и проверки печатных форм. Уменьшение без подготовки обрезает существующие значения. Для очень длинных текстов используйте отдельный реквизит, а не наименование.