Не соображу, как во внешней обработке организовать свертку строк табличной части в документе инвентаризации в БП 3.0..

```1c
    &НаКлиенте
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПОбъект) Экспорт

    ТЗ = ВладелецФормы.Объект.Товары;
    ПеречитатьТаблЧастьНаСервере(ТЗ);

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

    &НаСервере
    Процедура ПеречитатьТаблЧастьНаСервере(ТЗ)

    ТЗ.Выгрузить();
    ТЗ.Свернуть("ТоварыНоменклатураАртикул, ТоварыНоменклатура", "Количество, Сумма, Всего");
    ВладелецФормы.Объект.Товары.Загрузить(ТЗ);

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

Запутался совсем в "НаСервере/НаКлиенте", то там ругается, то тут..
---
```1c
    &НаКлиенте
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПОбъект) Экспорт

    Для каждого ТекущаяСтрока из ВладелецФормы.Объект.Товары Цикл

    СтруктураДляПоиска = Новый Структура;

    СтруктураДляПоиска.Вставить("Номенклатура", ТекущаяСтрока.Номенклатура);
    СтруктураДляПоиска.Вставить("Артикул", ТекущаяСтрока.Артикул);

    МассивСтрок = ВладелецФормы.Объект.Товары.НайтиСтроки(СтруктураДляПоиска);

    Количество = 0;
    ПерваяСтрока = Истина;

    Для каждого Строка Из МассивСтрок Цикл

    Количество = Количество + Строка.Количество;

    Если Не ПерваяСтрока Тогда

    ВладелецФормы.Объект.Товары.Удалить(Строка);
    Сообщить("Сгруппирована номенклатура " + ТекущаяСтрока.Номенклатура);

    КонецЕсли;

    ПерваяСтрока = Ложь;

    КонецЦикла;

    ТекущаяСтрока.Количество = Количество;

    КонецЦикла;

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

Всё оказалось куда проще.
---
1. Таблицу значений с клиента на сервер гнать нельзя
Она вообще на клиенте не существует (только как реквизит т.е. данные формы)
Нужно использовать: ДанныеФормыВЗначение, РеквизитФормыВЗначение, КопироватьДанныеФормы и обратные к ним

2. Не совсем понятно почему в дополнительной обработке использовано использование "ВызовКлиентскогоМетода"
```1c
    ДобавитьКоманду(ТаблицаКоманд, "Удалить строки", "Удалить строки", "ВызовКлиентскогоМетода", Истина);
```

Здесь вроде бы форму обработки открывать не нужно, наверное можно использовать вызов серверного. Иначе в комеаде нужно Использование = "ОткрытиеФормы"
---
```1c
    &НаКлиенте
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПОбъект) Экспорт

    Для каждого ТекущаяСтрока из ВладелецФормы.Объект.Товары Цикл

    СтруктураДляПоиска = Новый Структура;

    СтруктураДляПоиска.Вставить("Номенклатура", ТекущаяСтрока.Номенклатура);
    СтруктураДляПоиска.Вставить("Артикул", ТекущаяСтрока.Артикул);

    МассивСтрок = ВладелецФормы.Объект.Товары.НайтиСтроки(СтруктураДляПоиска);

    Количество = 0;
    ПерваяСтрока = Истина;

    Для каждого Строка Из МассивСтрок Цикл

    Количество = Количество + Строка.Количество;

    Если Не ПерваяСтрока Тогда

    ВладелецФормы.Объект.Товары.Удалить(Строка);
    Сообщить("Сгруппирована номенклатура " + ТекущаяСтрока.Номенклатура);

    КонецЕсли;

    ПерваяСтрока = Ложь;

    КонецЦикла;

    ТекущаяСтрока.Количество = Количество;

    КонецЦикла;

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

Всё оказалось куда проще.
---
Еще можно было сделать так:

```1c
    &НаКлиенте
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПОбъект) Экспорт

    ЗаполнитьДанными(ПОбъект[0]);

    ОбъектСсылка = ВыполнитьКомандуНаСервере();

    ПараметрыДок = Новый Структура("Ключ",ОбъектСсылка);
    ФормаДок = ПолучитьФорму("Документ.НужныйНамДокумент.Форма.ФормаДокумента",ПараметрыДок);
    ФормаДок.Прочитать(); //Возможно, что обновить данные на форме можно каким-то другим способом, но я его не знаю)

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

    Процедура ЗаполнитьДанными(ОбъектНазначения)
    НашДокумент = ОбъектНазначения; //НашДокумент - реквизит на форме
    КонецПроцедуры

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

А вообще в данном случае лучше было использовать ВызовСерверногоМетода, если конечно вы не захотите добавить, например, вопрос пользователю.