Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос и левое соединение - не соединяет :(
0 EvgeniuXP
 
25.05.12
12:59
Есть запрос:

   "ВЫБРАТЬ
   |    ТоварыИРознЦены.Филиалы КАК [Филиалы $Справочник.Филиалы],
   |    ТоварыИРознЦены.Товар КАК [Товар $Справочник.Товары],
   |    ТоварыИРознЦены.ОстатокТовараОстаток КАК ОстатокТовараОстаток,
   |    ТоварыИРознЦены.ПродСтоимостьОстаток КАК ПродСтоимостьОстаток,
   |    ТоварыИРознЦены.Розн_Цена КАК Розн_Цена
   |ИЗ
   |    (ВЫБРАТЬ
   |        Товары2.Филиал КАК Филиалы,
   |        Товары2.Товар КАК Товар,
   |        Товары2.ОстатокТовараОстаток КАК ОстатокТовараОстаток,
   |        Товары2.ПродСтоимостьОстаток КАК ПродСтоимостьОстаток,
   |        История.Розн_Цена КАК Розн_Цена
   |    ИЗ
   |        (ВЫБРАТЬ
   |            Доходы.Филиал КАК Филиал,
   |            Доходы.Товар КАК Товар,
   |            СУММА(Доходы.ОстатокТовараОстаток) КАК ОстатокТовараОстаток,
   |            СУММА(Доходы.ПродСтоимостьОстаток) КАК ПродСтоимостьОстаток
   |        ИЗ
   |            $РегистрОстатки.УчетРеализации(:ВыбДата,,(Филиал,Товар),(ОстатокТовара,ПродСтоимость)) КАК Доходы
   |
   |        СГРУППИРОВАТЬ
   |            Филиал,
   |            Товар) КАК Товары2
   |    ЛЕВОЕ СОЕДИНЕНИЕ $СрезПоследних.Товары(:ВыбДата,(Розн_Цена)) КАК История
   |    ПО Товары2.Товар = История.ТекущийЭлемент) КАК ТоварыИРознЦены";

Так работает, добавляю еще две строчки:

   |ЛЕВОЕ СОЕДИНЕНИЕ $Справочник.Товары КАК СпрТовары
   |ПО ТоварыИРознЦены.Товар = СпрТовары.ТекущийЭлемент


И не работает, пишет:

: near "AS": syntax error
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
{d:\Test\Test1\Классы\ПрямойЗапрос.ert(13487) }
1 EvgeniuXP
 
25.05.12
13:11
или необходимо выгрузить таблицу ТоварыИРознЦены из запроса, затем упаковать ее в ТЗ, передать в качестве параметра в запрос и сделать соединение?

Можно через индексированную таблицу - но мне просто это интересно - можно или нет всё-таки в одном запросе это сделать....
2 aleks-id
 
25.05.12
13:20
не туда добавляешь
3 EvgeniuXP
 
25.05.12
13:23
(2) добавляю в самый конец запроса.
4 EvgeniuXP
 
25.05.12
17:51
Ответ: играйте с долларами и всё получится (вставка была правильная, не правильно доллары были расставлены).
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой