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