Имя: Пароль:
1C
1С v8
Заполнение столбцов таблицы значений
0 GOshaSaveiko
 
03.04.12
16:24
Всем привет.
В регистре сведений есть такие записи:
Серия | Участок | Дата
--------------------------
123   |    1    | 12.03.12
123   |    2    | 15.03.12
123   |    3    | 17.03.12

Мне нужно "сгоризонталить" это в такую таблицу:
Серия  |  Уч. 1  |  Уч. 2  | Уч. 3
-------------------------------------
123    | 12.03.12| 15.03.12| 17.03.12

В последствии я хочу выгрузить это все во временную таблицу, и уже к ней обращаться в других запросах.

Как лучше это сделать? Я пробовал свернуть - но выборка, программное растусовывание по столбцам и сворачивание выполняются очень медленно.
Может есть способ сделать это побыстрее?
1 КМ155
 
03.04.12
16:26
(0) 366 левых соединений
2 Kashemir
 
03.04.12
16:27
А как это ты будешь обращаться к таблице с произвольным количеством колонок в других запросах ?
3 GOshaSaveiko
 
03.04.12
16:31
(2) - Не-не-не... Я забыл написать - Участков строго 3 - и более того, они тут в перечислениях. Т.е. ни больше, ни меньше. Проблема с левыми соединениями состоит вот в чем: кроме этих колонок в регистре сведений - есть еще одно измерение. И отбор в других запросах нужно производить БЕЗ него. А из-за этого все тормозит. Без одного измерения он ищет оч медленно. Вот я и подумал - выгрузить все без этого измерения в ТЗ, запихнуть эту радость во временную таблицу, и выбирать оттуда.
4 Kashemir
 
03.04.12
16:33
Тю ну через выбор распиши 3 поля и сверни по максимум к примеру
5 GOshaSaveiko
 
03.04.12
16:36
(4) Сейчас все работает левыми соединениями - т.е. я выбираю ЛС - дату 1 участка, второго, и третьего. Но из-за того, что мне не нужно учитывать 1 столбец - он выбирает их оч долго, т.к. без одного измерения лопатит.
Или я не понял вашего предложения?
6 Kashemir
 
03.04.12
16:38
ВЫБРАТЬ
   ТЗ.Серия,
   МАКСИМУМ(ВЫБОР
           КОГДА ТЗ.Участок = 1
               ТОГДА ТЗ.ДатаД
           ИНАЧЕ NULL
       КОНЕЦ) КАК Поле1,
   МАКСИМУМ(ВЫБОР
           КОГДА ТЗ.Участок = 2
               ТОГДА ТЗ.ДатаД
           ИНАЧЕ NULL
       КОНЕЦ) КАК Поле2,
   МАКСИМУМ(ВЫБОР
           КОГДА ТЗ.Участок = 3
               ТОГДА ТЗ.ДатаД
           ИНАЧЕ NULL
       КОНЕЦ) КАК Поле3
ИЗ
   ТЗ КАК ТЗ

СГРУППИРОВАТЬ ПО
   ТЗ.Серия
7 GOshaSaveiko
 
03.04.12
17:53
(6) - спасибо тебе, добрый человек. =)