Имя: Пароль:
 
1C
1С v8
СКД. Сортировка колонок, отдельно внутри группировки.
0 bolobol
 
19.09.16
16:13
Доброго дня!

Есть такой отчёт (продолжение):
По организациям некие суммы и некий список документов. Суммы и документы не связаны между собой при выборке, но каждый документ относится только к одной сумме Организации. Поэтому, получается что в строках отчёта дублируются Организация и Суммы на каждый документ организации. А столбцы документов для сумм - делят список документов. Это логично, но неудобно:

Орги / Доки / Сумма1 / Док1 / Сумма2 / Док2
-------------------------------------------
Орг1 / Док1 / 715.00 / Док1 / 115.00 / ----
Орг1 / Док2 / 715.00 / ---- / 115.00 / Док2
Орг2 / ДокА / 444.00 / ---- / 222.00 / ДокА
Орг2 / ДокБ / 444.00 / ДокБ / 222.00 / ----
Орг2 / ДокЦ / 444.00 / ДокЦ / 222.00 / ----

Колонка Доки - не нужна. Нужно только деление этой колонки. Но деление выглядит с пропусками некрасиво и "пышно".

Хотелось бы в пределах группировки по Организации и Суммам осуществить сортировку колонок Док1 и Док2 независимо друг от друга, чтоб было так:

Орги / Сумма1 / Док1 / Сумма2 / Док2
------------------------------------
Орг1 / 715.00 / Док1 / 115.00 / Док2
Орг1 / 715.00 / ---- / 115.00 / ----
Орг2 / 444.00 / ДокБ / 222.00 / ДокА
Орг2 / 444.00 / ДокЦ / 222.00 / ----
Орг2 / 444.00 / ---- / 222.00 / ----

Тогда, и записи лишнии:
Орг1 / 715.00 / ---- / 115.00 / ----
Орг2 / 444.00 / ---- / 222.00 / ----
- можно убрать будет...

Как это правильно делать?
1 Митяйский
 
19.09.16
16:48
Правильно через ОБЪЕДИНИТЬ ВСЕ запрос ставить, если между таблицей сумм и таблицей документов прямой связи нет. И не будет тебе дублей.
2 bolobol
 
19.09.16
17:28
Да ну ладно вам! Определённо же есть какая-то фишка, подобная срезу последних на все даты)
3 Alex unde
 
19.09.16
17:32
я чет не понял что не так.
Напиши как должно быть в итоге?
4 bolobol
 
19.09.16
17:44
Другими словами? Хм... Например:

У Организации Орг1 имеется два документа: Док1, Док2
У Организации Орг2 имеется три документа: ДокА, ДокБ, ДокЦ

У Организаций имеются по два обязательства:
Орг1: 715.00 и 115.00
Орг2: 444.00 и 222.00

Документы относятся к одному из обязательств:

Орги / Доки / Сумма1 / Док1 / Сумма2 / Док2
-------------------------------------------
Орг1 / Док1 / 715.00 / Док1 / 115.00 / ----
Орг1 / Док2 / 715.00 / ---- / 115.00 / Док2
-------------------------------------------
Орг2 / ДокА / 444.00 / ---- / 222.00 / ДокА
Орг2 / ДокБ / 444.00 / ДокБ / 222.00 / ----
Орг2 / ДокЦ / 444.00 / ДокЦ / 222.00 / ----

Очевидно, что в таблице имеются "лишнии" строки, увеличивающие только размер таблицы, но не смысл. Нужно получить вид:

Орги / Сумма1 / Док1 / Сумма2 / Док2
------------------------------------
Орг1 / 715.00 / Док1 / 115.00 / Док2
Орг1 / 715.00 / ---- / 115.00 / ----
Орг2 / 444.00 / ДокБ / 222.00 / ДокА
Орг2 / 444.00 / ДокЦ / 222.00 / ----
Орг2 / 444.00 / ---- / 222.00 / ----

И можно будет убрать строки:
Орг1 / 715.00 / ---- / 115.00 / ----
Орг2 / 444.00 / ---- / 222.00 / ----

Сократив тем самым излишества в таблице
5 Alex unde
 
20.09.16
09:32
По моему, в ресурсах можно использовать "Таблица значений" тогда оно должно свернуть. Попробуй, скажи что получится
6 Cyberhawk
 
20.09.16
09:40
А теперь внятно на одной картинке покажи, как есть и как должно быть
7 Митяйский
 
20.09.16
10:25
ВЫБРАТЬ
    Обязательства.Орг,
    Обязательства.СуммаОбязательства,
    Обязательства.СсылкаНаДокументСправочникИлиОткудаТамЕщеМоглаВзятьсяЭтаСумма КАК Регистратор
ИЗ
    Документы.Обязательства КАК Обязательства

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Доки.Орг,
    0,
    Доки.Док
ИЗ
    Документы.Доки КАК Доки
8 Alex unde
 
20.09.16
10:29
(7) так получится записи:
Орг1 -- Док1 -- Сумма1 --
Орг1 -- Док2 -- Сумма2 --
Орг2 -- Док1 -- 0 --

Доки в одну колонку, а он хочет в две
9 bolobol
 
20.09.16
10:32
(5) Так вот примерно такой и ждал ответ с примером, типа: на, дарю! ))
10 Митяйский
 
20.09.16
13:32
(8) Ну если бы он расписал, по какому принципу одни документы попадают в левую колонку, а другие - в правую, было бы в сто раз проще.
11 bolobol
 
20.09.16
13:35
(10) Да не будет проще. Суть-то одна, хоть как в (7), только в два столбца вывести надо, а не последовательно в одном.
12 bolobol
 
20.09.16
13:51
Альтернативный вид:

Суммы у Организаций представлены так:

Орги / Сумма1 / Сумма2
----------------------
Орг1 / 715.00 / 115.00
Орг2 / 444.00 / 222.00

К каждой сумме нужно добавить колонку возможных документов, список которых известен:

Для Орг1 / 715.00 - Док1
Для Орг1 / 115.00 - Док2

Для Орг2 / 222.00 - ДокА
Для Орг2 / 444.00 - ДокБ
Для Орг2 / 444.00 - ДокЦ

И если рассматривать левое соединение для Орг2, получим:
Орги / Доки / Сумма1 / Док1 / Сумма2 / Док2
-------------------------------------------
Орг2 / ДокБ / 444.00 / ДокБ / 222.00 / ДокА
Орг2 / ДокБ / 444.00 / ДокЦ / 222.00 / ДокА

Понятно, что при 25 документов для суммы 444.00 - для суммы 222.00 колонка будет заполнена 25-ю одинаковыми документами. А если для 222.00 будет ещё и документ ДокЫ, то таблица будет выглядеть совсем некрасиво:
Орги / Доки / Сумма1 / Док1 / Сумма2 / Док2
-------------------------------------------
Орг2 / ДокБ / 444.00 / ДокБ / 222.00 / ДокА
Орг2 / ДокБ / 444.00 / ДокЦ / 222.00 / ДокА
Орг2 / ДокБ / 444.00 / ДокБ / 222.00 / ДокЫ
Орг2 / ДокБ / 444.00 / ДокЦ / 222.00 / ДокЫ

Вот - свернуть её нужно, или получить свёрнутую...
13 Nuobu
 
20.09.16
13:55
Чтобы это убрать, нужно воспользоваться номером строки.
Делаешь поле "НомерСтроки", его выводишь в группировку по СТРОКАМ (Огранизация/НомерСтроки) и будет тебе счастье.
14 bolobol
 
20.09.16
14:07
(13) Это сложный долгий способ, проще которого - вручную обработать результат запроса и в СКД вернуть ТЗ. Отдельный вопрос "Как это сделать?"...

Или я не до конца понял изюминку применения приёма в данной задаче.
15 Nuobu
 
20.09.16
14:16
(14) Не до конца понял изюминку.
16 bolobol
 
20.09.16
14:23
(15) Типа: "самый быстрый человек планеты: а я уже вернулся"?
17 Митяйский
 
20.09.16
14:24
Я так понял идет подгонка документов и обязательств по "похожим" суммам?
18 bolobol
 
20.09.16
14:25
(17) Идёт подгонка вида отчёта под возможности СКД
19 gitotuta
 
20.09.16
14:54
тут нужно соединение по номеру строки
20 bolobol
 
20.09.16
15:00
(19) А где тут номер строки?
21 bolobol
 
20.09.16
15:00
(19) Или: номеру строки чего с чем?
22 Nuobu
 
20.09.16
15:00
(20) Нужно его добавить.
23 bolobol
 
20.09.16
15:08
(22) Это-то мы поняли. Так-то мы не тупые)
24 Митяйский
 
20.09.16
15:28
Вы не тупые, а на СКД можно и без добавлений модулей и номеров строк обойтись.

http://imgur.com/a/NmMHs

Только задача все равно упоротая какая-то.

Это должно получиться что-то типа отчета-угадайки для ленивых юзеров, которые своими шаловливыми нафигачили документов, но не проставили в них вовремя нужных реквизитов? И теперь больше нельзя, кроме как по сумме, определить принадлежность документа, а юзерам лень крыжить свои косяки вручную?
25 bolobol
 
20.09.16
15:43
(24) Это "сумма документов", а нужны строки с кликабельными расшифровками и доп информацией по документам, в общем - отдельными строками документы нужны
26 Nuobu
 
20.09.16
15:46
(25) Так ты пробовал номеромСтроки баловаться?
27 bolobol
 
20.09.16
15:47
(26) Да, вот-вот времячко проявится докрутить сортировки и гляну результат
28 bolobol
 
20.09.16
16:55
Получилось мудрёно, вместо одного запроса - теперь куча объединений, сравнительно небыстрая группировка для нумерации, сравнительно неудобное оформление конечного вида отчёта (приведение его к исходному виду, из которого он был превращён в полотнище одноколоночное), но зато - вместо 98 строк с пропусками - 31 ясная понятная строка!

Всем спасибо за участие, расходимся))