Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Ошибка при обращении к виртуальной таблице (число прочтений - 2394 )
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Ошибка при обращении к виртуальной таблице
15. Апреля 2008 :: 07:38
Печать  
Делаю элементарный запрос из справочника номенклатуры и ВТ ОстаткиТМЦ, связанной со справочником через реквизит Номенклатура:

ТекстЗапроса = "
    |SELECT Номенклатура.ID [Ссылка $Справочник.Номенклатура]
    |    , ОстаткиТМЦОстатки.КоличествоОстаток
    |FROM $Справочник.Номенклатура AS Номенклатура
    |    INNER JOIN $РегистрОстатки.ОстаткиТМЦ(,
    |        INNER JOIN $Справочник.Номенклатура AS Номенклатура ON Номенклатура.ID = Номенклатура,,
    |        Номенклатура,) AS ОстаткиТМЦОстатки ON Номенклатура.ID = ОстаткиТМЦОстатки.Номенклатура
    |"
;


Но при выполнения запроса вылазит ошибка:
State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 10: Incorrect syntax near '.'.

Что я делаю не так?
« Последняя редакция: 16. Апреля 2008 :: 03:07 - Андрюха »  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #1 - 15. Апреля 2008 :: 07:43
Печать  
Пробовал сначала отбирать по виртуальной таблице ОстаткиТМЦ, а затем уже из справочника Номенклатура по связи "Номенклатура=Ссылка" - возникает такая же ошибка.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #2 - 15. Апреля 2008 :: 07:45
Печать  
1) Зачем делаешь соединение со справочником номенклатура?
Код
Выбрать все
ОстаткиТМЦОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура] 


так будет правильно
2) Посмотри как правильно пользоваться ВТ Остатки в руководстве.
  
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #3 - 15. Апреля 2008 :: 07:45
Печать  
Поменяй алиас справочника во внутреннем (в скобках ВТ) соединении на что-то, не совпадающее с атрибутами регистра.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #4 - 15. Апреля 2008 :: 07:50
Печать  
leshik писал(а) 15. Апреля 2008 :: 07:45:
Зачем делаешь соединение со справочником номенклатура?

Соединение нужно для того, чтобы наложить на другие поля справочника (например ВидНоменклатуры)  дополнительные условия отбора. Из виртуальной таблицы эти реквизиты, разумеется, не видны. Пример запроса в сабже упрощен.
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #5 - 15. Апреля 2008 :: 07:59
Печать  
berezdetsky писал(а) 15. Апреля 2008 :: 07:45:
Поменяй алиас справочника во внутреннем (в скобках ВТ) соединении на что-то, не совпадающее с атрибутами регистра.

Не совсем понял мысль с изменением алиаса, буду благодарен, если не затруднит исправить в коде запроса.
  
Наверх
 
IP записан
 
val
Full Member
***
Отсутствует


Дорогу осиливает идущий

Сообщений: 137
Зарегистрирован: 07. Июля 2006
Re: Ошибка при обращении к виртуальной таблице
Ответ #6 - 15. Апреля 2008 :: 08:04
Печать  
(5)
INNER JOIN $Справочник.Номенклатура AS Номенклатура2 ON Номенклатура2.ID = Номенклатура
  
Наверх
 
IP записан
 
Андрюха
Junior Member
**
Отсутствует



Сообщений: 74
Местоположение: Красноярск
Зарегистрирован: 19. Марта 2008
Пол: Мужской
Re: Ошибка при обращении к виртуальной таблице
Ответ #7 - 15. Апреля 2008 :: 08:11
Печать  
val писал(а) 15. Апреля 2008 :: 08:04:
INNER JOIN $Справочник.Номенклатура AS Номенклатура2 ON Номенклатура2.ID = Номенклатура

Большое спасибо, все получилось.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать