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