Возник вопрос при проектировании логики работы в 1С - а почему бы не присваивать реквизитам с типом "Строка" определенную длину?
К тем же "ПолноеНаименование".

Зачем мне это все?
Чтобы не вспоминать каждый раз - а какую же длину я выбрал в запросе и сделал после СокрЛП() для помещения строки в Табличную часть.

Присвоить строке длину 900 - за глаза хватит. По крайней мере логика работы позволяет выбрать именно такую.

Хотя я не встречал еще (в деятельности оптово-розничных продаж), чтобы пришлось использовать строку длиной в больше 1000 символов.
---
Да уж, господа, написали вы в пустую тут. Один спам.
Вот правильный ответ (в который раз сам на свой вопрос отвечаю):

Максимальная длина строки может быть до 1024 символов, либо неограниченной длины. Соответственно, этим ограничением все объясняется - какова логика работы объекта метаданных, такую длину и выбирать.

Выдержка из ИТС:
В языке запросов 1С:Предприятия функция ПОДСТРОКА() в формате ПОДСТРОКА(<Исходная строка>, <Начало>, <Длина>) может применяться к данным строкового типа и позволяет выделить фрагмент <Исходной строки>, начинающийся с символа номер <Начало> (символы в строке нумеруются с 1) и длиной <Длина> символов. Результат вычисления функции ПОДСТРОКА() имеет строковый тип переменной длины, причем длина будет считаться неограниченной, если <Исходная строка> имеет неограниченную длину и параметр <Длина> не является константой или превышает 1024.

Источник: ИТС: Особенность выполнения функции ПОДСТРОКА() языка запросов

В моем случае, я создаю несколько объектов метаданных, некоторые из них имеют ПолноеНаименование (похожее на типовые справочники), но логика такова, что связь в запросе осуществляется как раз по этой строке, потому что отправляемый отчет клиентом содержит только наименование (его) номенклатуры и числовых значений. Ни штрихкода, ни артикула, ни кода или других соответствий (хотя бы по регистру). Так как его одна номенклатура может быть нашими двумя, тремя и т.д., то сделал реквизит ПолноеНаименование, в котором удаляются все символы, кроме латиницы, кириллицы и чисел. Как бы технический реквизит, не видимый пользователю.
Вот и все.
---
вот из-за таких разработчиков каждая новая программа для 'hello world' требует всё больше ресурсов.

Н-ненависть.
---
А после ненависти и депрессии приходит осознание, что каждый кусок чужого говнокода - это ещё и хлеб насущный с котлетою. Такой вот дерьмовый парадокс.
---
Честно говоря, так и не понял в чем предполагаемый профит универсальной строки (900).
Почему обычно так не делается: и платформа, и СУБД, когда предполагают, что будут работать со строкой (900), то и выделяют памяти соответственно. Поэтому, огульное использование таких строк ведет к перерасходу ОЗУ и/или места на диске.
---
На сколько это критично, если реквизит один у объекта? И есть ли рекомендации 1С по применению лимита на длину строки (в разумных целях)?
---
базы бывают на 23 наименования и на 15 лямов, ваш вариант какой?
---
Не понял ответа, вашего. Длина строки на 23 и на 15 млн.?
---
ПолноеНаименование - это где? Контрагенты или номенклатура? Справочник номенклатуры может быть и 15 млн элементов...
---
1. Если реквизит - один, то в чем тогда смысл строка (900)?
2. Реквизит-то в метаданных может и один, но самих объектов - 1М.
Насчет рекомендаций - даже и не заморачивался искать что-то на эту тему. Руководствуюсь здравым смыслом и пониманием, что за что-то чем-то нужно платить.
---
Так а кто мешает так делать? Если терабайты озу и петабайты в ссд дисках можно и не вспоминать про такие мелочи :-)
---
Да уж, господа, написали вы в пустую тут. Один спам.
Вот правильный ответ (в который раз сам на свой вопрос отвечаю):

Максимальная длина строки может быть до 1024 символов, либо неограниченной длины. Соответственно, этим ограничением все объясняется - какова логика работы объекта метаданных, такую длину и выбирать.

Выдержка из ИТС:
В языке запросов 1С:Предприятия функция ПОДСТРОКА() в формате ПОДСТРОКА(<Исходная строка>, <Начало>, <Длина>) может применяться к данным строкового типа и позволяет выделить фрагмент <Исходной строки>, начинающийся с символа номер <Начало> (символы в строке нумеруются с 1) и длиной <Длина> символов. Результат вычисления функции ПОДСТРОКА() имеет строковый тип переменной длины, причем длина будет считаться неограниченной, если <Исходная строка> имеет неограниченную длину и параметр <Длина> не является константой или превышает 1024.

Источник: ИТС: Особенность выполнения функции ПОДСТРОКА() языка запросов

В моем случае, я создаю несколько объектов метаданных, некоторые из них имеют ПолноеНаименование (похожее на типовые справочники), но логика такова, что связь в запросе осуществляется как раз по этой строке, потому что отправляемый отчет клиентом содержит только наименование (его) номенклатуры и числовых значений. Ни штрихкода, ни артикула, ни кода или других соответствий (хотя бы по регистру). Так как его одна номенклатура может быть нашими двумя, тремя и т.д., то сделал реквизит ПолноеНаименование, в котором удаляются все символы, кроме латиницы, кириллицы и чисел. Как бы технический реквизит, не видимый пользователю.
Вот и все.
---
Мда;) Какой вопрос, такой же и ответ
---
А что в вопросе не так? Что не известно, то и пытаюсь постигнуть. Думаю, так любой специалист начинает, не?
---
Чтобы понимать, чем разные строки отличаются, и как они хранятся, неплохо бы обратиться к источникам.
Восьмёрка умеет хранить строки типов char(), varchar() и text

почитаем документацию

 char [ ( n ) ]
Строковые данные фиксированной длины не в Юникоде. Аргумент n определяет длину строки и должен иметь значение от 1 до 8000. Размер при хранении составляет n байт.

varchar [ ( n | max ) ]
Строковые данные переменной длины не в Юникоде. Аргумент n определяет длину строки и должен иметь значение от 1 до 8000. Значение max указывает, что максимальный размер при хранении составляет 2^31-1 байт (2 ГБ). Размер хранения — это фактическая длина введенных данных плюс 2 байта.

 text
Данные переменной длины не в Юникоде в кодовой странице сервера и с максимальной длиной строки 2^31-1 (2 147 483 647). Если в кодовой странице сервера используются двухбайтовые символы, объем занимаемого типом пространства все равно не превышает 2 147 483 647 байт. Он может быть менее 2 147 483 647 байт — в зависимости от строки символов.

Кроме того, есть ещё нюансы с индексами. По полю типа text индексы в принципе не строятся. По полю типа varchar() индексировать можно, но лучше не надо, т.к. неконстантная длина это плохо для индекса. Вот собственно из этих соображений и выбирается тип. А уж чего там думали какие-то разрабы в некой конторе - это для меня тайна.
---
В большинстве конфигураций ПолноеНаименование подразумевает наименование для печати, такое надо называть НаименованиеДляЗапросов, например.