|
v7: Остатки и класс прямой запрос | ☑ | ||
---|---|---|---|---|
0
zenon46
28.12.19
✎
17:53
|
Доброго дня!
Использую класс прямой запрос для получения таблицы остатков, но столкнулся с проблемой отдельным полем нужно вывести код номенклатуры. Но валится ошибка "Meta name parser error: неизвестное метаимя или алиас "$SC84"" Запрос : |SELECT | СпрНоменклатура.Code [Код], | COUNT(*) as КолВо |FROM | $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,:КонДата~,День Дополнение,ДвиженияИГраницыПериода,(Номенклатура IN (SELECT Val FROM #TempTable)) AND (Фирма = :ВбрФирма),(Номенклатура),(Количество)) РегистрОстаткиОбороты |INNER JOIN | $Справочник.Номенклатура AS СпрНоменклатура ON СпрНоменклатура.ID = РегистрОстаткиОбороты.Номенклатура |WHERE | (РегистрОстаткиОбороты.КоличествоКонечныйОстаток > 0) OR (((РегистрОстаткиОбороты.КоличествоПриход) <> 0 AND (РегистрОстаткиОбороты.КоличествоРасход <>0)) AND (РегистрОстаткиОбороты.КоличествоКонечныйОстаток = 0)) |"; без | СпрНоменклатура.Code [Код], и |INNER JOIN | $Справочник.Номенклатура AS СпрНоменклатура ON СпрНоменклатура.ID = РегистрОстаткиОбороты.Номенклатура работает, но от результата толку то нет одна цифра |
|||
1
Sserj
28.12.19
✎
18:00
|
Если запрос через ПрямойЗапрос, то нельзя использовать $Справочник.Номенклатура и идентификаторы полей. Т.е. должно быть:
Справочник.Номенклатура КАК СпрНоменклатура ПО $СпрНоменклатура.ТекущийЭлемент = РегистрОстаткиОбороты.Номенклатура И соответственно в полях: SELECT $СпрНоменклатура.Код КАК [Код], COUNT(*) as КолВо |
|||
2
zenon46
28.12.19
✎
18:01
|
Так вот сам элемент выводит :
|SELECT | РегистрОстаткиОбороты.Номенклатура [Номенк $Справочник.Номенклатура], | COUNT(*) as КолВо |FROM | $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,:КонДата~,День Дополнение,ДвиженияИГраницыПериода,(Номенклатура IN (SELECT Val FROM #TempTable)) AND (Фирма = :ВбрФирма),(Номенклатура),(Количество)) РегистрОстаткиОбороты |WHERE | (РегистрОстаткиОбороты.КоличествоКонечныйОстаток > 0) OR (((РегистрОстаткиОбороты.КоличествоПриход) <> 0 AND (РегистрОстаткиОбороты.КоличествоРасход <>0)) AND (РегистрОстаткиОбороты.КоличествоКонечныйОстаток = 0)) |GROUP BY | РегистрОстаткиОбороты.Номенклатура А соединятся с таблицей справочника не хочет |
|||
3
zenon46
28.12.19
✎
18:02
|
(1) плюсую, попробую
|
|||
4
zenon46
28.12.19
✎
18:08
|
Да, вот так работает :
|SELECT | $СпрНоменклатура.Код AS [Код], | COUNT(*) AS КолВо |FROM | $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,:КонДата~,День Дополнение,ДвиженияИГраницыПериода,(Номенклатура IN (SELECT Val FROM #TempTable)) AND (Фирма = :ВбрФирма),(Номенклатура),(Количество)) РегистрОстаткиОбороты |INNER JOIN | Справочник.Номенклатура AS СпрНоменклатура ON $СпрНоменклатура.ТекущийЭлемент = РегистрОстаткиОбороты.Номенклатура |WHERE | (РегистрОстаткиОбороты.КоличествоКонечныйОстаток > 0) OR (((РегистрОстаткиОбороты.КоличествоПриход) <> 0 AND (РегистрОстаткиОбороты.КоличествоРасход <>0)) AND (РегистрОстаткиОбороты.КоличествоКонечныйОстаток = 0)) |GROUP BY | $СпрНоменклатура.Код |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |