Имя: Пароль:
1C
1С v8
Разложить регистратор по колонкам и сгруппировать
0 Chum
 
20.11.13
12:09
Коллеги, задачка такая:
Есть регистр сведений, два регистратора, три измерения.
Нужно получить таблицу вида:
ДокРег1|Докрег2|Изм1|Изм2|Изм3

ДокРег1|Пусто|Изм1|Изм2|Изм3
Пусто|ДокРег2|Изм1|Изм2|Изм3

Делаю ВЫБОР и ССЫЛКА в запросе, но получается шахматная доска, а нужно как-то свернуть первые две колонки по измерениям:
ДокРег1|Пусто|Изм1|Изм2|Изм3
Пусто|ДокРег2|Изм1|Изм2|Изм3

В большинстве случаев для одного набора измерений существует записи по обоим регистраторам, но бывают варианты, что для одной группы измерений есть только один регистратор. В последнем случае строка в таблице должна выглядеть так:
ДокРег1|Пусто|Изм1|Изм2|Изм3
или
Пусто|ДокРег2|Изм1|Изм2|Изм3

Подскажите решение, пожалуйста
1 Wobland
 
20.11.13
12:11
тут соединять нужно
2 1dvd
 
20.11.13
12:11
>>два регистратора

Две ДокументСсылки или таки два объекта метаданных?
3 Chum
 
20.11.13
12:14
(2) два объекта, т.е. два вида документов
4 M_Flint
 
20.11.13
12:17
соединять сам с собой по изм1,изм2,изм3
5 exwill
 
20.11.13
12:21
1. Сгруппировать по Док1,Изм1,Изм2,Изм3
2. Сгруппировать по Док2,Изм1,Изм2,Изм3
3. Сделать полное соединение первого со вторым.
6 Рэйв
 
20.11.13
12:23
(0) Может так?


Выбор Когда Регитсратор Ссылка Документ.Вид1 Тогда
         Регистратор
      Иначе
         ""
Конец Док1,
Выбор Когда Регитсратор Ссылка Документ.Вид2 Тогда
         Регистратор
      Иначе
         ""
Конец Док2
7 Chum
 
20.11.13
12:26
(6) так получается шахматка, т.к. пустая строка и ссылка не складываются
8 Chum
 
20.11.13
12:26
(5) примером не обрадуешь?
9 Рэйв
 
20.11.13
12:34
(7)Так если у тебя две колонки так и должно быть. Если хочешь чтобы было без пусто, тогда выводи регистраторы в одной колонке
10 exwill
 
20.11.13
12:35
ВЫБРАТЬ РАЗЛИЧНЫЕ док1 как док,изм1,изм2,изм3
ПОМЕСТИТЬ Т1
ИЗ Таб;
ВЫБРАТЬ РАЗЛИЧНЫЕ док2 как док,изм1,изм2,изм3
ПОМЕСТИТЬ Т2
ИЗ Таб;
ВЫБРАТЬ Т1.док,Т2.док,изм1,изм2,изм3
ИЗ Т1
ПОЛНОЕ СОЕДИНЕНИЕ
Т2
ПО Т1.Изм1=Т2.Изм1
И Т1.Изм2=Т2.Изм2
И Т1.Изм3=Т2.Изм3
11 Chum
 
20.11.13
13:47
(10) exwill, спасибо за наколку. Вроде получилось то, что нужно, только немного подправил твой пример.

Сделал две таблицы:
1. для ДокРег1 с измерениями
2. для ДокРег2 с измерениями

а потом делаю полное соединение с таблицей самого регистра.
Закон Брукера: Даже маленькая практика стоит большой теории.