Имя: Пароль:
1C
1С v8
Запрос. Период регистра сведений зависит от счета учета
0 Max Street
 
22.02.14
16:57
Запрос. Временная таблица выбирает все основные средства(ОС) и соответствующие СчетУчета.
Далее временная таблица соединяется с несколькими регистрами сведений по ОС. Я хочу в зависимости от значения СчетУчета выбирать из регистров сведений данные на разные периоды. К примеру, если СчетУчета = 01, то данные из регистра сведений за период = 31.01.14. Если СчетУчета = 02, то период = 01.01.14. Пока сделал так:

ВЫБРАТЬ
    РегистрСведений1.ОсновноеСредство,
    РегистрСведений2.СчетУчета
ПОМЕСТИТЬ ВремТаб
ИЗ
    РегистрСведений.РегистрСведений1.СрезПоследних(&КонецМесяца, ) КАК РегистрСведений1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений2.СрезПоследних(&КонецМесяца, ) КАК РегистрСведений2
        ПО РегистрСведений1.ОсновноеСредство = РегистрСведений2.ОсновноеСредство
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВремТаб.ОсновноеСредство,
    ВремТаб.СчетУчета КАК СчетУчета
ИЗ
    ВремТаб КАК ВремТаб
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений3 КАК РегистрСведений3
        ПО ВремТаб.ОсновноеСредство = РегистрСведений3.ОсновноеСредство
ГДЕ
    ВЫБОР
            КОГДА ВремТаб.СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Счет01)
                ТОГДА РегистрСведений3.Период = &ПериодНачалоМесяца
            КОГДА ВремТаб.СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Счет02)
                ТОГДА РегистрСведений3.Период = &ПериодКонецМесяца
        КОНЕЦ


но вариант так себе, т.к. кроме РегистрСведений3 еще штук 5 регистров сведений, где нужно делать тоже самое

Подскажите, пожалуйста, как сделать запрос по-другому, более  оптимально.
1 Naumov
 
22.02.14
17:00
неправильное проектирование структуры данных
2 Max Street
 
22.02.14
17:04
(1) как правильно?
Основная теорема систематики: Новые системы плодят новые проблемы.