Длина наименования справочника в 1С: как её увеличить
Содержание
Пользователь вводит название товара или контрагента, 1С молча обрезает его на сотом символе. Или не даёт ввести больше. Длина наименования справочника задаётся в свойствах объекта конфигурации, и поменять её можно только в Конфигураторе. В режиме «1С:Предприятие» это не настроить.
Порядок такой: открыть справочник в дереве конфигурации, на закладке Данные найти свойство Длина наименования, поставить новое число, сохранить и обновить конфигурацию
базы данных. Для самописной конфигурации это пять минут. Для типовой — отдельный разговор, потому что она стоит на поддержке. Ниже по порядку: что смотреть заранее, как менять, что ломается и чем можно обойтись без правки.
Сначала посмотрите, что за объект и какая у него длина
Наименование есть у справочников, у планов видов характеристик, планов счетов и некоторых других объектов. У документов наименования нет — там номер и дата. Если вам нужно длиннее поле в документе, речь о реквизите, и это другой случай (он разобран ниже).
Что проверить до правки:
- 📏 Текущая длина. Откройте объект в конфигураторе и посмотрите свойство
Длина наименования. В типовых справочниках встречаются значения вроде 25, 50, 100, 150 — зависит от объекта. - 🔎 Реальная потребность. Возьмите самые длинные значения из базы. Если пользователям не хватает 100 символов потому, что в название пишут описание, возможно, нужно другое поле.
- 🧱 Верхняя граница. Платформа ограничивает длину наименования справочника. Значение выше допустимого конфигуратор не примет, а точный предел для вашей версии платформы смотрите в справке к свойству (кнопка
F1на поле в палитре свойств). - 🔒 Режим поддержки. Если конфигурация типовая, поле свойств будет недоступно, пока вы не разрешите изменения.
Чтобы быстро найти самые длинные названия, подойдёт запрос в консоли запросов:
ВЫБРАТЬ ПЕРВЫЕ 20
Номенклатура.Ссылка КАК Ссылка,
ДлинаСтроки(Номенклатура.Наименование) КАК Длина
ИЗ
Справочник.Номенклатура КАК Номенклатура
УПОРЯДОЧИТЬ ПО
Длина УБЫВ
Подставьте свой справочник вместо Номенклатура. Так видно, насколько близко к лимиту подошли пользователи.
Если самые длинные названия упираются ровно в лимит и обрываются на полуслове, увеличение оправдано. Если до лимита им далеко, дело в другом: ошибка в обработке, сторонняя выгрузка или поле, которое путают с наименованием.
Как изменить длину наименования в конфигураторе
Пошагово для своей конфигурации или для базы, где вы вправе менять метаданные:
- Сделайте копию информационной базы. Для файловой — скопируйте каталог с
1Cv8.1CD, для клиент-серверной — резервная копия в СУБД или выгрузка в.dt. - Запустите базу в режиме
Конфигуратори откройтеКонфигурация → Открыть конфигурацию. - Разверните ветку
Справочники, найдите нужный и откройте его двойным щелчком. - На закладке
Данныенайдите полеДлина наименованияи введите новое число. - Закройте окно объекта и нажмите
F7(или кнопкуОбновить конфигурацию базы данныхна панели). - Подтвердите реструктуризацию таблиц. Платформа сама перестроит структуру базы.
- Запустите «1С:Предприятие» и проверьте, что в форме элемента можно ввести длинное значение.
Увеличение длины данные не портит: существующие строки остаются как были, просто поле становится просторнее. Уменьшение — другая история, там платформа может обрезать значения, поэтому уменьшать без копии не стоит.
Обновление конфигурации базы данных на рабочей базе делайте, когда в ней нет пользователей. Для клиент-серверной базы платформа может потребовать монопольный доступ, а сеансы, которые остались открытыми, придётся завершить. Предупредите людей заранее и выберите время вне рабочего дня.
Если вы работаете с рабочей базой напрямую, лучше сначала отработать изменение на тестовой копии. Проверьте форму списка, печать, поиск по строке и выгрузки в обменах.
Реквизит вместо наименования
Часто «увеличить наименование» нужно не в самом справочнике, а в добавленном реквизите. Тут всё проще: откройте объект, закладку Данные → Реквизиты, выберите реквизит и в палитре свойств поменяйте тип. У строкового типа задаётся длина, а у неограниченной длины стоит отдельный признак.
| Вариант | Когда подходит | Ограничения |
|---|---|---|
| Строка фиксированной длины | Нужен предсказуемый размер, по полю будут отбор и сортировка | Больше длина — больше места в базе |
| Строка неограниченной длины | Длинные описания, примечания | Нельзя использовать в отборах и сортировке так же свободно, как обычную строку |
| Строка переменной длины | Значения короткие, но разные | Нужна оценка максимума |
Если вы добавляете в справочник длинное описание, выбирайте неограниченную длину. Если хотите искать по этому полю, оставляйте строку конкретной длины.
Как быть с типовой конфигурацией на поддержке
Бухгалтерия, ЗУП, Управление торговлей и другие типовые решения поставляются «на замке». Правка метаданных в них возможна, но каждая такая правка превращает обновление релиза в работу.
Что происходит:
- Конфигуратор предложит снять с поддержки объект. Выбор
Включить возможность измененияоткроет редактирование всей конфигурации или отдельных объектов — смотрите, какую из настроек разрешаете. - После правки объект помечается как изменённый поставщиком и вами одновременно.
- При следующем обновлении релиза платформа сравнивает три версии: старую типовую, новую типовую и вашу. Если поставщик тоже менял этот объект, возникают конфликты, которые приходится разрешать руками.
Так что для типовых баз сначала решите, нужна ли правка вообще. Более безопасные пути:
- 📝 В справочнике «Номенклатура» есть отдельное поле для полного наименования, оно длиннее обычного. Для печатных форм используют именно его.
- 🗂 Для характеристик и дополнительных сведений подойдут механизмы дополнительных реквизитов и сведений, которые включаются в настройках программы.
- 🧩 Доработку, которую нужно сохранить при обновлении, обсудите с программистом: иногда её выносят в отдельную обработку или в расширение, но проверяйте на тестовой базе, допускает ли расширение вашу конкретную правку.
Если решили править прямо в типовой конфигурации, сохраните список изменений. Через год никто не вспомнит, почему у справочника длина наименования 200, а у соседней базы 100.
Что происходит в списках, формах и печати
После увеличения длины данные в базе уже вмещают больше символов, но отображение зависит от формы.
В списке длинное название обрезается шириной колонки. Пользователь видит часть строки, остальное увидит в карточке элемента или раздвинув колонку. В форме элемента поле ввода может быть узким: его ширину задают в конфигураторе, в свойствах элемента формы. Если оставить как есть, длинный текст придётся прокручивать.
Что стоит пройти после правки:
- форма списка и форма выбора — хватает ли ширины колонки;
- форма элемента — не обрезает ли поле ввода текст визуально, включена ли многострочность там, где нужна;
- печатные формы и макеты — влезает ли длинное название в ячейку, не уезжает ли строка за границу листа;
- отчёты — поле наименования в колонке может «растягивать» таблицу;
- поиск и быстрый выбор по строке.
Для макетов печатной формы запас по ширине ячейки удобнее давать сразу: автоподбор высоты строки включают в свойствах ячейки макета, и длинное название тогда переносится само.
Внешние обработки и отчёты
Отдельные внешние отчёты и обработки могли быть написаны под старую длину. Если где-то в коде стоит Лев(Наименование, 50) или длина поля жёстко задана в макете, расширение справочника этого не исправит. Просмотрите такие места поиском по конфигурации (Правка → Найти в модуле) и по самим файлам обработок.
Обмены данными и интеграции после изменения длины
Здесь чаще всего всплывают проблемы. Длина наименования должна быть согласована между всеми участниками обмена.
Типичная картина: в «Бухгалтерии» длину увеличили до 200, а во второй базе осталось 100. Название приходит длиннее, чем помещается. В зависимости от настроек платформа и правил обмена результат может быть разным — обрезка, ошибка записи элемента или искажённые данные. Чтобы не гадать, проверьте на тестовой паре баз.
Чек-лист для обменов:
- какие базы обмениваются этим справочником (план обмена, правила конвертации, веб-сервисы);
- совпадает ли длина наименования у получателя;
- есть ли в правилах обмена жёсткое усечение или проверка длины;
- какие внешние системы забирают наименование (сайт, учётные программы, маркетплейсы) и есть ли у них свои лимиты;
- как поведёт себя выгрузка в файл — например, в формат с фиксированной шириной колонок.
Для сопоставления полей между системами удобно составить небольшую таблицу заранее:
Если получатель не может увеличить длину, оставьте в наименовании краткую форму, а подробное описание передавайте отдельным полем.
Данные, перенос и обновление базы
Увеличение длины затрагивает структуру таблиц. Для файловой базы платформа перестраивает таблицы при обновлении конфигурации БД, для клиент-серверной то же самое делает на стороне СУБД, и на большой таблице это занимает время.
Чего ждать:
- 📦 на справочнике с сотнями тысяч элементов реструктуризация длится заметно дольше, чем на небольшом. Закладывайте окно на несколько часов для крупных баз и не прерывайте процесс;
- 💾 места на диске нужно больше: СУБД и платформа создают временные копии таблиц при перестроении;
- 🔁 если у вас есть несколько баз с одной конфигурацией (рабочая, тестовая, копии у филиалов), изменённую конфигурацию переносят в каждую: через
Конфигурация → Сохранить конфигурацию в файли загрузку, либо через файл обновления.
Выгрузить и загрузить сам файл конфигурации можно так:
- В конфигураторе —
Конфигурация → Сохранить конфигурацию в файл, укажите.cf. - В целевой базе —
Конфигурация → Загрузить конфигурацию из файла. - Затем
F7, чтобы обновить конфигурацию базы данных.
Загрузка конфигурации из файла замещает конфигурацию целиком, так что используйте её только если уверены, что в целевой базе нет других доработок, которые вы потеряете.
Производительность при длинных строках
Увеличение с 100 до 200 символов само по себе базу не тормозит. Другое дело, если выбрать неограниченную длину для поля, по которому идут отборы, и миллионы строк в списке.
Что стоит учесть:
- 🚀 длинные строки занимают больше места в таблицах и индексах, поэтому поиск по ним чуть дороже;
- 🔍 быстрый поиск по подстроке в длинных текстах медленнее, чем по коротким кодам;
- 📋 формы списков, которые показывают наименование целиком, тянут больше данных по сети, и на тонких клиентах это заметно;
- 🧮 в запросах не нужно без необходимости сравнивать длинные строки: отбор по ссылке или коду быстрее, чем по тексту.
Практическое правило: наименование держите коротким и осмысленным, для описаний заводите отдельное поле. Если оно длинное — выбирайте неограниченную строку и не используйте поле в сортировке по умолчанию.
Частые вопросы
Можно ли увеличить длину наименования, не открывая конфигуратор?
Потеряются ли старые названия после увеличения длины?
Чем отличается «Наименование» от реквизита, который я добавил сам?
Реквизиты объекта.