Имя: Пароль:
1C
 
sql ОШИБКА хелп ми
Ø
0 romich1981
 
10.05.06
14:30
На запрос
|Контрагент=Справочник.Контрагенты.ТекущийЭлемент,Справочник.СпецЦены.Владелец, Справочник.СкидкиПоГруппамНоменклатуры.Владелец;
|Номенклатура= Справочник.Номенклатура.ТекущийЭлемент, Справочник.Цены.Владелец,Справочник.СпецЦены.Номенклатура,Справочник.СкидкиПоГруппамНоменклатуры.Номенклатура;
|СпецСкидка= Справочник.СпецЦены.ПроцентСкидкиНаценки;
|СпецЦена= Справочник.СпецЦены.СпецЦена;
|РегТипЦен = Справочник.СпецЦены.ТипЦен;
|БазовыйТипЦен = Справочник.СпецЦены.БазовыйТипЦен;
|Группировка Контрагент без групп;
|Группировка Номенклатура;
Выдается ошибка
the column prefix 'SC84' does not match with a table name or alias name used in the query.
и 1С сворачивается.
На БДФ все работает. Если группировки поменять местами - работает.
SC84 - это вроде справочник Номенклатура.
Кто-нить отчего сие счастие мне выпало?
1 Sure
 
10.05.06
15:09
Контрагент=Справочник.Контрагенты.ТекущийЭлемент,Справочник.СпецЦены.Владелец, Справочник.СкидкиПоГруппамНоменклатуры.Владелец;
 - это, конечно, сильный ход. 1С 7.7 его норовит не понять.
Можешь поотлаживать запрос в 1С Query Anliser'е:
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3344
Может, что накопаешь...
4 callisto
 
11.05.06
05:05
дело не в правильности запроса - ошибка именно на этапе его выполнения... ну, не может он что-то вычислить, скорее всего это связано с пустыми (null) значениями в затрагиваемых таблицах.
а при работе на dbf такого понятия как null - не существует... вот поэтому там работает :)
6 callisto
 
11.05.06
05:39
вот еще что интересно:
"The column prefix ... does not match with a table name or alias name used in the query" -
  could happen when you use wrong table name inside the Join, such as
   Select codes cd
  Join respondents resp
   On cd.value = 1
 
Another reason for this error could be that you are using the table prefix before it
  has been joined:
   select data dt
     join codes cd
       on cd.code = ab.text
   <---
     join abcd ab
       on ab.value =1
   where dt.id = 1
.
отсюда следует - просто некий глюк "преобразователя" запросов.
или, что для sql версии так писать запрос нельзя :)
Программист всегда исправляет последнюю ошибку.