Добрый день. Подскажите пожалуйста, какой запрос правильнее использовать для получения остатков на заданный момент времени? В результате всегда выдают одно и тоже, по скорости первый на 1% быстрее. По написанию, отличаются только по обращению к различным виртуальным таблицам.
[code] ТекстЗапроса = " |SET NOCOUNT ON |SELECT ОстаткиТМЦОстаткиОбороты.Фирма [Фирма $Справочник.Фирмы] | , ОстаткиТМЦОстаткиОбороты.Склад [Склад $Справочник.Склады] | , ОстаткиТМЦОстаткиОбороты.Номенклатура [Номенклатура $Справочник.Номенклатура] | , ОстаткиТМЦОстаткиОбороты.ЦенаПрод | , ОстаткиТМЦОстаткиОбороты.Сотрудник [Сотрудник $Справочник] | , Sum(ОстаткиТМЦОстаткиОбороты.КоличествоКонечныйОстаток) Количество |FROM НаТА=0,":ТекДок~","")+",,,,"+ ?(НужныФирмы<>0,"(Фирма IN (SELECT Val FROM #текФирма)) AND","")+ ?(НуженСклад<>0,"(Склад IN (SELECT Val FROM #текСклад)) AND","")+" | (Номенклатура IN (SELECT val FROM #СпЗн)),,) AS ОстаткиТМЦОстаткиОбороты |GROUP BY ОстаткиТМЦОстаткиОбороты.Фирма | , ОстаткиТМЦОстаткиОбороты.Склад | , ОстаткиТМЦОстаткиОбороты.Номенклатура | , ОстаткиТМЦОстаткиОбороты.Сотрудник | , ОстаткиТМЦОстаткиОбороты.ЦенаПрод |HAVING (Sum(ОстаткиТМЦОстаткиОбороты.КоличествоКонечныйОстаток)<>0) |";[/code] или [code] ТекстЗапроса = " |SET NOCOUNT ON |SELECT ОстаткиТМЦОстатки.Фирма [Фирма $Справочник.Фирмы] | , ОстаткиТМЦОстатки.Склад [Склад $Справочник.Склады] | , ОстаткиТМЦОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура] | , ОстаткиТМЦОстатки.ЦенаПрод ЦенаПрод | , ОстаткиТМЦОстатки.Сотрудник [Сотрудник $Справочник] | , Sum(ОстаткиТМЦОстатки.КоличествоОстаток) Количество |FROM $РегистрОстатки.ОстаткиТМЦ("+?(ОстаткиНаТА=0,":ТекДок~","")+",,"+ ?(НужныФирмы<>0,"(Фирма IN (SELECT Val FROM #текФирма)) AND","")+ ?(НуженСклад<>0,"(Склад IN (SELECT Val FROM #текСклад)) AND","")+" | (Номенклатура IN (SELECT Val FROM #СпЗн)),,) AS ОстаткиТМЦОстатки |GROUP BY ОстаткиТМЦОстатки.Фирма | , ОстаткиТМЦОстатки.Номенклатура | , ОстаткиТМЦОстатки.Склад | , ОстаткиТМЦОстатки.ЦенаПрод | , ОстаткиТМЦОстатки.Сотрудник |HAVING (Sum(ОстаткиТМЦОстатки.КоличествоОстаток)<>0) |"; [/code]
|