Есть Таблица Значений , в ней колонка тип Строка - 3000 знаков

Подскажите пож-ста , Как свернуть Таблицу Значений по всем колонкам?

```1c
    Запрос.Текст = "ВЫБРАТЬ
    | *
    |ПОМЕСТИТЬ ВТ_ТЗ
    |ИЗ
    | &ТЗ КАК ТЗ
    |;
    |
    |//////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ВТ_ТЗ.*
    |ИЗ
    | ВТ_ТЗ КАК ВТ_ТЗ
    |";
```

Это не работает
---
Создать новую таблицу значений с такими же колонками - Т2.
В цикле обходить таблицу Т1, искать есть ли такая строка в Т2, если нет - добавлять в Т2.
---
А почему ЭТО должно работать?
---
дык и не работает, поэтому и вопрос
---
Ну значит не различные. Или "Мамой клянусь, да!"?
---
ошибка выходит что неогранич длина колонки, Строка - 3000 знаков - запрос принимает за строку неогр длины
---
Значит надо ограничить.
---
там 3000 знаков в колонке , но запрос более 1000 символов принимает как за строку неогр длины
---
В строке может не быть вообще символов. Но если её длина не ограничена - никакой свертки СУБД делать не будет. И правильно.
---
И учим матчасть https://its.1c.ru/db/v8std/content/432/hdoc
---
Создать новую таблицу значений с такими же колонками - Т2.
В цикле обходить таблицу Т1, искать есть ли такая строка в Т2, если нет - добавлять в Т2.
---
Запрос не принимает поле длиннее 1024 знака. Точка! Сокращайте длину поля в запросе через ВЫРАЗИТЬ.
---
невозможно сократить , там 3000 символов
---
А стандартная свертка ТЗ почему не подходит?
---
Вообще непонятно, зачем таблицу значений обрабатывать запросом? Для работы с таблицей есть свои методы и для них длина 3000 символов не проблема. Метод Таблицы значений Свернуть чем не подходит?
---
там колонок много =)))
---
обход в цикле колонок и получить имена, которые подсунуть в метод Свернуть.
---
Колонки можно обойти в цикле. Для каждого колонка Из тз.Колонки. Получить имя колонки Колонка.Имя собрать всё в строку разделяя запятыми и подставить эту строку в свернуть.
Посмотрите в синтакс-помошнике там много еще чего, что можно с таблицей значений сделать.
---
Давайте поможем девочке погрузиться в сладостный мир извращений!
```1c
    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Поле1", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(10, 0)));
    ТЗ.Колонки.Добавить("Поле2", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(3000, ДопустимаяДлина.Фиксированная)));

    ТЗ.Добавить();
    ТЗ.Добавить();
    Сообщить("До:" + ТЗ.Количество());

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Поле1,
    | ПОДСТРОКА(Поле2, 1, 1000) КАК Поле21,
    | ПОДСТРОКА(Поле2, 1000, 1000) КАК Поле22,
    | ПОДСТРОКА(Поле2, 2000, 1000) КАК Поле23
    |ПОМЕСТИТЬ ВТ_ТЗ
    |ИЗ
    | &ТЗ КАК ТЗ
    |;
    |
    |//////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | Поле1,
    | Поле21 + Поле22 + Поле23 КАК Поле2
    |ИЗ
    | ВТ_ТЗ КАК ВТ_ТЗ
    |";
    Запрос.УстановитьПараметр("ТЗ", ТЗ);

    СвернутаяТЗ = Запрос.Выполнить().Выгрузить();
    Сообщить("После:" + СвернутаяТЗ.Количество());
```
---
ПОДСТРОКА(Поле2, 1001, 1000) КАК Поле22,
    | ПОДСТРОКА(Поле2, 2001, 1000) КАК Поле23
---
1001Спасибо!
Людей, принимающих извращения, все больше и больше!
---
и что Вы хотите по этому полю, длинной в 3000 знаков? группировать или суммировать?))
Кстати, Ваш запрос и не свернул бы ТЗ, а выбрал бы различные...
Если не секрет, что за задачу решаете? может быть нужно изменить алгоритм?
---
Кстати, Ваш запрос и не свернул бы ТЗ, а выбрал бы различные...
ТС надо было свернуть таблицу по всем колонкам. То есть оставить только различные записи.
Запрос из (15) именно это и делает.
---
Че-то про хэш никто не предложил... ))))))))))))))))
---
всем добрый вечер , вопрос решен , но всем спасибо ...эти идеи я буду использовать в дальнейшем =)))