Добрый день! ERP. Пытаюсь свернуть строки ТЧ в поступлении.

```1c
    &НаСервере
    Процедура тч_ОбъединитьПослеНаСервере()

    лкТЧ = Объект.Товары.Выгрузить();
    лкТЧ.Свернуть("Номенклатура,Характеристика,Цена,СтавкаНДС,Склад,Подразделение","КоличествоУпаковок,Сумма");
    Объект.Товары.Загрузить(лкТЧ);

    КонецПроцедуры

    &НаКлиенте
    Процедура тч_ОбъединитьПосле(Команда)
    тч_ОбъединитьПослеНаСервере();
    КонецПроцедуры
```

По номенклатуре, сумме, количеству строки свертываются, но ошибка: "Обнаружено нулевое количество при пересчете в единицу хранения в строке 1 списка "Товары".

Понимаю, что дело в упаковках и единицах хрнанения, но что с этим делать не понимаю.

Ну и характеристики вообще не свертываются.
---
Добавьте РеквизитФормыВЗначение и обратное преобразование ЗначениеВРеквизитФормы. Вот эта процедура в модуле формы документа свернула строки ТЧ.Товары:

```1c
    &НаСервере
    Процедура СвернутьТЧНаСервере(ИмяТабличнойЧасти)
    ИзмеренияТаблицы = Новый Массив;
    РесурсыТаблицы = Новый Массив;
    ДокОбъект = РеквизитФормыВЗначение("Объект");
    КолонкиТабличнойЧасти = ДокОбъект.Метаданные().ТабличныеЧасти[ИмяТабличнойЧасти].Реквизиты;
    Для Каждого МетаданныеКолонки Из КолонкиТабличнойЧасти Цикл
    Если МетаданныеКолонки.Тип.СодержитТип(Тип("Число")) Тогда
    РесурсыТаблицы.Добавить(МетаданныеКолонки.Имя);
    Иначе
    ИзмеренияТаблицы.Добавить(МетаданныеКолонки.Имя);
    КонецЕсли;
    КонецЦикла;

    ДокОбъект[ИмяТабличнойЧасти].Свернуть(
    СтрСоединить(ИзмеренияТаблицы, ","),
    СтрСоединить(РесурсыТаблицы, ","));
    ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
    КонецПроцедуры
```
---
Понимаю, что видимо, дело упаковках и единицах хрнанения, но что с этим делать не понимаю. Например, сворачивать и по ним тоже.
---
а как вы себе представляете процесс сворачивания, например, штук и коробок в единицах или красного и желтого в характеристиках?
ну и кроме того, раз единица измерения отсутствует в списках сворачивания или суммирования, то система вам ее очистила, в результате чего и возникает ошибка

свернуть можно только похожее полностью
приведите строки к единому виду по тем же единицам измерения, добавьте в списки сворачивания единицу и все свернется без ошибок
---
Для теста я разделил строку и попробовал свернуть назад, группирую по:

```1c
    "Номенклатура,Характеристика,Упаковка,Цена,СтавкаНДС,Склад,Подразделение"
```

Суммирую по

```1c
    "КоличествоУпаковок,Сумма"
```

То же самое. Если добавить в группировку "ЕдиницаИзмерения" - ошибка "неверное имя колонки"
---
Если у вас ERP, то там не ЕдиницаИзмерения, а Упаковка.
Перед тем как группировать посмотрите какие еще есть заполненные реквизиты и по всем группируйте, суммируйте, иначе ошибки так и будут
---
Попробуйте свернуть так, как описано здесь, списки колонки сформируются по типам:

https://fastcode.im/Templates/7421/svernut-tablichnuyu-chast
---
Табличная часть сама имеет метод Свернуть(). В справке также написано: "Важно! Оба списка колонок должны покрывать всю табличную часть. Списки колонок не должны пересекаться."
---
В ERP "КоличествоУпаковок"? "Количество" нет реквизита? И при сворачивании, необходимо учитывать ЕдиницуИзмерения.
---
Также проверьте количество * коэффициент единицы хранения остатков в 0 не уходит?
При проведении документа, в регистры записывается количество в единицах хранения остатков.
---
Скажите рожалуйста, что значит "Оба списка колонок должны покрывать всю табличную часть"? Нужно обязательно использовать все колонки? Как тогда быть с номером строки, кодом строки?

Перепробовал все варианты, пробовал в документе ДвижениеПродукцииИМатериалов, группировал по

```1c
    ТипНоменклатуры,Код,Артикул,Номенклатура,Характеристика,СтатусУказанияСерий,Назначение,Упаковка,Цена,Распоряжение,ГруппаПродукции,Серия
```
 суммировал по
```1c
    Сумма,КоличествоУпаковок
```
 - то же самое.
---
Номер строки доступен только для чтения и уникален для всех строк, его не нужно использовать при свертке. Пробовали воспользоваться процедурой из ссылки в (6), в отладчике посмотреть списки измерений и ресурсов?
---
```1c
    &НаСервере
    Процедура СвернутьТабличнуюЧасть(Объект, ИмяТабличнойЧасти) Экспорт

    ИзмеренияТаблицы = Новый Массив;
    РесурсыТаблицы = Новый Массив;

    КолонкиТабличнойЧасти = Объект.Метаданные().ТабличныеЧасти[ИмяТабличнойЧасти].Реквизиты;
    Для Каждого МетаданныеКолонки Из КолонкиТабличнойЧасти Цикл
    Если МетаданныеКолонки.Тип.СодержитТип(Тип("Число")) Тогда
    РесурсыТаблицы.Добавить(МетаданныеКолонки.Имя);
    Иначе
    ИзмеренияТаблицы.Добавить(МетаданныеКолонки.Имя);
    КонецЕсли;
    КонецЦикла;

    Объект[ИмяТабличнойЧасти].Свернуть(
    СтрСоединить(ИзмеренияТаблицы, ","),
    СтрСоединить(РесурсыТаблицы, ",")
    );

    КонецПроцедуры

    &НаКлиенте
    Процедура Andq_Свернуть2После(Команда)
    СвернутьТабличнуюЧасть(Объект,"Товары");
    КонецПроцедуры
```

Метод объекта не обнаружен (Метаданные)
---
Добавьте РеквизитФормыВЗначение и обратное преобразование ЗначениеВРеквизитФормы. Вот эта процедура в модуле формы документа свернула строки ТЧ.Товары:

```1c
    &НаСервере
    Процедура СвернутьТЧНаСервере(ИмяТабличнойЧасти)
    ИзмеренияТаблицы = Новый Массив;
    РесурсыТаблицы = Новый Массив;
    ДокОбъект = РеквизитФормыВЗначение("Объект");
    КолонкиТабличнойЧасти = ДокОбъект.Метаданные().ТабличныеЧасти[ИмяТабличнойЧасти].Реквизиты;
    Для Каждого МетаданныеКолонки Из КолонкиТабличнойЧасти Цикл
    Если МетаданныеКолонки.Тип.СодержитТип(Тип("Число")) Тогда
    РесурсыТаблицы.Добавить(МетаданныеКолонки.Имя);
    Иначе
    ИзмеренияТаблицы.Добавить(МетаданныеКолонки.Имя);
    КонецЕсли;
    КонецЦикла;

    ДокОбъект[ИмяТабличнойЧасти].Свернуть(
    СтрСоединить(ИзмеренияТаблицы, ","),
    СтрСоединить(РесурсыТаблицы, ","));
    ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
    КонецПроцедуры
```