С помощью конструктора запросов 1С++ получаю: |SELECT | ЖесткийРезервОстатки.Клиент [Клиент $Справочник.Контрагенты] | , НомерУбытка.PARENTEXT [Авто $Справочник.Автомобили] | , ЖесткийРезервОстатки.НомерУбытка [НомерУбытка $Справочник.НомерУбытка] | , ЖесткийРезервОстатки.РезервТовараОстаток Наличие | , РезервыТоваровОстатки.РезервТовараОстаток Резерв |FROM $РегистрОстатки.ЖесткийРезерв(:КонДата~, | INNER JOIN $Справочник.НомерУбытка AS НомерУбытка ON НомерУбытка = НомерУбытка.ID,,,) AS ЖесткийРезервОстатки | FULL OUTER JOIN $РегистрОстатки.РезервыТоваров(:КонДата~,,, | (Товар, Клиент, НомерУбытка),) AS РезервыТоваровОстатки | ON ЖесткийРезервОстатки.Клиент = РезервыТоваровОстатки.Клиент AND ЖесткийРезервОстатки.Товар = РезервыТоваровОстатки.Товар AND ЖесткийРезервОстатки.НомерУбытка = РезервыТоваровОстатки.НомерУбытка | INNER JOIN $Справочник.НомерУбытка AS НомерУбытка ON ЖесткийРезервОстатки.НомерУбытка = НомерУбытка.ID";
Выдает: {D:\BASE77NEW\РЕЗЕРВЫЗАПЧАСТЕЙ.ERT(25)}: State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 14: Incorrect syntax near '.'.
Отладка выдает: SELECT ЖесткийРезервОстатки.Клиент [Клиент $Справочник.Контрагенты] , НомерУбытка.PARENTEXT [Авто $Справочник.Автомобили] , ЖесткийРезервОстатки.НомерУбытка [НомерУбытка $Справочник.НомерУбытка] , ЖесткийРезервОстатки.РезервТовараОстаток Наличие , РезервыТоваровОстатки.РезервТовараОстаток Резерв FROM ( select rg6860_vt.sp6863 as Клиент, rg6860_vt.sp6861 as Товар, rg6860_vt.sp6864 as НомерУбытка, rg6860_vt.sp6865 as РезервТовараОстаток from rg6860 as rg6860_vt (nolock) INNER JOIN sc6849 AS rg6860_vt.sp6864 ON rg6860_vt.sp6864 = rg6860_vt.sp6864.ID where rg6860_vt.period={d '2009-09-01'} and ( rg6860_vt.sp6865 <> 0 ) ) as ЖесткийРезервОстатки FULL OUTER JOIN ( select rg620_vt.sp621 as Товар, rg620_vt.sp5565 as Клиент, rg620_vt.sp6787 as НомерУбытка, sum(rg620_vt.sp623) as РезервТовараОстаток from rg620 as rg620_vt (nolock) where rg620_vt.period={d '2009-09-01'} group by rg620_vt.sp621, rg620_vt.sp5565, rg620_vt.sp6787 having sum(rg620_vt.sp623) <> 0 ) as РезервыТоваровОстатки ON ЖесткийРезервОстатки.Клиент = РезервыТоваровОстатки.Клиент AND ЖесткийРезервОстатки.Товар = РезервыТоваровОстатки.Товар AND ЖесткийРезервОстатки.НомерУбытка = РезервыТоваровОстатки.НомерУбытка INNER JOIN sc6849 AS НомерУбытка ON ЖесткийРезервОстатки.НомерУбытка = НомерУбытка.ID
Есть подозрение что ругается в INNER JOIN на двойные точки, но это преобразование (или все же моя ошибка в соединении запросов?) Помогите кто сталкивался...
|