Имя: Пароль:
1C
1C 7.7
v7: Группировка по горизонтали и вертикали
,
0 Anempadest
 
22.10.13
18:01
Делаю отчёт по складским остаткам. Делаю запрос к остаточному регистру Запасы. Регистр имеет измерения: Запас и Склад.
Нужны:
1. Вертикальная группировка по типу запаса (реквизит элемента справочника Запасы).
2. Горизонтальная группировка по складам.

Напомните, пожалуйста. Возможно ли такое простым перебором группировок запроса?
Либо нужно создавать несколько запросов: для заполнения шапки и итоговой   строки, для заполнения строк, для заполнения итоговым значений по типа запаса.
Прошу напомнить.
1 Ёпрст
 
22.10.13
18:02
открыть типовую шахматку.
2 Джордж1
 
22.10.13
18:02
можно
3 Anempadest
 
22.10.13
18:04
Простите, но под руками ничего типового нет. А шахматка строится вообще не так. Вы уж меня простите.
4 Джордж1
 
22.10.13
18:05
Группировка Склад Все ВошедшиеВЗапрос - вот это не забудь использовать
5 Anempadest
 
22.10.13
18:05
Пример того, что должно быть:

Запас ЕдИзм Склад1 Склад2 Склад3 Всего
Материалы
Материал1
Материал2
Материал3
Итого Материалы
Товары
Товар1
Товар2
Товар3
ИтогоТОвары
Итого
6 GreyK
 
22.10.13
18:07
(0)
"Группировка ТипЗапаса все ВошедшиеВЗапрос"
7 GreyK
 
22.10.13
18:08
(5) Тогда
"Группировка Склад все ВошедшиеВЗапрос"
8 Квиджибо
 
22.10.13
18:11
(1) +1!
9 Джордж1
 
22.10.13
18:13
(8)Шахматка она же по БИ строится должна
10 Ёпрст
 
22.10.13
18:20
(9) че ?
:)
11 Anempadest
 
22.10.13
18:23
Джордж1 прав. Я строю отчёт по регистру, а не по БИ.
12 Anempadest
 
22.10.13
18:24
Насколько я помню, в регистре нельзя обратиться к нижнему уровню группировки, не выбрав верхний.
13 Ёпрст
 
22.10.13
18:24
При чем тут БИ ?
Ты Тис вообще типовой когда нить открывал , не ?
Там есть торговая шахматка.. открой его и прозрей!
:)))
14 Anempadest
 
22.10.13
18:28
Ребята, я сюда спустя 100 лет пришёл не для того, чтобы кормит ь местных троллей.
Мне срочно нужна помощь. Нужно в семёрке построить отчёт.
Да, я идиот, у меня нет типовой ТиС и вообще я 1С не занимаюсь уже 3 года.
Если кто может, прошу помочь посмтроить отчёт именно по той форме, что я привёл в пример.
15 Ёпрст
 
22.10.13
18:29
поправить типовой отчет гораздо проще и быстрее, чем писать свой с нуля.
16 Anempadest
 
22.10.13
18:31
Хорошо, возьмём за основу торговую шахматку. Если я правильно представляю, что это, то не подходит.
Да, в моём отчёте тоже запасы по вертикали и склады по горизонтали. Но по вертикали мне ещё нужно вывести промежуточные итоги по каждой группе запасов.
17 Ёпрст
 
22.10.13
18:31
Если охота писать лисапед, то группировка показатель ВСЕ (или ВСЕ вошедшиеВЗапрос) в помощь + в НачалоВыборки для шапки отчета в помощь.
Ну и запрос можно еще в ТЗ выгрузить, поиметь список складов и потом уже, при обходе группировке по номенклатуре позиционироваться в выборке через Получить.
18 Anempadest
 
22.10.13
18:32
(15) Под рукой ничего типового нет. Быстрее найти с нуля. Тем более, конфа самописная.
19 GreyK
 
22.10.13
18:33
(18)
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Склад = Регистр.ОстаткиТоваров.Склад;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
    |Функция МоёЗначениеИзТЗ1 = Приход(ОстатокТовара);
    |Группировка Склад все ВошедшиеВЗапрос;
    |Группировка Товар;
    |"//}}ЗАПРОС
20 Anempadest
 
22.10.13
18:34
То есть простым перебором группировок не получится? Нужно ТЗ приплетать? Я так и думал :(
21 Ёпрст
 
22.10.13
18:36
(20) получиться, за 2 прохода..
22 Ёпрст
 
22.10.13
18:36
тебе придётся менять группировки местами для этого
23 Ёпрст
 
22.10.13
18:37
но проще - ИТЗ + Группировать + вывод.
А значения для ИТЗ хоть чорным, хоть прямым запросом получить.
24 Джинн
 
22.10.13
18:38
Ептыть, ВывестиСекцию - ПрисоединитьСекцию. В типовом ТиС подобные отчеты были.
25 GreyK
 
22.10.13
18:43
(20) Эту строчку:
    |Функция МоёЗначениеИзТЗ1 = Приход(ОстатокТовара);
можешь убрать, она для другой ветки форума была написана.
26 GreyK
 
22.10.13
18:45
+(25) Ну и конечно прав (22), группировки надо поменять местами.
27 Anempadest
 
22.10.13
18:46
Я понял, Ёпрст. Нужно настроить отчёт для выведения запасов. И каким-то хитрым способов выдёргивать из него итоги по типам запасов.
Буду думать.
28 GreyK
 
22.10.13
18:50
(27) Про "каким-то хитрым способов" уточни пж-ста. Вроде добавки простой группировки по виду запаса хватает.
29 Anempadest
 
22.10.13
19:00
Задача решилась оригинальным способом. Убедил заказчика не выводить промежуточные итоги по Запас.ТипЗапаса. Общее количество по ТипуЗапаса ничего не даёт. Если нужно посмотреть общую сумму остатка по ТипуЗапаса, то это редкий случай, для которого можно построить отдельный отчёт. Этот отчёт нужен для того, чтобы быстро увидеть, сколько и каких запасов осталось на каких складах. Визуальное разделение по ТипЗапаса организую.
Всем спасибо.
30 Anempadest
 
22.10.13
19:09
(28) Точно не могу сказать. Может быть, можно поступить так:
1) Сделать запрос.
2) Перебрать запрос, но значения занести в многоуровневую ТЗ. Наименование колонки ТЗ соответствует идентификатору склада.
3) Перебрать ТЗ и значения вывести в отчёт.
4) Чтобы получить итог по ТипуЗапаса и по Складу, делаю Тз.Итог("МойСклад").
Наверно, так.
31 GreyK
 
22.10.13
19:12
(30) Добавь ещё группировки по группам элементов и будет каша-малаша :)
32 Anempadest
 
22.10.13
19:13
Не :)
33 Anempadest
 
22.10.13
19:17
(25) >Вроде добавки простой группировки по виду запаса хватает.

Смотри. Строим запрос с такими группировками:
1. Суть (тип запаса)
2. Запас
3. Склад

Вопрос: Как перебрать группировки уровня 3 Склад для группировки 1 Суть в обход группировки 2 Запас?

В лоб не получится.
34 Злопчинский
 
23.10.13
02:23
формируй плоскую таблицу без всяких группировок и подсовывай
http://infostart.ru/public/14794/
35 Anempadest
 
23.10.13
11:53
(21) Задачку решил. Честолюбие заставило сделать отчёт таким, как изначально желалось.
Запрос к базе выполняется один. Но для получения промежуточных итогов по Суть и Итого сделал выгрузку в ТЗ и сворачивание.
Работает.
2 + 2 = 3.9999999999999999999999999999999...