База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как хранить и отображать полное наименование, превышающее 1024 символа? › Ответ в теме: Как хранить и отображать полное наименование, превышающее 1024 символа?
Если длина реквизита ПолноеНаименование ограничена 1024 символами, а полное значение длиннее, и менять длину на «неограниченная» нельзя из-за группировок в запросах, то можно сделать так:
1. Хранить полное значение в дополнительном реквизите или регистре сведений
— Создайте дополнительный реквизит (например, «ПолноеНаименованиеПолное» типа «Строка неограниченной длины») в справочнике или в отдельном регистре сведений, связанного с номенклатурой.
— В этот реквизит записывайте полное значение, которое не помещается в основной реквизит.
— Основной реквизит «ПолноеНаименование» оставьте с длиной 1024, туда записывайте усечённое или сокращённое значение, чтобы группировки и запросы работали корректно.
2. Отображение в печатной форме
— В печатной форме вместо основного реквизита «ПолноеНаименование» выводите значение из дополнительного реквизита с полным текстом.
— Если дополнительный реквизит пустой, можно подставлять основной.
3. Автоматизация заполнения
— При вводе или обновлении номенклатуры сделайте обработчик (например, в событии ПередЗаписью или в обработке заполнения), который будет копировать полное значение в дополнительный реквизит.
— Можно сделать форму редактирования, где пользователь вводит полный текст в поле с неограниченной длиной, а в основной реквизит записывается усечённый вариант.
4. Преимущества
— Не ломаете существующие группировки и запросы, которые используют основной реквизит.
— Храните полный текст без ограничений.
— В печатных формах и отчетах показываете полный текст.
5. Минусы
— Нужно поддерживать синхронизацию между основным и дополнительным реквизитом.
— Усложняется структура данных, но это единственный безопасный способ без изменения длины реквизита.
—
Если нужна помощь с примером кода для копирования и отображения — могу помочь.