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
ИЗ
РегистрНакопления.уатОстаткиГСМнаТС.Остатки(&ДатаКон, ) КАК уатОстаткиГСМнаТСОстатки
Ребята, подскажите почему сделано именно так.
Объединены два запроса обращения к одному регистру накопления. Только из первого получаем остатки на дату начала, а из второго на дату окончания.
А почему было не сделать одним запросом ОстаткиИОбороты на дату начала и окончания:
РегистрНакопления.уатОстаткиГСМнаТС.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Период, ДвиженияИГраницыПериода, )
|
|