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