Запрос = Новый Запрос; Запрос.УстановитьПараметр("Пересчитать",Пересчитать); Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
Запрос.УстановитьПараметр("ВалютаОтчета",ВалютаОтчета); //Отборы Менеджер, Фирма, Номенклатура ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТоварыОтгруженные.Фирма, | ТоварыОтгруженные.Контрагент, | ТоварыОтгруженные.Договор, | ТоварыОтгруженные.ДокументПродажи, | ТоварыОтгруженные.ДокументПоставки, | ТоварыОтгруженные.ДокументПоставки.Станок КАК Оборудование, | ТоварыОтгруженные.ВалютаРасчетов КАК Валюта, | ТоварыОтгруженные.Номенклатура, | ЕдиницыИзмерения.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ТоварыОтгруженные.КоличествоПриход КАК Количество, | ТоварыОтгруженные.СуммаПриход КАК СуммаПриход, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СуммаПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаПриход | КОНЕЦ КАК Сумма, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СебестоимостьПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СебестоимостьПриход | КОНЕЦ КАК Себестоимость, | ВЫБОР | КОГДА ТоварыОтгруженные.КоличествоПриход = 0 | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СуммаПриход / ТоварыОтгруженные.КоличествоПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаПриход / ТоварыОтгруженные.КоличествоПриход | КОНЕЦ | КОНЕЦ КАК Цена, | ТоварыОтгруженные.ДокументПродажи.Менеджер КАК Менеджер, | ТоварыОтгруженные.Номенклатура.УчЕдиница, | ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент КАК УчКоличество, | ТоварыОтгруженные.Номенклатура.УчКоэффициент, | ВЫБОР | КОГДА ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент = 0 | ТОГДА 0 | ИНАЧЕ ТоварыОтгруженные.СуммаПриход / (ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент) | КОНЕЦ КАК УчЦена, | ВЫБОР | КОГДА &Пересчитать | ТОГДА (ТоварыОтгруженные.СуммаПриход - ТоварыОтгруженные.СебестоимостьПриход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаПриход - ТоварыОтгруженные.СебестоимостьПриход | КОНЕЦ КАК Наценка, | ТоварыОтгруженные.Регистратор, | ЕдиницыИзмерения.Вес * ТоварыОтгруженные.КоличествоПриход КАК Тонн, | 0 КАК Рентабельность, | ТоварыОтгруженные.Период, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ГОД) КАК ПериодГод, | ТоварыОтгруженные.СуммаРасчетовПриход КАК СуммаВВалютеРасчетов, | ТоварыОтгруженные.Характеристика, | ТоварыОтгруженные.СуммаРасчетовРасход КАК СуммаОплВал, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СуммаРасход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаРасход | КОНЕЦ КАК СуммаОпл, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СебестоимостьРасход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СебестоимостьРасход | КОНЕЦ КАК СебестоимостьОпл, | ВЫБОР | КОГДА &Пересчитать | ТОГДА (ТоварыОтгруженные.СуммаРасход - ТоварыОтгруженные.СебестоимостьРасход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаРасход - ТоварыОтгруженные.СебестоимостьРасход | КОНЕЦ КАК НаценкаОпл, | 0 КАК РентабельностьОпл, | ВЫБОР | КОГДА &Пересчитать | ТОГДА (ТоварыОтгруженные.СебестоимостьПриход - ТоварыОтгруженные.СуммаТ1Приход - ТоварыОтгруженные.СуммаТ2Приход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СебестоимостьПриход - ТоварыОтгруженные.СуммаТ1Приход - ТоварыОтгруженные.СуммаТ2Приход | КОНЕЦ КАК СебестоимостьТоваров, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.НаценкаПродукцииПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.НаценкаПродукцииПриход | КОНЕЦ КАК НаценкаПродукции, | ВЫБОР | КОГДА &Пересчитать | ТОГДА (ТоварыОтгруженные.СебестоимостьРасход - ТоварыОтгруженные.СуммаТ1Расход - ТоварыОтгруженные.СуммаТ2Расход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СебестоимостьРасход - ТоварыОтгруженные.СуммаТ1Расход - ТоварыОтгруженные.СуммаТ2Расход | КОНЕЦ КАК СебестоимостьТоваровОпл, | ТоварыОтгруженные.СуммаТ1Приход КАК СуммаТ1Приход, | ВЫБОР | КОГДА &Пересчитать | ТОГДА ТоварыОтгруженные.СуммаТ1Приход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс | ИНАЧЕ ТоварыОтгруженные.СуммаТ1Приход | КОНЕЦ КАК СуммаТранспорта, | ВЫБОР | КОГДА ЕСТЬNULL(ТоварыОтгруженные.СуммаПриход, 0) = 0 | ТОГДА 0 | ИНАЧЕ ТоварыОтгруженные.СуммаТ1Приход / ТоварыОтгруженные.СуммаПриход * 100 | КОНЕЦ КАК ПроцентТранспорта, | ВалютаБалансаСрезПоследних.Валюта КАК ВалютаБаланса |ИЗ | РегистрНакопления.ТоварыОтгруженные.Обороты(НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), Регистратор, ) КАК ТоварыОтгруженные | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ЕдиницыИзмерения КАК ЕдиницыИзмерения | ПО ТоварыОтгруженные.Номенклатура = ЕдиницыИзмерения.Ссылка | И ТоварыОтгруженные.Номенклатура.БазЕдиница.Ссылка = ЕдиницыИзмерения.ЕдиницаИзмерения.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВалютаБаланса.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), ) КАК ВалютаБалансаСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), ВалютаБаланса = &ВалютаОтчета) КАК КурсыВалютСрезПоследних | ПО ВалютаБалансаСрезПоследних.Валюта = КурсыВалютСрезПоследних.Валюта | ПО ТоварыОтгруженные.Фирма = ВалютаБалансаСрезПоследних.Фирма |ИТОГИ | СУММА(Количество), | СУММА(Сумма), | СУММА(Себестоимость), | СУММА(УчКоличество), | СУММА(Наценка), | СУММА(Тонн), | ВЫБОР | КОГДА СУММА(Себестоимость) > 0 | ТОГДА СУММА(Наценка) / СУММА(Себестоимость) * 100 | ИНАЧЕ 0 | КОНЕЦ КАК Рентабельность, | СУММА(СуммаВВалютеРасчетов), | СУММА(СуммаОплВал), | СУММА(СуммаОпл), | СУММА(СебестоимостьОпл), | СУММА(НаценкаОпл), | ВЫБОР | КОГДА СУММА(СебестоимостьОпл) > 0 | ТОГДА СУММА(НаценкаОпл) / СУММА(СебестоимостьОпл) * 100 | ИНАЧЕ 0 | КОНЕЦ КАК РентабельностьОпл, | СУММА(СебестоимостьТоваров), | СУММА(НаценкаПродукции), | СУММА(СебестоимостьТоваровОпл), | СУММА(СуммаТранспорта), | ВЫБОР | КОГДА СУММА(ЕСТЬNULL(ТоварыОтгруженные.СуммаПриход, 0)) = 0 | ТОГДА 0 | ИНАЧЕ СУММА(ТоварыОтгруженные.СуммаТ1Приход) / СУММА(ТоварыОтгруженные.СуммаПриход) * 100 | КОНЕЦ КАК ПроцентТранспорта |ПО | ОБЩИЕ |{ИТОГИ ПО | Фирма.*, | Контрагент.*, | Договор.*, | ДокументПродажи.*, | Валюта.*, | Номенклатура.*, | Регистратор.*, | Менеджер.*, | Оборудование.*, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод, | Характеристика.*}";
Результат = Запрос.Выполнить().Выгрузить(); Результат.ВыбратьСтроку();
При запуске выбрасывает ошибку "{(1, 1)}: Ожидается выражение "ВЫБРАТЬ""
Старый отчет использовал ПостроительОтчета, сейчас возникла необходимость выгрузить данные в таблицу значений и дополнить. Все параметры в тексте запроса поиском по "&" выловил... не пойму, где ошибка.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!