Имя: Пароль:
1C
1C 7.7
v7: 1С++ Переменная не определена
0 LisaAlisa
 
05.02.18
10:30
Составляю простой запрос. Не понимаю, почему "переменная не определена"?

-- qryMaker:Отчет1.2018.02.05.11.00.22
SELECT ПоступлениеТоваров.IDDOC [Ссылка $Документ.ПоступлениеТоваров]
    , ПоступлениеТоваров.$ОбщийРеквизит.Комментарий Комментарий
    , $ПоступлениеТоваров.ВидПоступления [ВидПоступления $Перечисление.ВидыПоступления]
FROM $Документ.ПоступлениеТоваров AS ПоступлениеТоваров With (NOLOCK)
    INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON ПоступлениеТоваров.IDDOC = Журнал.IDDOC
WHERE (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) >= :ДатаНач)
    AND (Cast(Left(Журнал.DATE_TIME_IDDOC, 8) AS datetime) <= :ДатаКон)

ПоступлениеТоваров(-<<?>>- qryMaker:Отчет1.2018.02.05.11.00.22
Ожидается выражение
, <<?>>ПоступлениеТоваров.$ОбщийРеквизит.Комментарий Комментарий
Слишком много фактических параметров
, ПоступлениеТоваров<<?>>.$ОбщийРеквизит.Комментарий Комментарий
Переменная не определена (ПоступлениеТоваров)
,<<?>> $ПоступлениеТоваров.ВидПоступления [ВидПоступления $Перечисление.ВидыПоступления]
Ожидается выражение
<<?>>INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON ПоступлениеТоваров.IDDOC = Журнал.IDDOC
Неопознанный оператор
1 Chieftain
 
05.02.18
10:33
Потому, что общий реквизит в журнале
2 LisaAlisa
 
05.02.18
10:34
(1) журнал же тоже присоединяю...
3 бомболюк
 
05.02.18
10:36
комментарий то не в журнале
4 LisaAlisa
 
05.02.18
10:41
думаю, что проблема никак не связана с общими реквизитами. Убрала комментарий из запроса, результат тот же
5 Herby
 
05.02.18
10:47
исходный текст запроса выложи
6 LisaAlisa
 
05.02.18
10:59
С предыдущей ошибкой разобралась, сама обработка в дальнейшем некорректно преобразовывала запрос. Исходный в действительности такой:
SELECT ПоступлениеТоваров.IDDOC [Док $Документ.ПоступлениеТоваров]
    , Журнал.$ОбщийРеквизит.обКонтрагент [Поставщик $Справочник.Контрагенты]
    , Журнал.$ОбщийРеквизит.обКомитент [Комитент $Справочник.Контрагенты]
    , &ПоступлениеТоваровСтроки.МПЗ [МПЗ $Справочник.МПЗ]
    , Журнал.$ОбщийРеквизит.ДокументОснование [ДокОснование $Документ]
    , $ПоступлениеТоваровСтроки.СтавкаНДС [Ставка $Справочник.СтавкиНДС]
FROM $Документ.ПоступлениеТоваров AS ПоступлениеТоваров With (NOLOCK)
    INNER JOIN $ДокументСтроки.ПоступлениеТоваров AS ПоступлениеТоваровСтроки With (NOLOCK) ON ПоступлениеТоваров.IDDOC = ПоступлениеТоваровСтроки.IDDOC
    INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON ПоступлениеТоваров.IDDOC = Журнал.IDDOC
    INNER JOIN $Справочник.МПЗ AS МПЗ With (NOLOCK) ON $ПоступлениеТоваровСтроки.МПЗ = МПЗ.ID
WHERE Журнал.Date_Time_IDDoc BETWEEN :ДатаНач AND :ДатаКон~
    AND (Журнал.$ОбщийРеквизит.НеИспользуется = 0)
    AND ($ПоступлениеТоваров.ВидПоступления <> $Перечисление.ВидыПоступления.ВозвратнаяТара) AND ($ПоступлениеТоваров.ВидПоступления <> $Перечисление.ВидыПоступления.ВычетНДС)
    AND ($ПоступлениеТоваров.ВидПоступления <> $Перечисление.ВидыПоступления.ВозвратнаяТара) AND ($ПоступлениеТоваров.ВидПоступления <> $Перечисление.ВидыПоступления.ВычетНДС)Возврат
    AND (((ПоступлениеТоваров.$ОбщийРеквизит.Комментарий LIKE '%кредит-нота%') AND (Журнал.$ОбщийРеквизит.ДокументОснование='   0     0   '))) OR (Журнал.$ОбщийРеквизит.ДокументОснование<>'   0     0   '))

Ошибка: State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 5: Incorrect syntax near '&'.
7 Rokford
 
05.02.18
11:21
Так ведь написал же, некорректный синтаксис около '&'
Амперсанд на доллар замени в 4 строке...