Прямые запросы 1С #516661


#0 by xXeNoNx
Здравствуйте, проблема такая, есть запрос    ТекстЗапроса = " Выдает след ошибку State 42000, native 4104, message [Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось привязать составной идентификатор "РегТовар.Товар" В чем дело - фиг знает, целую ночь просидел, подскажите, в чем может быть проблема. Заранее благодарен
#1 by Rie
Знак доллара поставь - то есть, $РегТовар.Товар - чтобы метапарсер понял, как этот Товар понимать.
#2 by Rie
+ И с другими полями - аналогично.
#3 by xXeNoNx
выдает следующее: Meta name parser error: неизвестное метаимя или алиас "$РегТовар" Когда коментируешь это LEFT JOIN    |(
#4 by Rie
LEFT JOIN - кого с кем делаешь? В я был неправ - у тебя ведь виртуальные таблицы используются.
#5 by xXeNoNx
умножение Товары и склады + присоединении остатокТовара
#6 by Rie
Попробуй обозвать произведение как-нибудь (например, ТоварыСклады) и обращайся ТоварыСклады.Товар
#7 by orefkov
Шахматку что-ли хочешь получить? Так тогда надо сперва РегТовар и РегСклад перемножать в одном подзапросе, а потом к нему уже лефтджоинить РегКолво
#8 by orefkov
+ наверное.
#9 by xXeNoNx
Да, шахматку
#10 by ДенисЧ
из подзапросов имена не вытаскиваются...
#11 by xXeNoNx
Что может здесь быть не так?
#12 by Rie
Заключи произведение в скобки, обзови его ТоварыСклады и обращайся к ТоварыСклады.Товар, ТоварыСклады.Склад.
#13 by xXeNoNx
Спасибо, ща попробую
#14 by xXeNoNx
State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции ","
#15 by xXeNoNx
MSSQL 2008
#16 by xXeNoNx
Переписал запрос, вот что получилось    ТекстЗапроса = " Теперь выдает State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции "РегКол
#17 by xXeNoNx
Все, спасибо всем.... предыдущий пос из-за невнимательности
#18 by orefkov
Может так. Хотя имхо сам принцип неоптимален. Получается сначала берутся итоги, сворачиваются по товару, потом еще раз рассчитываются те же самые итоги, сворачиваются по складу, потом третий раз рассчитываются эти же итоги, джойнятся. Имхо гораздо кузявее было бы просто вытащить итоги в разрезе Товар/Склад, и выкрутить шахматку на клиенте. Ну или сперва итоги по Товару/Складу пихнуть во временку, а потом из нее выкручивать.
#19 by xXeNoNx
>>Ну или сперва итоги по Товару/Складу пихнуть во временку, а потом из нее выкручивать. Можешь пример привести?
#20 by orefkov
Мое дело - направление показать. В деталях разбираться - не барское дело.
#21 by Rie
Твой запрос по остаткам - уложить во временную таблицу: SELECT    РегКол.ОстатокТовараОстаток as ОстатокТовара, А затем уже из #ВремОстатки извлекать данные, как это у тебя и делается.
#22 by xXeNoNx
Спасибо большое за ответ. Буду разбираться
#23 by xXeNoNx
А возможно ли сделать такой запрос(на 1cpp), например Товар | 01.01.2010 | 02.01.2010 | 03.01.2010 товар1|    Сумма1  |   Сумма2   |   ....              ........................ Что бы уже в ТЗ такой регультат передавал Если возможно, то как, если можно то пример, ну или доку какую-нить
#24 by Mikeware
сходи на 1cpp.ru - та м тебе и доки, и примеры..
#25 by Дык ё
напиши вместо запятой cross join
#26 by xXeNoNx
Подскажите пож, что здесь не верно, выдается сообщение State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "КоличествоОбороты".     |SELECT    |    регТовар.Товар as Товар,    |    |    |;"
#27 by xXeNoNx
Поправочка
#28 by Rie
Дык эта... Вроде ж как виртуальная таблица РегистрОбороты ещё сегодня утром имела поля с именами вроде КоличествоОборот, а не КоличествоОбороты.
#29 by Дык ё
буква 'ы' лишняя
#30 by xXeNoNx
Недопустимое имя столбца "КоличествоОборот"
#31 by Дык ё
а не ОборотыОборот? оно действительно недопустимое
#32 by xXeNoNx
Да, я испрвавил уже, ошибка не исчезла
#33 by Дык ё
тогда хз. в этом подзапросе еще group by по товарам и периодам не хватает
#34 by xXeNoNx
Сделал, действительно такого имени не може быть. В оборотах - Приход/Расход
#35 by xXeNoNx
Пасибо за ответы
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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