v7: Прямые запросы. Таблица остатков, с отбором #715418


#0 by Oblako486
Ошибка: Meta name parser error: неизвестное метаимя или алиас "$РегПокупатели"
#1 by lamme
а что - думаешь оно  в 1С7 так называется ? есть констурктор прямых запросов для 1С7
#2 by Oblako486
дай ссылку
#3 by lamme
1Срр по-моему там где-то или в яндексе - 1С7 прямые запросы
#4 by trad
я так думаю
#5 by Эльниньо
Без КАК никак?
#6 by ДенисЧ
Наверное, этот тупой SQL не понимает твоего КАК...
#7 by trad
можно и без КАК, но у автора не в этом проблема
#8 by trad
до SQL дело не доходит, еще на подступах его Meta name parser рубит
#9 by Ёпрст
+7 это точно, не все пишут прямой запрос, используя класс ПрямойЗапрос.
#10 by AleksAnt
|From .....
#11 by spock
Петросяны :-)
#12 by Oblako486
я попробовал. Ошибка такая: Meta name parser error: неизвестное метаимя или алиас "$SC204" Я думаю проблема во внутреннем запросе, поэтому Псевдоним не назначается.
#13 by Oblako486
Я пользовался этой инструкций для вирт таблиц остатков . Может быть есть у кого-нибудь пример?
#14 by Ёпрст
для начала, надо поведать миру через что ты пытаешься выполнить запрос - через класс.ПрямойЗапрос или через одбсрекорсет
#15 by Ёпрст
отсюда будет разный синтаксис текста запроса
#16 by Oblako486
через класс ПрямойЗапрос.
#17 by Ёпрст
тогда ответ в
#18 by Oblako486
для ошибка в
#19 by trad
в этом архиве есть файл ПрямойЗапрос.doc в нем годная документация
#20 by Голубушка
#21 by Голубушка
убери $  при выборе полей .. все должно работать
#22 by Голубушка
. самое то что нужно
#24 by Oblako486
Твои оба примера не очень хорошие, потому что ты не используешь второй параметр виртуальной таблицы, в котором у меня ошибка.
#25 by Oblako486
Из это инструкции я понял, что условие лучше заключать в круглые скобки, но примера с условием нет.
#26 by Oblako486
Из это инструкции я понял, что условие лучше заключать в круглые скобки, но примера с условием нет.
#27 by Oblako486
Все равно не работает |SELECT |    $РегПокупатели.Договор AS [Договор |$Справочник.Договоры],     |            (Договор),(Количество)) AS РегПокупатели, Число БезПодготовки=0) : Meta name parser error: неизвестное метаимя или алиас "$РегПокупатели"
#28 by Oblako486
Если без $ то вот |SELECT |    РегПокупатели.Договор AS [Договор |$Справочник.Договоры],
#29 by Дык ё
это нормально :-) к добавь символ $ перед РегистрОстатки.
#30 by Дык ё
+ а лучше забей на ПрямойЗапрос и используй конструктор
#31 by Oblako486
ПрямойЗапрос::Остатки_РегистрОстатки_SQL(АссоциативныйВектор ВекторВыражения=) : Не существует ресурса: Договор
#32 by Oblako486
Дай ссылку на конструктор
#33 by Oblako486
Договор перенес на одну запятую раньше. Meta name parser error: неизвестное метаимя или алиас "$РегПокупатели"
#34 by trad
1. соединения в ВТ $РегистрОстатки класса ПрямойЗапрос должны быть пятым параметром 2. и снова
#35 by Oblako486
|ВЫБРАТЬ |    ) AS РегПокупатели, Число БезПодготовки=0) : Meta name parser error: незавершённое метаимя "$РегистрОстатки.Покупатели"
#36 by m-serg74
#37 by trad
|    $РегистрОстатки.Покупатели(, |           (,, - что это за скобка?
#38 by monsterZE
ты читал - Эффективное использование MSSQL при помощи ВК 1С.doc ? --- Виртуальные таблицы Чтобы получить остаток на некоторую дату, допустим на середину месяца, нужно объединить два запроса: Итоги на конец предыдущего месяца и Обороты с начала месяца по выбранную дату. Чтобы облегчить нам работу были придуманы, так называемые, виртуальные таблицы (не путать с представлениями VIEW), которые являются простыми макроподстановками (хотя на самом деле не такими уж и простыми. С большой вероятностью, если вы сами будете их разворачивать, то у вас получится хуже, т.к. лучше уже просто уже некуда). Существует несколько видов виртуальных таблиц Остатки, ОстаткиОбороты, Обороты. Первые 2 только для регистров остатков, 2 – для оборотного регистра. Пример: Получим остатки по складу в разрезе товаров на дату ТекстЗапроса = " |SELECT Все параметры являются необязательными, если их все опустить, получим таблицу, содержащую регистр на ТА. Однако, такой способ получения регистра выполняется немного быстрее, чем стандартный Рег.ВыгрузитьИтоги(ТЗ,1,1). Разница несущественная, но она есть. Границей расчета не обязательно должна быть какаято дата, это может быть и документ, но тогда нужно применить модификатор "~", т.е. :ГраницаРасчета~ ,где ГраницаРасчета задана как текстовый параметр полученый из СформироватьПозициюДокумента(ТекущийДокумент,-1) Соединение конструкция типа join. На языке SQL можно описать дополнительные соединения с таблицами, которые могут быть необходимы для формирования условий в следующем параметре Условие - конструкция типа where. Позволяет фильтровать результат выборки по какому либо измерению или по нескольким измерениям В выше приведенном примере в скобках указаны измерения и ресурсы, по которым строится запрос к регистру. Это позволяет уменьшить объем запроса, вернувшегося на клиента. В случае, если требуется построить запрос по нескольким измерениям или рассчитать несколько ресурсов, их указывают в скобках через запятую, например (Товар,Склад) или (Количество,СуммаУпр), либо их вообще можно пропустить ошибкой это не будет, просто в запрос попадут все измерения или все ресурсы.
#39 by Salimbek
Тут: INNER JOIN $Справочник.Договоры СпрД ON |            СпрД.ID =  Договор AND СпрД - уже обозванная таблица, и в ней уже есть поле ParentExt, поэтому выбирать его надо без "доллара". Вот если бы такого поля не было, то нужен доллар, и тогда метапарсер сходит сам в таблички, найдет нужное поле и подставит его в итоговый запрос (например, для этого стоит доллар в $Справочник.Договоры). Т.е. ответ на проблему: INNER JOIN $Справочник.Договоры СпрД ON |            СпрД.ID =  Договор AND |            СпрД.ParentExt= :впКонтрагент
#40 by Salimbek
И полностью запрос:
#41 by trad
имя ВТ должно начинаться с $ и у автора класс ПрямойЗапрос, там синтаксис ВТ несколько отличается, судя по документации
#42 by Oblako486
Взлетело через СоздатьОбъект(ODBCRecordSet) Не смог победить через класс ПрямойЗапрос
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С