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); Таб.Показать("Сформировать", ""); КонецПроцедуры | |
| Интернет-форум Краснодарского края и Краснодара |