Имя: Пароль:
1C
1С v8
Оптимизация запроса
0 VladSt
 
23.12.15
10:05
Добрый день

Вот пример оригинального запроса:

ВЫБРАТЬ
    уатОстаткиГСМнаТСОстатки.ТС КАК ТС,
    уатОстаткиГСМнаТСОстатки.ТС.ГосударственныйНомер КАК ТСГосНомер,
    уатОстаткиГСМнаТСОстатки.ТС.ГаражныйНомер КАК ТСГарНомер,
    уатОстаткиГСМнаТСОстатки.ГСМ КАК ГСМ,
    ВЫБОР
        КОГДА &ДатаНач = ДАТАВРЕМЯ(1, 1, 1)
            ТОГДА 0
        ИНАЧЕ уатОстаткиГСМнаТСОстатки.КоличествоОстаток
    КОНЕЦ КАК КоличествоНачальныйОстаток,
    0 КАК ВыданоСоСклада,
    0 КАК ВыданоНаличные,
    0 КАК ВыданоПластиковаяКарта,
    0 КАК ВыданоПоставщик,
    0 КАК РасходПоНорме,
    0 КАК РасходПоФакту,
    0 КАК КоличествоКонечныйОстаток,
    0 КАК ВозвратНаСклад,
    0 КАК ВводОстатков,
    &ДатаНач КАК Период,
    NULL КАК Регистратор,
    "ГСМ" КАК ВидГСМ,
    NULL КАК БылоДвижение
ИЗ
    РегистрНакопления.уатОстаткиГСМнаТС.Остатки(&ДатаНач, ) КАК уатОстаткиГСМнаТСОстатки

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

ВЫБРАТЬ
    уатОстаткиГСМнаТСОстатки.ТС,
    уатОстаткиГСМнаТСОстатки.ТС.ГосударственныйНомер,
    уатОстаткиГСМнаТСОстатки.ТС.ГаражныйНомер,
    уатОстаткиГСМнаТСОстатки.ГСМ,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    уатОстаткиГСМнаТСОстатки.КоличествоОстаток,
    0,
    0,
    &ДатаКон,
    NULL,
    "ГСМ",
    NULL
ИЗ
    РегистрНакопления.уатОстаткиГСМнаТС.Остатки(&ДатаКон, ) КАК уатОстаткиГСМнаТСОстатки


Ребята, подскажите почему сделано именно так.
Объединены два запроса обращения к одному регистру накопления. Только из первого получаем остатки на дату начала, а из второго на дату окончания.
А почему было не сделать одним запросом ОстаткиИОбороты на дату начала и окончания:
РегистрНакопления.уатОстаткиГСМнаТС.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, ДвиженияИГраницыПериода, )
1 rphosts
 
23.12.15
10:10
(0) потому-что нет более тормозной виртуальной таблицы чем остатки и обороты. Е.Гилёв ещё когда говорил что быстрее объединять остатки входящие, обороты (а конечные рассчитывать) чем использовать остатки и обороты.

и рарусовский 1С-УАП ещё та штучка(внедрял), успехов!
2 hhhh
 
23.12.15
10:11
а в чем вопрос? Понятно, что ОстаткиИОбороты - это огромная большая дура, она в 100 раз больше, чем просто Остатки. Конечно, лучше 2 запроса по остаткам.
3 VladSt
 
23.12.15
10:17
Я так и предполагал, но хотел убедить
Спасибо