v7: прямые запросы 1с++. Неизвестное метаимя или алиас #745696


#0 by patapum
Продолжаю ковырять прямые запросы. Пишу следующий запрос, глядя на примеры в интернете, кажется, что все должно работать. Выдает ошибку. Подскажите, в чем не прав? Запрос: СкриптSQL = "SELECT |$ПеревозчикиСальдо.КредДокумент as [КредДокумент $Документ.Перевозка], Ошибка: Meta name parser error: неизвестное метаимя или алиас "$ПеревозчикиСальдо"
#1 by akaBrr
$ не надо
#2 by Serginio1
Пользуйся консолью. Убери $ ПеревозчикиСальдо.СуммаОстаток
#3 by patapum
, спасибо! и правда, в примерах без $, не заметил. убрал, все норм. да, $ вообще пора отменить!!! :)))
#4 by Serginio1
Вообще есть конструктор запросов. Есть консоль запросов
#5 by Эльниньо
Как вытянуть из Док реквизит? Чую, что джойн там чего-то, но нуб
#6 by Ёпрст
лефт джоин $документ.вася as вася он вася.iddoc = right(Рег.ПозицияДокумента,9)
#7 by Ёпрст
ну и в селекте $вася.реквизит as реквизит
#8 by Ёпрст
если доков много, то либо джойнить со всеми и в селекте писать select coalesce ($Вася.Реквизит,$Федя.Реквизит,....,$Наташа.Реквизит) как Реквизит или соединение с подзапросом, в котором через юнион объединить нужные виды доков
#9 by ЧеловекДуши
С каких это пор 1С++ может так работать?... Хотя мне никогда не нравилось такая самодеятельность от разработчиков 1С++, Решал проблему нормального писания запроса, без использования "оптимизаторов" кода от 1С++ :)
#10 by Эльниньо
Meta name parser error: объект не найден "$Документ.Фирма"
#11 by Абыр
"Фирма" - идентификатор документа или идентификатор реквизита документа?
#12 by Mikeware
Фирма - в журнале, а не в докумете Журнал.$ОбщийРеквизит.Фирма
#13 by ЧеловекДуши
Если Фирма общий реквизит, то это еще нечего не значит, что он доступен в общем журнале, как реквизит :)
#14 by ЧеловекДуши
Не для всех :)
#15 by Mikeware
не для всех. Но скорее всего для него именно так. Хотя с учетом LEFT JOIN $Документ.Фирма....
#16 by Абыр
, если "Фирма" - это общий реквизит с флажком "Отбор" в пофигураторе, то джойни рег с журналом. Если просто реквизит или общий без отбора, то , ,
#17 by Эльниньо
Фирма - общий реквизит Хрен с ней фирмой. Её полюбасу в измерение добавить надо. Та же ошибка с реквизитом шапки |LEFT JOIN $Документ.ПризнакНакладной as Признак (nolock) on Признак.IDdoc = right(Рег.ПозицияДокумента,9)     ПризнакНакладной - перечисление
#18 by Serginio1
Case When Рег.ВидДокумента=$ВидДокумента.ТвойДокумент Либо Джойны но что бы лишний раз не лезть в поис с условием
#19 by Mikeware
|LEFT JOIN $Документ.Накладная
#20 by Serginio1
18+ Select ЧтоТоТам From  $Документ.ПризнакНакладной as Признак (nolock) on Признак.IDdoc = right(Рег.ПозицияДокумента,9)
#21 by Mikeware
лучше  $Документ.ПРИЗРАК_НАКЛАДНОЙ!
#22 by Абыр
SELECT ...все, что надо из регистров..., $Ипполит.ПризнакНакладной FROM $РегистрОбороты.Продажи(:НачДата,:КонДата~, Документ) as Рег LEFT JOIN $Документ.ИдентификаторДокументаКРеквизитуКоторогоХочешьОбратиться as Ипполит ON Ипполит.IDDOC = right(Рег.ПозицияДокумента,9)
#23 by Эльниньо
В запросе будет 2 вида дока с реквизитом ПризнакНакладной
#24 by Ёпрст
от ты ленивый select ...все, что надо из регистров..., coalesce($Вася.ПризнакНакладной,$Федя.ПризнакНакладной,$Наташа.ПризнакНакладной) ПризнакНакладной left join $Документ.Вася as Вася (nolock) on Вася.iddoc = right(Рег.ПозицияДокумента,9)left join left join $Документ.Федя as Федя (nolock) on Федя .iddoc = right(Рег.ПозицияДокумента,9)left join left join $Документ.Наташа as Наташа (nolock) on Наташа .iddoc = right(Рег.ПозицияДокумента,9)
#25 by Ёпрст
ну там, синтаксис поправь (копипасте же)
#26 by Эльниньо
Invalid column name 'ПризнакНакладной'
#27 by Ёпрст
#28 by Ёпрст
Запрос.УстановитьТекстовыйпараметр("ВыбПризнак",Перечисление.ПризнРасхНакл.Продажа);
#29 by Ёпрст
#30 by Ёпрст
подзабывать я стал синтаксис ужо
#31 by Mikeware
так
#32 by Эльниньо
Домучил! Всем Спасибо! Ёпрсту слава!
#33 by trad
в 1с++ есть оптимизатор кода?
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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