Как обойти ограничение в 1024 символа для дополнительных реквизитов номенклатуры в УТ 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе с расширенным описанием товаров для интернет-магазинов пользователи 1С:Управление торговлей 11 часто сталкиваются с техническим ограничением платформы: дополнительные реквизиты, имеющие составной тип данных, ограничены длиной в 1024 символа. Рассмотрим подробно, почему возникает эта проблема и какие методы существуют для ее решения в типовых конфигурациях.

Понимание архитектурных ограничений

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

Способ №1: Использование возможностей БСП

Рассмотрим использование штатного механизма. В конфигурации 1С ТекстоваяСтрока является строкой неограниченной длины. Когда вы или ваш пользователь вводите описание, превышающее лимит в 1024 символа, БСП сама перенаправляет запись. Чтобы проверить, корректно ли настроен ваш обмен, проанализируйте модуль Б_ОбменССайтомСерверВыгрузкаДанных. Типовой алгоритм выгрузки выглядит следующим образом:


|ВЫБРАТЬ
|    НоменклатураДополнительныеРеквизиты.Ссылка КАК Номенклатура,
|    НоменклатураДополнительныеРеквизиты.Свойство КАК Свойство,
|    НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
|    НоменклатураДополнительныеРеквизиты.ТекстоваяСтрока КАК ТекстоваяСтрока
|ИЗ
|    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты

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

Способ №2: Присоединенные файлы как альтернатива

Если ваши тексты представляют собой структурированные описания, имеет смысл перейти на использование механизма ПрисоединенныеФайлы. Это «чистый» архитектурный подход, который не перегружает справочник Номенклатура. Рассмотрим преимущества этого метода:

  1. Файлы хранятся в Томах или BLOB-полях, не влияя на скорость работы табличных частей.
  2. Типовой обмен с Битрикс поддерживает выгрузку присоединенных файлов так же, как и изображений для карточек товара.
  3. Вы можете хранить неограниченное количество описаний, просто прикрепляя нужные файлы к карточке номенклатуры.

Способ №3: Переопределение типов данных для свойств

Если специфика обмена требует использования только строковых полей, некоторые разработчики прибегают к изменению типа значений для свойств в ПВХ (Планы видов характеристик). Рассмотрим шаги для реализации этого метода:

  1. Найдите свойство номенклатуры, для которого требуется увеличение длины.
  2. В конфигураторе проверьте возможность принудительного использования неограниченной строки для данного типа.
  3. В модуле обмена допишите логику подмены данных. Поскольку стандартные механизмы могут ожидать 1024 символа, вам потребуется убедиться, что ваша обработка выгрузки корректно считывает измененный реквизит и передает его в XML-файл обмена с сайтом.

Рекомендации по реализации

Чтобы избежать «костылей» при автоматизации, мы рекомендуем придерживаться следующего порядка действий:

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

← На главную