Имя: Пароль:
1C
1С v8
Запрос в Обработке подбора 8.2 УТ 10.3
0 RamzesEs
 
29.04.13
12:00
Я только начал разбираться в 8-ке. Так что не бейте сильно.

В обработке подбора, при подборе по справочнику, необходимо добавить колонку с ценами рядом с остатками. Так вот хочу организовать это в том же запросе где и остатки достаются. добавил необходимого кода но он что то ругается, выдает ошибку :
{(72, 1)}: Синтаксическая ошибка "ЛЕВОЕ"
<<?>>ЛЕВОЕ СОЕДИНЕНИЕ

подскажите в чем дело?

Вот код:

ТекстЗапроса = "
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
   // ++ Роман
   |   ЦеныНоменклатурыСрезПоследних.Цена,
   // ++
   |    СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
   |          - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
   |          - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
   |          " + ?(СтруктураЗаказов = Неопределено,"","+ ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)") + "
   |    )                                                           КАК КоличествоСвободныйОстаток,
   |    СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации
   |ИЗ
   |    (ВЫБРАТЬ
   |        ОбщиеОстатки.Номенклатура               КАК Номенклатура,
   |        ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |        ОбщиеОстатки.Качество                   КАК Качество,
   |        СУММА(ОбщиеОстатки.КоличествоОстаток)   КАК КоличествоОстаток
   |    ИЗ
   |        (";
   ТекстЗапроса = ТекстЗапроса + ПолучитьСтрокуЗапросаСвободныеОстатки(Новый Структура("ТоварыНаСкладах,ТоварыВРознице,ТоварыОрганизаций,ТоварыВНТТ"), ТекстУсловияКачества, Истина);
   ТекстЗапроса = ТекстЗапроса + "
   |        ) КАК ОбщиеОстатки
   |    СГРУППИРОВАТЬ ПО
   |        ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
   |    ) КАК ТоварыНаСкладах
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах
   |ПО
   |    ТоварыВРезервеНаСкладах.Номенклатура = ТоварыНаСкладах.Номенклатура
   |    И ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   |    И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
   // ++ Роман
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
   |ПО
   |    ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладах.Номенклатура.Ссылка
   |ГДЕ
   |    (ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа = ЛОЖЬ
   |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипЦен)
   // ++
   |";
1 Галахад
 
гуру
29.04.13
12:06
И как то читать?

Поставь точку останова после формирования текста запроса.
И выложи нормальный запрос.
2 Godofsin
 
29.04.13
12:06
Конструктором запроса пользуйся
3 RamzesEs
 
29.04.13
12:11
Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
   ДобавитьВременнуюТаблицу(Запрос);

   //Если УчитыватьЗаказ["СтруктураЗаказов"] равен Неопределено значит в запросе не нужно считать по заказам в резерве
   //иначе нужно считать заказы в резерве
   УчитыватьЗаказ = ПолучитьСтруктуруЗаказовВРезерве();
   ДокументРезерва = Неопределено;
   ВидРегистраПлюсСвободныйОстаток = Неопределено;
   УчитыватьЗаказ.Свойство("ДокументРезерва"                , ДокументРезерва);
   УчитыватьЗаказ.Свойство("ВидРегистраПлюсСвободныйОстаток", ВидРегистраПлюсСвободныйОстаток);
   СтруктураЗаказов = УчитыватьЗаказ["СтруктураЗаказов"];
   ЗаказИзШапки = УчитыватьЗаказ["ЗаказИзШапки"];

   Запрос.УстановитьПараметр("ДокументРезерва"        , ДокументРезерва);
   Запрос.УстановитьПараметр("Дата"                   , КонецДня(ДатаРасчетов));
   Запрос.УстановитьПараметр("МассивНоменклатуры"     , МассивНоменклатуры);
   Запрос.УстановитьПараметр("Склад"                  , Склад);
   Запрос.УстановитьПараметр("Организация"            , Организация);
   Запрос.УстановитьПараметр("ТипЦен"                   , СтруктураИсходныхПараметров.ТипЦен);
   Запрос.УстановитьПараметр("РазворачиватьДоКачества", РазворачиватьДоКачества);

   СформироватьОтборыДляЗапросов(Новый Структура("Организация, Склад, ДатаЗапроса, МассивНоменклатуры", Организация, Склад, ДатаРасчетов, МассивНоменклатуры), Истина);
   СтруктураЗапросаОстаткиНоменклатурыСХарактеристиками(ДатаРасчетов, СтруктураИсходныхПараметров, Новый Структура("ПоказыватьОстатки,ПоказыватьКолонки", Истина, ЭлементыФормы.ПоказыватьОстатки.Значение), РазворачиватьДоКачества);

   ТекстУсловияКачества = " И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ";

   ТекстЗапроса = "
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |    ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
   // ++ Роман
   |   ЦеныНоменклатурыСрезПоследних.Цена,
   // ++
   |    СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
   |          - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
   |          - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
   |          " + ?(СтруктураЗаказов = Неопределено,"","+ ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)") + "
   |    )                                                           КАК КоличествоСвободныйОстаток,
   |    СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации
   |ИЗ
   |    (ВЫБРАТЬ
   |        ОбщиеОстатки.Номенклатура               КАК Номенклатура,
   |        ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |        ОбщиеОстатки.Качество                   КАК Качество,
   |        СУММА(ОбщиеОстатки.КоличествоОстаток)   КАК КоличествоОстаток
   |    ИЗ
   |        (";
   ТекстЗапроса = ТекстЗапроса + ПолучитьСтрокуЗапросаСвободныеОстатки(Новый Структура("ТоварыНаСкладах,ТоварыВРознице,ТоварыОрганизаций,ТоварыВНТТ"), ТекстУсловияКачества, Истина);
   ТекстЗапроса = ТекстЗапроса + "
   |        ) КАК ОбщиеОстатки
   |    СГРУППИРОВАТЬ ПО
   |        ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
   |    ) КАК ТоварыНаСкладах
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах
   |ПО
   |    ТоварыВРезервеНаСкладах.Номенклатура = ТоварыНаСкладах.Номенклатура
   |    И ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   |    И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
   // ++ Роман
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
   |ПО
   |    ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладах.Номенклатура.Ссылка
   |ГДЕ
   |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа = ЛОЖЬ
   |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
   // ++
   |";
   Если НЕ СтруктураЗаказов = Неопределено Тогда
       Если ЗаказИзШапки Тогда
           Если ВидРегистраПлюсСвободныйОстаток = "ТоварыВРезервеНаСкладах" Тогда
               ТекстЗапроса = ТекстЗапроса +"
               |ЛЕВОЕ СОЕДИНЕНИЕ
               |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + " И ДокументРезерва = &ДокументРезерва) КАК ТоварыВРезерве
               |ПО
               |    ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
               |    И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
               |    И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
               |";
           ИначеЕсли ВидРегистраПлюсСвободныйОстаток = "ТоварыКПередачеСоСкладов" Тогда
               ТекстЗапроса = ТекстЗапроса +"
               |ЛЕВОЕ СОЕДИНЕНИЕ
               |    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата, " + мУсловиеНоменклатураСклад + " И ДокументПередачи = &ДокументРезерва) КАК ТоварыВРезерве
               |ПО ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
               |    И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
               |    И ТоварыВРезерве.Качество = ТоварыНаСкладах.Качество
               |";
           КонецЕсли;
       Иначе
           //временная таблица товаров в резерве
           Запрос.Текст = "
           |ВЫБРАТЬ РАЗРЕШЕННЫЕ
           |    ТоварыВРезервеНаСкладах.Номенклатура               КАК Номенклатура,
           |    ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
           |    СУММА(ТоварыВРезервеНаСкладах.КоличествоОстаток)   КАК КоличествоОстаток
           |ПОМЕСТИТЬ ТоварыВРезерве
           |ИЗ
           |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах
           |
           |ЛЕВОЕ СОЕДИНЕНИЕ
           |    ЗаказыТаблицаНоменклатура КАК ЗаказаноПоДокументуЗаказ
           |ПО
           |    ЗаказаноПоДокументуЗаказ.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
           |    И ЗаказаноПоДокументуЗаказ.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
           |    И ЗаказаноПоДокументуЗаказ.ДокументРезерва = ТоварыВРезервеНаСкладах.ДокументРезерва
           |ГДЕ
           |    НЕ ЗаказаноПоДокументуЗаказ.ДокументРезерва ЕСТЬ NULL
           |    ИЛИ ТоварыВРезервеНаСкладах.ДокументРезерва = &ДокументРезерва
           |СГРУППИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
           |ИНДЕКСИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
           |";
           Запрос.Выполнить();

           ТекстЗапроса = ТекстЗапроса +"
           |ЛЕВОЕ СОЕДИНЕНИЕ
           |    ТоварыВРезерве КАК ТоварыВРезерве
           |ПО
           |    ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
           |    И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
           |    И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
           |";
       КонецЕсли;
   КонецЕсли;
   ТекстЗапроса = ТекстЗапроса +"
   |
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ТекстУсловияКачества + ") КАК ТоварыКПередачеСоСкладов
   |ПО
   |    ТоварыКПередачеСоСкладов.Номенклатура = ТоварыНаСкладах.Номенклатура
   |    И ТоварыКПередачеСоСкладов.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   |    И ТоварыКПередачеСоСкладов.Качество = ТоварыНаСкладах.Качество
   |    
   |ЛЕВОЕ СОЕДИНЕНИЕ
   |    РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата, " + мУсловиеНоменклатураСкладОрганизация + ТекстУсловияКачества + ") КАК ОстаткиОрганизации
   |ПО
   |    ОстаткиОрганизации.Номенклатура = ТоварыНаСкладах.Номенклатура
   |    И ОстаткиОрганизации.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   |    И ОстаткиОрганизации.Качество = ТоварыНаСкладах.Качество
   |
   |СГРУППИРОВАТЬ ПО
   |    ТоварыНаСкладах.Номенклатура
   |";
   Запрос.Текст = ТекстЗапроса;

   РезультатЗапроса = Запрос.Выполнить();
4 Godofsin
 
29.04.13
12:13
(3) это что?
5 Wobland
 
29.04.13
12:14
(4) это автор предлагает нам самим сделать (1)
6 Godofsin
 
29.04.13
12:15
(5) Предложение отклоняется =)
7 RamzesEs
 
29.04.13
12:16
ну это весь текст запроса в обработке с моими дополнениями. Так вот на мои дополнения и идет ошибка. А что за синтаксическая ошибка непонятно.
8 Wobland
 
29.04.13
12:17
Поставь точку останова после формирования текста запроса. вот на этой строке: "Запрос.Текст = ТекстЗапроса;"
И выложи нормальный запрос. то есть, содержимое переменной ТекстЗапроса.
а лучше предварительно посмотри на него внимательными глазами и расскажи впечатления
9 RamzesEs
 
29.04.13
12:40
че то не впечатлил :(
даже не знаю что и сказать :(
Вроде мой кусок выглядит нормально

"
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
  ЦеныНоменклатурыСрезПоследних.Цена,
   СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
         - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
         - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
         + ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)
   )                                                           КАК КоличествоСвободныйОстаток,
   СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации
ИЗ
   (ВЫБРАТЬ
       ОбщиеОстатки.Номенклатура               КАК Номенклатура,
       ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
       ОбщиеОстатки.Качество                   КАК Качество,
       СУММА(ОбщиеОстатки.КоличествоОстаток)   КАК КоличествоОстаток
   ИЗ
       (
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И Склад В (&Склад)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВРознице.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И Склад В (&Склад)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   0 КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ЗНАЧЕНИЕ(Справочник.Качество.Новый) КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВНТТ.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И Склад В (&Склад) ) КАК ТаблицаОстатков

       ) КАК ОбщиеОстатки
   СГРУППИРОВАТЬ ПО
       ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
   ) КАК ТоварыНаСкладах
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И Склад В (&Склад) ) КАК ТоварыВРезервеНаСкладах
ПО
   ТоварыВРезервеНаСкладах.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО
   ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладах.Номенклатура.Ссылка
ГДЕ
   ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа = ЛОЖЬ
   И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен

ЛЕВОЕ СОЕДИНЕНИЕ
   ТоварыВРезерве КАК ТоварыВРезерве
ПО
   ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)


ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И Склад В (&Склад)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТоварыКПередачеСоСкладов
ПО
   ТоварыКПередачеСоСкладов.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ТоварыКПередачеСоСкладов.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ТоварыКПередачеСоСкладов.Качество = ТоварыНаСкладах.Качество
   
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ОстаткиОрганизации
ПО
   ОстаткиОрганизации.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ОстаткиОрганизации.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ОстаткиОрганизации.Качество = ТоварыНаСкладах.Качество

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладах.Номенклатура
"
10 Wobland
 
29.04.13
12:42
и по-прежнему синтакчисеская ошибка на левое? в какой строке?
11 RamzesEs
 
29.04.13
12:45
{(72, 1)}: Синтаксическая ошибка "ЛЕВОЕ"
<<?>>ЛЕВОЕ СОЕДИНЕНИЕ
12 RamzesEs
 
29.04.13
12:51
такое ощущение что ему то то после моей выборке по регистру какого то символа не хватает вот в этом месте

ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО
   ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладах.Номенклатура.Ссылка
ГДЕ
   ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа = ЛОЖЬ
   И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
???????????????????????????????????????????????
ЛЕВОЕ СОЕДИНЕНИЕ
   ТоварыВРезерве КАК ТоварыВРезерве
ПО
   ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
13 Wobland
 
29.04.13
12:55
секция ГДЕ делается после всех соединений
14 RamzesEs
 
29.04.13
13:00
вот этого я не знал спасибо :) буду дальше ковырять
15 Godofsin
 
29.04.13
13:02
(14) ЖКК надо было читать