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

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

Как изменить длину стандартного реквизита в 1С

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

Стандартные реквизиты в 1С — это служебные поля, которые платформа создаёт автоматически для каждого объекта конфигурации: «Код» и «Наименование» у справочников, «Номер» и «Дата» у документов, «Период» у регистров сведений. В отличие от обычных реквизитов, которые разработчик добавляет сам, стандартные нельзя удалить или переименовать, но часть их свойств — в том числе длину строки — платформа позволяет настраивать.

Типичная ситуация: в справочнике «Номенклатура» длина наименования по умолчанию составляет 25 символов, и длинные названия товаров обрезаются при вводе. Или код справочника задан длиной 9 символов, а при обмене с другой системой приходят коды большей длины. Проблема решается изменением одного свойства в конфигураторе, но у операции есть ограничения и риски, о которых нужно знать заранее.

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

Что такое стандартные реквизиты и какие из них можно менять

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

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

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

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

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

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

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

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

Рассмотрим самый частый сценарий — увеличение длины наименования справочника «Номенклатура». Порядок действий одинаков для любого справочника и выполняется в конфигураторе. Перед началом работы убедитесь, что у вас есть свежая резервная копия базы или выгрузка в файл dt.

Откройте конфигуратор и войдите в конфигурацию. В дереве метаданных найдите ветку «Справочники», раскройте её и дважды щёлкните по нужному объекту или вызовите палитру свойств через контекстное меню. Найдите свойство «Длина наименования» — по умолчанию там обычно стоит 25. Установите нужное значение, например 100 или 150, и сохраните конфигурацию клавишей F7 или через меню «Конфигурация — Сохранить конфигурацию».

После сохранения выполните обновление конфигурации базы данных: меню «Конфигурация — Обновить конфигурацию базы данных» или клавиша F7 с подтверждением. Платформа покажет окно реструктуризации со списком изменяемых таблиц. Для увеличения длины строки реструктуризация проходит быстро и без потерь. После завершения запустите режим предприятия и проверьте, что длинное наименование вводится и сохраняется полностью.

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

Изменение длины кода справочника и номера документа

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

Для документов изменяется свойство «Длина номера». Типовые конфигурации часто поставляются с длиной номера 11 символов, чего достаточно для большинства случаев. Увеличение может потребоваться при интеграции с внешними системами, которые присваивают документам длинные идентификаторы. Учтите, что номер документа участвует в нумерации в пределах периода, и слишком большая длина смысла не имеет — разумный запас составляет несколько символов сверх реального максимума.

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

Риски уменьшения длины и защита данных

Уменьшение длины стандартного реквизита — операция с реальным риском потери информации. Если в базе есть наименования длиной 40 символов, а вы устанавливаете предел 25, при реструктуризации лишние символы будут отсечены без возможности восстановления. Платформа предупреждает об этом в окне реструктуризации, но предупреждение легко пропустить.

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

Дополнительный риск — обмены данными. Если база участвует в обмене (РИБ, обмен с сайтом, синхронизация с другой конфигурацией), длина реквизита должна быть согласована на всех узлах. Уменьшение длины в одной базе при сохранении большей длины в другой приведёт к обрезанию данных при загрузке или к ошибкам обмена.

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

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

Ввод длинного значения в режиме предприятия
Норма

Значение вводится и сохраняется полностью

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

Строка обрезается или появляется ошибка длины

Окно реструктуризации при обновлении
Норма

Нет предупреждений о потере данных

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

Платформа сообщает о возможном усечении значений

Обмен данными после изменения
Норма

Пакеты выгружаются и загружаются без ошибок

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

Ошибки формата или обрезанные значения в приёмнике

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

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

Если менять типовую конфигурацию нежелательно из-за поддержки, рассмотрите механизм расширений конфигурации. В расширении можно добавить собственные реквизиты, не трогая типовой объект. Сами стандартные реквизиты через расширение изменить нельзя, но для большинства прикладных задач добавления своего поля достаточно.

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

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

Изменение длины стандартного реквизита

Подходит, когда не хватает длины кода, наименования или номера. Требует конфигуратора и снятия объекта с полной поддержки в типовых решениях.

Собственный реквизит объекта

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

Расширение конфигурации

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

Дополнительные реквизиты БСП

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

Типичные ошибки и частые вопросы

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

Третья ошибка — несогласованное изменение в распределённых базах. В РИБ изменение конфигурации сначала выполняется в центральном узле и распространяется на периферийные; попытка поменять длину локально на подчинённом узле приведёт к ошибкам обмена. Четвёртая — ожидание, что увеличение длины номера документа изменит уже существующие номера: старые значения остаются как были, изменение действует только на новые вводимые данные и их хранение.

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

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

Длина стандартного реквизита меняется в свойствах объекта конфигурации с последующим обновлением конфигурации базы данных. Увеличение длины безопасно, уменьшение требует проверки данных. Для типовых конфигураций сначала оцените альтернативы: собственный реквизит, расширение или дополнительные реквизиты БСП.

FAQ

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

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

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

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

Почему свойство «Длина наименования» недоступно для редактирования?

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

Какая максимальная длина наименования справочника в 1С?

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

Нужно ли менять длину реквизита во всех базах обмена?

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

Изменятся ли существующие номера документов после увеличения длины номера?

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