8.х Не работает запрос

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем 3dvol, 21 ноя 2010.

  1. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Добрый вечер!
    Может кто растолкует в чем ошибка.
    Имеется следующий код:
    Код:
    	Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ВложенныйЗапрос.ТМЦ КАК ТМЦ,
    |	ВложенныйЗапрос.Склад КАК Склад,
    |	Ост.Партия КАК Партия,
    |	ВложенныйЗапрос.ДокПартии КАК ДокПартии,
    |	ЕСТЬNULL(Ост.КоличествоОстаток, 0) КАК КолОст,
    |	ЕСТЬNULL(Ост.СуммаОстаток, 0) КАК СуммаОст,
    |	ВложенныйЗапрос.Количество КАК КолДок,
    |	ВложенныйЗапрос.Сумма КАК СуммаДок
    |ИЗ
    |	(ВЫБРАТЬ
    |		Док.ТМЦ КАК ТМЦ,
    |		СУММА(Док.Количество) КАК Количество,
    |		СУММА(Док.Сумма) КАК Сумма,
    |		Док.Партии.Приходная КАК ДокПартии,
    |		Док.Ссылка.Склад КАК Склад
    |		
    |	ИЗ
    |		Документ.РасходнаяНакладная.Товары КАК Док
    |	ГДЕ
    |		Док.Ссылка = &ПарСсылка
    |
    |	СГРУППИРОВАТЬ ПО
    |		Док.ТМЦ,
    |		Док.Ссылка.Склад,
    |		Док.Партии.Приходная) КАК ВложенныйЗапрос
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТМЦ.Остатки(&Момент,
    |						(ТМЦ, Склад) В 
    |							(ВЫБРАТЬ РАЗЛИЧНЫЕ
    |								Док.ТМЦ,
    |								Док.Ссылка.Склад
    |							ИЗ
    |								Документ.РасходнаяНакладная.Товары КАК Док
    |							ГДЕ
    |								Док.Ссылка = &ПарСсылка)) КАК Ост
    |		ПО ВложенныйЗапрос.ТМЦ = Ост.ТМЦ"
    
    + ОтборПартии +
    
    "
    |ДЛЯ ИЗМЕНЕНИЯ
    |	РегистрНакопления.ОстаткиТМЦ.Остатки
    |УПОРЯДОЧИТЬ ПО
    |	ТМЦ,
    |	Ост.Партия.Дата
    |ИТОГИ
    |	СУММА(КолОст),
    |	СУММА(СуммаОст),"
    
    + КолСумма +
    
    "ПО
    |	ТМЦ";
    Запрос.УстановитьПараметр("ПарСсылка",Ссылка);
    Запрос.УстановитьПараметр("Момент",МоментВремени());
    ОтборПартии = "";
    КолСумма = "МАКСИМУМ(КолДок),
    |МАКСИМУМ(СуммаДок)";
    РезультатЗапроса = Запрос.Выполнить();
    
    На последней строке (т.е. РезультатЗапроса = Запрос.Выполнить()) возвращает ошибку:
    Не пойму в чем дело?
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Строки
    Код:
    	КолСумма = "МАКСИМУМ(КолДок),
    |МАКСИМУМ(СуммаДок)";
    
    
    Перенесите в самый верх
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Значение переменной КолСумма присваивается уже после того как сформировали текст запроса. Т.е. на момент формирования запроса КолСумма = "". И получается что текст запроса =
    Код:
    "|ИТОГИ
    |	СУММА(КолОст),
    |	СУММА(СуммаОст),
    |		ПО"
    
    Как минимум - неожиданная запятая.
  4. TopicStarter Overlay
    3dvol
    Offline

    3dvol

    Регистрация:
    22 авг 2010
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Затупил... Спасибо!

Поделиться этой страницей