Доброго времени суток, возникла такая задача:
 надо в ТЗ посчитать количество строк с повторяемым полем, если бы делал обычный запрос и тд... просто включил группировку. и посчитал бы группы что то типа такого:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Номенклатура.Сотрудник КАК Сотрудник
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Статус = &Статус
    |
    |СГРУППИРОВАТЬ ПО
    | Номенклатура.Сотрудник";
    Запрос.УстановитьПараметр("Статус", Отчет.Статус);
    РЗ = Запрос.Выполнить();
    Выборка = РЗ.Выбрать();
    СтатистикаСотрудник = выборка.Количество();
```

по факту порылся я в гугле, яндексе, нарыл инфу что надо сначала перебросить ТЗ во временную таблицу а потом с этой таблицей работать как со справочником, в итоге набрасал такой код:

```1c
    Запрос = Новый Запрос;

    Запрос.Текст =

    "ВЫБРАТЬ
    | ТЗ.Сотрудник КАК Сотрудник,
    | ТЗ.пп КАК пп,
    | ТЗ.отдел КАК отдел,
    | ТЗ.регистратор КАК регистратор,
    | ТЗ.Дата КАК Дата,
    | ТЗ.Комментарий КАК Комментарий
    |ПОМЕСТИТЬ ВременнаяТаблица
    |ИЗ
    | &ТЗ КАК ТЗ";

    Запрос.УстановитьПараметр("ТЗ", Список);

    Запрос.Выполнить();
```

как я понимаю данный запрос у меня должен выдать временную таблицу "ВременнаяТаблица" к которой я потом могу обратиться вторым запросом уже с группировкой
НО выскакивает ошибка:

```1c
    {(10, 2)}: Неверные параметры "ТЗ"
    <<?>>&ТЗ КАК ТЗ
```

Что не так? может как то по другому можно реализовать?

PS: УФ. в ТЗ данные добавляются разными запросами с разных источников, разными запросами....
---
Запрос.УстановитьПараметр("ТЗ", Список.Выгрузить());
---
в качестве параметра запроса может быть таблица со строго типизированными полями
---
у меня прописаны типы... или должны быть у всех одинаковые?
---
Запрос.УстановитьПараметр("ТЗ", Список.Выгрузить());
---
Выгрузить()

действительно, как то об этом не подумал... теперь: "Не установлен менеджер временных таблиц"
---
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
---
Для информации - реквизит формы с типом ТаблицаЗначений это не таблица значений. Внезапно!
---
Дошло! понял где была ошибка...
---
может как то по другому можно реализовать?
Можно без запроса.

Что-то типо такого:

```1c
    ТабЗначенийОбщая = Список.Выгрузить();
    КолонкиГруппировки = "Тут колонки через запятую";
    ТабСвернутая = ТабЗначенийОбщая.Скопировать(,КолонкиГруппировки);
    ТабСвернутая.Свернуть(КолонкиГруппировки);

    ТабЗначенийОбщая.Индексы.Добавить(КолонкиГруппировки);

    Для Каждого СтрТЧ Из ТабСвернутая Цикл
    СтруктураПоиска = Новый Структура(КолонкиГруппировки);
    ЗаполнитьЗначенияСвойств(СтруктураПоиска,СтрТЧ);

    НайденныеСтроки = ТабЗначенийОбщая.НайтиСтроки(СтруктураПоиска);
    КоличествоСтрок = НайденныеСтроки.Количество();
    КонецЦикла;
```
---
можно в таблицу добавить колонку с 1 и потом свернуть по нужному полю...
Чтобы ее передать в запрос, типы всех колонок должны быть обязательно заданы.
---
Может развести имена параметра и источника:

```1c
    Запрос.Текст =

    "ВЫБРАТЬ
    | ТЗ.Сотрудник КАК Сотрудник,
    | ТЗ.пп КАК пп,
    | ТЗ.отдел КАК отдел,
    | ТЗ.регистратор КАК регистратор,
    | ТЗ.Дата КАК Дата,
    | ТЗ.Комментарий КАК Комментарий
    |ПОМЕСТИТЬ ВременнаяТаблица
    |ИЗ
    | &Список КАК ТЗ";

    Запрос.УстановитьПараметр("Список", Список);

    Запрос.Выполнить();
```
---
не помогло, та же ошибка
---
управляемые формы?
надо сначала таблицу значений с формы, которая вовсе не таблица значений, а коллекция )), перекинуть в таблицу значений, которая именно таблица значений
только потом можно будет указывать ее как параметр в запросе
---
продолжим :-)

в итоге получается такой код:

```1c
    функция СчитаемСотрудников ()
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.Текст =

    "ВЫБРАТЬ
    | ТЗ.Сотрудник КАК Сотрудник,
    | ТЗ.пп КАК пп,
    | ТЗ.отдел КАК отдел,
    | ТЗ.регистратор КАК регистратор,
    | ТЗ.Дата КАК Дата,
    | ТЗ.Комментарий КАК Комментарий
    |ПОМЕСТИТЬ ВременнаяТаблица
    |ИЗ
    | &Список КАК ТЗ";

    Запрос.УстановитьПараметр("Список", Список.Выгрузить());

    Запрос.Выполнить();
    //==========================================================­==============

    Запрос.Текст =

    "ВЫБРАТЬ
    | ВременнаяТаблица.Сотрудник КАК Сотрудник
    |ИЗ
    | ВременнаяТаблица КАК ВременнаяТаблица
    |
    |СГРУППИРОВАТЬ ПО
    | ВременнаяТаблица.Сотрудник";

    Выборка = Запрос.Выполнить().Выбрать();
    возврат выборка.Количество();

    конецФункции
```

и ошибка
```1c
    {(7, 2)}: Недопустимое поле для группировки "Сотрудник"
    <<?>>ВременнаяТаблица.Сотрудник
```

если из запроса убрать группировку, все работает...
тыкните как сделать что бы группировка работала
---
Поле сотрудник типа Строка неограниченной длины. Строки неограниченной длины нельзя группировать.
---
все получилось ОГРОМНОЕ Вам человеческое спасибо
---
Пожалуйста