v7: 1С++ получить остаток на дату полученную в запросе #591984


#0 by Rom_Kat
SELECT CAST(LEFT(Жур.Date_Time_IDDoc, 8) as DateTime) as ДатаОплаты ,(SELECT Рег.СуммаУпрОстаток FROM $РегистрОстатки.Покупатели(CONVERT(varchar,LEFT(Жур.Date_Time_IDDoc, 8), 112),                                    INNER JOIN $Справочник.Контрагенты СпрКонр ON $СпрКонр.ОсновнойДоговор=Договор AND СпрКонр.ID=:ВыбКонтрагент, , Договор, СуммаУпр) Рег) AS ОстатокЗадолженности FROM $ДокументСтроки.ДневнойОтчет AS ДокСтр INNER JOIN _1SJourn as Жур ON Жур.IDDoc = ДокСтр.IDDoc WHERE $ДокСтр.Вид=:ОплатаКлиент AND SUBSTRING($ДокСтр.Субконто2, 7, 9)=:ВыбКонтрагент Meta name parser error: недопустимое значение параметра "$РегистрОстатки.Покупатели" Есть возможность побороть метапарсер?
#1 by Rom_Kat
есть кто здесь?
#2 by Ёпрст
либо top 1 в подзапросе, либо суммируй
#3 by ДенисЧ
имхается мне, что не прокатит так напрямую
#4 by Rom_Kat
то все работает. я думаю что видимо
#5 by Rom_Kat
или я не понял что ты имеешь ввиду?
#6 by Ёпрст
ну тогда руками напиши коррелированный подзапрос заместо виртуальной РегистрОстатки.
#7 by Ёпрст
подзапрос должен возвращать 1 запись
#8 by Rom_Kat
так и поступлю. А есть где подсмотреть?
#9 by Ёпрст
+7 точнее, 1 значение
#10 by Rom_Kat
здесь когда-то было. теперь не нахожу.
#11 by Rom_Kat
он и возвращает. Мета парсер не хавает CONVERT(varchar,LEFT(Жур.Date_Time_IDDoc, 8), 112)
#12 by Rom_Kat
нашел .
#13 by Ёпрст
конверт там не при чем.. там сам коррелированный подзапрос не может выполнится
#14 by Ёпрст
а так, тупо посмотри текст запроса с параметром через Отладка и переделай его на Жур.date
#15 by PZh
Это потому, что парсер использует запрос в образе даты (datetime для таблички итогов) и в образе текста (char для таблички движений). Так что никакие расчетные выражения внутри запроса - не прокатывают... Нужно рассмотреть 3 случая: 1. Запрос на ТА 2. Запрос на дату ближе к концу периода 3. Запрос на дату ближе к началу периода Облачи это в отдельную функцию и выложи ее здесь :)
#16 by Mikeware
ТС, чего тебе надо? я, честно говоря, так и не понял. вроде даже с датой вида ггггммдд метапорсер вполне себе справляется зачем конверитть в датетайм?
#17 by Ёпрст
я не помню ужо, но вроде как метапарсер только явный параметр :Парам жуёт в виртуальной табличке, всякие там подстановки из полей других запросов не прокатывают
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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