В процессе работы с программой 1С:Бухгалтерия 8.3 пользователи часто сталкиваются с ограничением длины стандартного поля Наименование в справочнике Номенклатура. Это создает сложности при загрузке данных из систем электронного документооборота (ЭДО) или при необходимости внесения специфических технических характеристик товара (например, при переносе штрихкодов и упаковок). Разберем подробно, как решить эту задачу с технической и методической точек зрения, учитывая ограничения платформы и требования производительности.
Первым делом проанализируем возможность изменения структуры справочника. Стандартная длина поля Наименование в большинстве типовых конфигураций установлена на уровне 100 символов. Если этого недостаточно, мы можем увеличить этот параметр, однако здесь существует жесткий лимит платформы.
Рассмотрим пошагово, как внести изменения:
Номенклатура.Наименование и изменим его длину.Важно: Максимально допустимая длина для стандартного реквизита Наименование составляет 150 символов. Это ограничение заложено в ядро платформы 1С:Предприятие. Выясним причину такого лимита: поле Наименование является индексируемым. В большинстве СУБД (например, MS SQL Server) размер индекса ограничен (обычно 900 байт). Поскольку 1С использует кодировку Unicode, где один символ занимает 2 байта, лимит в 150 символов гарантирует стабильную работу индексов и высокую скорость поиска.
Если увеличение до 150 символов не решает проблему (например, название товара занимает 300 знаков), правильным решением будет использование реквизита НаименованиеПолное. По умолчанию он не всегда виден в списке товаров, но мы можем настроить это без изменения конфигурации.
Разберем, как вывести полное наименование в форму списка в режиме «1С:Предприятие» (существуют и другие методы доработки динамических списков):
Номенклатура.Ссылка (или Наименование) и нажмем кнопку Добавить поля.Полное наименование и нажмем ОК.После этих манипуляций сотрудники смогут видеть длинные названия прямо в списке, не заходя в карточку каждого товара.
Проанализируем ситуацию, описанную пользователями на форуме: часто длинное наименование требуется для корректного сопоставления номенклатуры при загрузке документов через ЭДО — процесс ускоряет автоматическое сопоставление номенклатуры при загрузке из ЭДО. Существует мнение, что «краткое» и «полное» наименования должны быть идентичны, чтобы программа автоматически находила товар. Однако это не совсем так.
В современных конфигурациях 1С (начиная с БП 3.0.93 и выше) механизм сопоставления работает через специальный регистр сведений Номенклатура контрагентов — для этого есть интеллектуальное сопоставление номенклатуры в ЭДО. Рассмотрим, как это упрощает жизнь:
Наименование короткое, а у поставщика — 200 символов).Таким образом, мы можем сохранять лаконичность в поле Наименование (для удобства поиска сотрудниками на складе и менеджерами) и при этом иметь идеальный порядок в документах благодаря полю Полное наименование.
Для опытных разработчиков существует еще один способ — использование обработчика ОбработкаПолученияПредставления. Это позволяет системе выводить в качестве названия объекта (в ссылках, в выборе в документах) не стандартное короткое наименование, а любую комбинацию данных, включая полное название или артикул.
Посмотрим на пример кода, который можно разместить в модуле менеджера справочника Номенклатура:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
// Формируем представление: Артикул + Краткое наименование
Представление = "[" + Данные.Артикул + "] " + Данные.Наименование;
КонецПроцедуры
Такой подход позволяет не раздувать длину строковых полей, но при этом делать работу пользователя максимально информативной.
Выясним причину, почему поиск по началу строки в 500 символов — это плохая идея. Если мы будем искать товар «Сендвич-панель трехслойная тип А-45-890...», вводя текст с начала, мы потратим много времени. В 1С реализован механизм Полнотекстового поиска.
Проанализируем его преимущества:
Полное наименование неограниченной длины.Совет: Если вы вывели Полное наименование в форму списка, используйте стандартную строку поиска (вызывается по Ctrl + F). В настройках поиска выберите Искать в: Полное наименование и Поиск: По любой части — для этого подойдёт улучшенный поиск и автоподбор номенклатуры в 1С. Это решит проблему нахождения товара с очень длинным названием без технических правок конфигурации.
Подводя итог, можно сказать, что увеличение длины наименования свыше 150 символов невозможно на уровне платформы для стандартного реквизита. Однако это и не требуется при правильном подходе к архитектуре данных:
Наименование (до 150 знаков) как рабочий идентификатор для сотрудников: он должен быть кратким, содержать артикул или ключевые свойства в начале.Полное наименование для печати первичных документов и хранения юридически значимых названий.Такой комплексный подход обеспечит высокую производительность системы и удобство работы всех отделов компании.