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

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

Как увеличить длину наименования номенклатуры в 1С

Как увеличить длину наименования номенклатуры в 1С: изменение длины строки в конфигураторе, риски обрезания данных, проверка связанных объектов и печатных форм.

В типовых конфигурациях 1С (Управление торговлей, Комплексная автоматизация, ERP, Бухгалтерия предприятия) длина наименования номенклатуры ограничена свойством «Длина» строкового реквизита «Наименование» справочника. Чаще всего это 100 или 150 символов. Когда поставщики присылают длинные названия товаров с характеристиками, этого перестаёт хватать: текст обрезается при загрузке, а пользователи не могут ввести полное название вручную.

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

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

Где задаётся ограничение длины наименования

Наименование — это стандартный реквизит любого справочника в 1С. Его длина определяется свойством «Длина» в палитре свойств справочника, а не в пользовательских настройках. Для справочника «Номенклатура» в типовых конфигурациях значение обычно составляет 100 или 150 символов — точное число зависит от версии конфигурации.

Помимо стандартного наименования у номенклатуры обычно есть и другие строковые реквизиты со своими ограничениями:

  • Наименование полное — используется в печатных формах и юридически значимых документах;
  • Наименование для печати (в некоторых конфигурациях);
  • Рабочее наименование — краткое отображение в списках;
  • Описание — как правило, строка неограниченной или большой длины.

Если полное наименование заполняется автоматически из основного (например, обработчиком при записи), то увеличение только стандартного наименования создаст ситуацию, когда длинное значение обрезается при копировании в более короткое поле.

Как увеличить длину через конфигуратор

Изменение выполняется в режиме конфигуратора и требует монопольного доступа к базе при обновлении. Порядок действий одинаков для большинства конфигураций на управляемых формах.

Порядок действий
  1. 1
    Сделайте резервную копию базы (выгрузку в .dt или средствами СУБД).
  2. 2
    Откройте конфигуратор, разблокируйте конфигурацию от поддержки при необходимости (с учётом рисков обновления).
  3. 3
    Найдите в дереве конфигурации: Справочники → Номенклатура.
  4. 4
    Откройте палитру свойств справочника и найдите свойство «Длина наименования».
  5. 5
    Увеличьте значение, например со 100 до 250 символов.
  6. 6
    Аналогично проверьте и при необходимости увеличьте реквизиты «НаименованиеПолное» и «НаименованиеДляПечати» в разделе «Данные» справочника.
  7. 7
    Сохраните конфигурацию (F7) и обновите конфигурацию базы данных (F7 → Обновить).
  8. 8
    Запустите базу в пользовательском режиме и проверьте ввод длинного наименования.

Если конфигурация находится на полной поддержке, потребуется включить возможность изменения через «Поддержка → Настройка поддержки». Учтите: это снимает объект с полной поддержки, и при последующих обновлениях конфигурации изменённый объект может потребовать ручного сравнения и объединения.

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

Что проверить после изменения длины

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

Проверьте следующие места:

  • Печатные формы — длинное наименование может не помещаться в колонку табличной части ТОРГ-12, счёта-фактуры или УПД, текст будет обрезан или «съедет» вёрстка;
  • Обмены данными — если наименование передаётся в другую базу (обмен УТ–БП, обмен с сайтом, ЭДО), проверьте длину соответствующего реквизита в базе-приёмнике: при несовпадении значение обрежется молча;
  • Формы списков и подбора — длинные строки могут ухудшить читаемость списка номенклатуры;
  • Отчёты и СКД — в некоторых отчётах поля имеют фиксированную ширину;
  • Регистры и документы — если наименование дублируется в измерениях или реквизитах других объектов (что встречается в самописных доработках), их длина тоже должна соответствовать.
Контрольные точки

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

Ввод нового наименования
Норма

Строка из 200+ символов сохраняется полностью и отображается после перезаписи элемента

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

Текст обрезается при вводе или после сохранения

Полное наименование
Норма

Значение копируется из наименования без потери символов

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

Полное наименование короче основного при автозаполнении

Печатная форма
Норма

Наименование выводится целиком или переносится на новую строку

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

Текст обрезан, колонки смещены

Обмен данными
Норма

В базе-приёмнике наименование совпадает с источником

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

В приёмнике значение усечено

Риски и ограничения при изменении типового реквизита

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

Второй риск — рассинхронизация с внешними системами. Типичный сценарий: в 1С увеличили длину до 250 символов, а на сайте или в базе бухгалтерии осталось 100. Обмен отработает без ошибок, но часть данных будет потеряна без каких-либо предупреждений.

Третий момент — техническое ограничение платформы. Для строковых реквизитов фиксированной длины существует предел (порядка 1024 символов для индексируемых полей, а для наименования справочника разумный практический потолок ниже). Наименование — стандартный реквизит, по которому выполняется поиск и сортировка, поэтому чрезмерно большие значения (500+ символов) нежелательны: они влияют на размер индексов и удобство работы.

Типичные ошибки
01
Увеличили только стандартное наименование, забыв про полное наименование — данные обрезаются при автозаполнении.
02
Не проверили длину поля в базе-приёмнике обмена — наименования молча усекаются при выгрузке.
03
Изменили длину на рабочей базе без копии и без теста на копии — при сбое реструктуризации потеряны данные.
04
Установили длину 1000+ символов «с запасом» — выросли индексы, ухудшилась читаемость списков и печатных форм.
05
Не предупредили пользователей — после изменения в печатных формах «поплыла» вёрстка из-за длинных строк.

Альтернативы: когда менять длину не обязательно

Не всегда задача требует именно увеличения стандартного реквизита. В ряде случаев рациональнее использовать штатные механизмы, не затрагивающие метаданные.

Дополнительные реквизиты и сведения. Если длинное название нужно только для справки или выгрузки на сайт, его можно хранить в дополнительном реквизите справочника (Администрирование → Общие настройки → Дополнительные реквизиты). Длина такого строкового реквизита настраивается без конфигуратора, а конфигурация остаётся на полной поддержке.

Описание номенклатуры. Реквизит «Описание» обычно имеет неограниченную длину и подходит для хранения полного текста с характеристиками. Минус — он не выводится по умолчанию в списках и печатных формах.

Рабочее наименование. В некоторых конфигурациях есть отдельное поле для краткого отображения, а полное наименование можно хранить развёрнутым. Это позволяет разделить «короткое имя для работы» и «длинное имя для документов».

Сравнение вариантов

Увеличение длины наименования в конфигураторе

Подходит, когда длинное название должно отображаться везде: списки, документы, печать. Минус — снятие с поддержки и риски при обменах.

Дополнительный реквизит

Подходит для информационных целей и выгрузки на сайт без доработки конфигурации. Минус — не участвует в стандартных печатных формах без доработки макетов.

Поле «Описание»

Подходит для длинного текста с характеристиками. Минус — не видно в списках, не используется в документах.

Особенности для разных конфигураций

В 1С:Бухгалтерии номенклатура обычно имеет меньше связанных реквизитов, чем в торговых конфигурациях, поэтому изменение проще — достаточно увеличить длину наименования и полного наименования. В УТ и ERP дополнительно проверьте работу с вариантами наименований, шаблоны наименований для групп номенклатуры и обмены с сайтом (CommerceML ограничивает длину полей на стороне приёмника).

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

bsl
// Пример поиска потенциального обрезания в коде: ищите конструкции вида
ПолноеНаименование = Лев(Объект.Наименование, 150);
// После увеличения длины такие фрагменты нужно скорректировать

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

FAQ

Обрежутся ли существующие наименования при увеличении длины?

Нет. Увеличение длины строкового реквизита — безопасная реструктуризация: существующие значения короче нового лимита и сохраняются полностью. Риск потери данных возникает только при уменьшении длины или сбое во время реструктуризации, поэтому резервная копия обязательна.

Можно ли увеличить длину без снятия конфигурации с поддержки?

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

Какую длину лучше установить?

Ориентируйтесь на реальные данные: проанализируйте самые длинные названия от поставщиков и добавьте запас 20–30%. Обычно достаточно 200–250 символов. Значения свыше 500 символов нежелательны — наименование участвует в поиске, сортировке и индексах.

Почему после увеличения длины наименование всё равно обрезается в обмене?

Потому что ограничение действует на стороне базы-приёмника или формата обмена. Проверьте длину соответствующего реквизита в другой базе и увеличьте её там же. При обмене с внешними системами (сайт, ЭДО) уточните ограничения формата на их стороне.

Влияет ли увеличение длины на производительность базы?

Само по себе изменение лимита не замедляет работу: хранятся только фактические значения. Незначительный эффект возможен на размер индексов при очень больших значениях (500+ символов) и на время реструктуризации таблицы в момент обновления конфигурации базы данных.

Итог

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

Длина наименования номенклатуры меняется в конфигураторе через свойство «Длина» справочника «Номенклатура». Перед изменением сделайте копию, проверьте связанные реквизиты (полное наименование, наименование для печати), код с жёсткими ограничениями и длины полей в базах-участницах обмена. Если доработка метаданных нежелательна, используйте дополнительные реквизиты или поле «Описание».