Есть два запроса:
Текст="
|select
|$Товары.IDD as IDD,
|--Tab.Товар as [Товар $Справочник.ТМЦ],
|sum(Tab.Остаток) as Остаток,
|sum(Tab.РасходКво) as Кво,
|sum(Tab.РасходСумма) as Сумма
|from
|(select
|r.товар as Товар,
|r.ОстатокТовараОстаток as Остаток,
|0 РасходКво,
|0 РасходСумма
|from $РегистрОстатки.ОстаткиТоваров(:ВыбДата,
| inner join $Справочник.МестаХранения СКЛ (nolock) on СКЛ.id=Склад,
| Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+" $ПустойИД and $СКЛ.IDD = :ВыбСклад,
| (Склад,Товар,Фирма),
| ОстатокТовара
|) as r
|
|union all
|
|select
|o.товар as Товар,
|0 Остаток,
|o.РасходКвоОборот as РасходКво,
|o.РасходСумОборот as РасходСумма
|from $РегистрОбороты.Обороты(:НачДата,:ОбДата~,,
| inner join $Справочник.МестаХранения СКЛ (nolock) on СКЛ.id=right(ДопИзмерение1,9),
| Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+"$ПустойИД,
| (ДопИзмерение1,Товар,Фирма),
| (РасходКво,РасходСум)) as o
|) as Tab
|inner join $Справочник.ТМЦ as Товары (nolock) on Товары.id=Tab.Товар
|group by
|$Товары.IDD
|--Tab.Товар
|having (sum(Tab.Остаток))<0
|";
и такой
Текст="
|select
|$Товары.IDD as IDD,
|--Tab.Товар as [Товар $Справочник.ТМЦ],
|sum(Tab.Остаток) as Остаток,
|sum(Tab.РасходКво) as Кво,
|sum(Tab.РасходСумма) as Сумма
|from
|(select
|r.товар as Товар,
|r.ОстатокТовараОстаток as Остаток,
|0 РасходКво,
|0 РасходСумма
|from $РегистрОстатки.ОстаткиТоваров(:ВыбДата,
| inner join $Справочник.МестаХранения СКЛ on СКЛ.id=Склад,
| Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+" $ПустойИД and $СКЛ.IDD = :ВыбСклад,
| (Склад,Товар,Фирма),
| ОстатокТовара
|) as r
|
|union all
|
|select
|o.товар as Товар,
|0 Остаток,
|o.РасходКвоОборот as РасходКво,
|o.РасходСумОборот as РасходСумма
|from $РегистрОбороты.Обороты(:НачДата,:ОбДата~,,
| inner join $Справочник.МестаХранения СКЛ on СКЛ.id=right(ДопИзмерение1,9),
| Фирма "+?(ВыбФирма.Выбран()=0,"=","<>")+"$ПустойИД,
| (ДопИзмерение1,Товар,Фирма),
| (РасходКво,РасходСум)) as o
|) as Tab
|inner join $Справочник.ТМЦ as Товары on Товары.id=Tab.Товар
|group by
|$Товары.IDD
|--Tab.Товар
|having (sum(Tab.Остаток))<0
|";
Как видим в одном (nolock) используется в другом нет.
Так вот Если сделать условие на фирму
то запрос ничего не выводит со вторым текстом а первый выводит.
по пустой фирме все нормально что первый что второй.
Что такое получается?