К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Группировки по группам справочника в черном запросе

Гость
0 - 31.07.2013 - 11:09
Есть черный запрос, который перебирает документы и выводит данные в простой отчет в разрезе покупателей и товаров.
Теперь приспичило, если покупатель - это группа, то вывести наименование этой группы, затем все товары, которые были проданы всем покупателям этой группы, и только затем, покупателей входящих в эту группу и их товары.
Вопрос, как сделать чтобы после группы покупателей выводились товары, а не покупатели входящие в эту группу? Что то не нашел такого в черном запросе.



Гость
1 - 31.07.2013 - 11:11
Уточнение. 1С7.7. Конфигура простенькая, полностью самописная.
2 - 31.07.2013 - 11:27
открой типовую ТиС и посмотри как сделан вывод по группам в любом типовом отчете, например "остстки ТМЦ"
.
если будет тяжко
то типа тогда так

ТипаГруппа = Документ.Контрагент.Родитель;
ТипаТовар = Документ.Товар;
Группировка ТипаГруппа;
Группировка ТипаТовар;
Гость
3 - 31.07.2013 - 12:46
К сожалению в ТиС ни одного подобного отчета нет.

Попробовал через:
ТипаГруппа = Документ.Контрагент.Родитель;

Что то похожее, но не совсем. Если в спр.Контрагенты больше 2 уровней, например 3, то выводит сначала верхнюю группу, потом вложенную группу, и только потом товары. А надо чтобы в любой группе контрагентов, независимо от уровня, выводилась эта группа, и сразу товары.
Гость
4 - 31.07.2013 - 15:32
3-Birmingem >а не пробовал
Группировка ТипаТовар все вошедшиеВзапрос;
самому сейчас не на чем потестить
Гость
5 - 31.07.2013 - 17:16
в иерархии?
6 - 01.08.2013 - 02:50
блин, вот делать мне больше нечего...
7 - 01.08.2013 - 02:50
7 минут примерно неспеша потыкать мышью
.
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//**{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ТипаГруппа = Документ.Реализация.Контрагент.Родитель;
|Номенклатура = Документ.Реализация.Номенклатура;
|Отгружено = Документ.Реализация.Сумма;
|Функция СуммаОтгружено = Сумма(Отгружено);
|Группировка ТипаГруппа Без Групп;
|Группировка Номенклатура;
|"//****ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей ТипаГруппа
Таб.ВывестиСекцию("ТипаГруппа");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Номенклатура
Таб.ВывестиСекцию("Номенклатура");
КонецЦикла;
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры


К списку вопросов






Copyright ©, Все права защищены