|
v7: 1С 7,7 в запросе свернуть одинаковые строки | ☑ | ||
---|---|---|---|---|
0
aleksander1sk
26.08.15
✎
10:38
|
Есть запрос:
//******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Продажи = Регистр.Продажи.Товар; |Продажи1 = Регистр.Продажи.ТочкаДоставки; |Сумма = Регистр.Продажи.Сумма; |ТП = Регистр.Продажи.ТП; |Товар = Регистр.Продажи.Товар; |дкРасходнаяНакладная = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.ТекущийДокумент; |Функция СуммаСумма = Сумма(Сумма); |Функция Счётчик = Счётчик(); |Группировка ТП; |Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки; |Условие(ТП в ВыбТП); |Условие(Товар в ВыбТовар); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей ТП Таб.ВывестиСекцию("ТП"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей дкРасходнаяНакладная Таб.ВывестиСекцию("дкРасходнаяНакладная"); КонецЦикла; КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры Когда выводит таблицу, нужно сделать так, чтобы одинаковые строки отображались только раз, а сумма продаж суммировалась, то есть: Было: Магазин1 500 Магазин2 300 магазин2 300 Нужно: Магазин1 500 Магазин2 600 |
|||
1
Злопчинский
26.08.15
✎
10:51
|
ТП - тупая пилотка? - расшифруй уже смысл, потому что пример вывода информации не соответсвует тексту запроса - гле группировка, которая стоит над "магазинами"...?
Если все так как ты написал то группировка ТП детализирует пункты доставки и не дает им свернуться |
|||
2
aleksander1sk
26.08.15
✎
10:54
|
(1) ТП - торговый представитель
|
|||
3
Злопчинский
26.08.15
✎
10:57
|
ну очевидно (?), что с магазин2 работало два разных ТП - поэтому Магазин2 и не суммируется - так как относятся к разным ТП.
|
|||
4
Злопчинский
26.08.15
✎
10:58
|
сделай выгрузкой запроса тупую плоскую таблицу (ТЗ) вида:
ПредставительN МагазинX Сумма и подсунь с передачей параметров в универсальный отчет по ТЗ: http://catalog.mista.ru/public/14794/ - и мышкой строй лбые отчеты с разным порядком группировок/шахматки |
|||
5
aleksander1sk
26.08.15
✎
11:03
|
(3) Проблема в том, что это как раз 1 торговый представитель, и по нему не сумирует.
|
|||
6
DCKiller
26.08.15
✎
11:10
|
(5) Значит, было 2 разных накладных
|
|||
7
Дотошный
26.08.15
✎
11:12
|
Вот эта группировка
|Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки; не вполне отвечает Вашим потребностям ИМХО |
|||
8
aleksander1sk
26.08.15
✎
11:14
|
(6) Правильно, нужно как то их свернуть в одну строку
|
|||
9
Злопчинский
26.08.15
✎
11:15
|
Приведи скриншот ОРИГИАНЛЬНОЙ печформы, получающейся по запросу
|
|||
10
DCKiller
26.08.15
✎
11:19
|
(8) Убери вторую группировку
|
|||
11
aleksander1sk
26.08.15
✎
11:27
|
http://joxi.ru/Vm65kGLIp6BqrZ
Если убираю вторую группировку, то не показывает точки доставки вообще. |
|||
12
Злопчинский
26.08.15
✎
11:27
|
(5) Не верю!
|
|||
13
Злопчинский
26.08.15
✎
11:31
|
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Сумма = Регистр.Продажи.Сумма; |ТП = Регистр.Продажи.ТП; |дкРасходнаяНакладная = Регистр.Продажи.ТекущийДокумент.дкРасходнаяНакладная.ТекущийДокумент; |Функция СуммаСумма = Сумма(Сумма); |Группировка ТП; |Группировка дкРасходнаяНакладная упорядочить по дкРасходнаяНакладная.рПунктДоставки; |Условие(ТП в ВыбТП); |Условие(Товар в ВыбТовар); |"//}}ЗАПРОС - запускай вот такой, должно быть ок |
|||
14
aleksander1sk
26.08.15
✎
11:31
|
(12) http://joxi.ru/Drl7EG6FgD4qAP если убрать вторую группировку
|
|||
15
aleksander1sk
26.08.15
✎
11:35
|
(13) http://joxi.ru/Y2Lp8bMF5z9j26
Все равно |
|||
16
Злопчинский
26.08.15
✎
12:37
|
(15) ну, если не заборол и все плохо то стучись в скайп Zlopun после 18-00 и готовь ид/пароль для тима... должно же все работать...
|
|||
17
Злопчинский
26.08.15
✎
12:38
|
.. или я тупой - такое тоже нельзя сбрасывать со счетов...
. тьфу я точно тупой глаз замылен все понятно |
|||
18
Злопчинский
26.08.15
✎
12:42
|
Группировка у тебя по РАСХОДНОМУ ДОКУМЕНТУ.
а по точкам доставки всего лишь СОРТИРОВКА |
|||
19
Злопчинский
26.08.15
✎
12:44
|
|Период с ВыбНачПериода по ВыбКонПериода;
|Сумма = Регистр.Продажи.Сумма; |ТП = Регистр.Продажи.ТП; |ТочкаДоставки= Регистр.Продажи.ТочкаДоставки; //здесь напи |Функция СуммаСумма = Сумма(Сумма); |Группировка ТП; |Группировка ТочкаДоставки упорядочить по ТочкаДоставки.Наименование; |Условие(ТП в ВыбТП); |"//}}ЗАПРОС |
|||
20
Злопчинский
26.08.15
✎
12:44
|
пойду застрелюсь от стыда...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |