Написал вот такой код
Процедура СформироватьПоПоставщикам()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Обрабатывать НеПомеченныеНаУдаление;
|Родитель = Документ.НедостачаТовара.Товар.Родитель;
|Контрагент = Документ.НедостачаТовара.Контрагент;
|Товар = Документ.НедостачаТовара.Товар;
|ЕдВес = Документ.НедостачаТовара.Единица;
|Количество = Документ.НедостачаТовара.Количество;
|Функция КоличествоСумма = Сумма(Количество);
|Условие(Контрагент в ВыбКонтрагент1);
|Условие(Товар в ВыбПоставщики);
|Группировка Родитель;
|Группировка Товар без групп;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ТаблПоставщики");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
ОбщВес = 0;
ОбщВесШт = 0;
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей Контрагент
Таб.ВывестиСекцию("Поставщик");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Товар
Таб.ВывестиСекцию("Товар");
Если Запрос.ЕдВес<>"шт."
Тогда ОбщВес = ОбщВес + Запрос.КоличествоСумма;
Иначе ОбщВесШт = ОбщВесШт + Запрос.КоличествоСумма;
КонецЕсли;
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("ТаблПоставщики", "");
КонецПроцедуры
проблема в том что данный кусок
Если Запрос.ЕдВес<>"шт."
Тогда ОбщВес = ОбщВес + Запрос.КоличествоСумма;
Иначе ОбщВесШт = ОбщВесШт + Запрос.КоличествоСумма;
не работает. Он все суммирует как кг. А мне надо что отделально кг а отдельно шт. Кто скажет где ошибка?