public object СформироватьТекстЗапросаПоОборотам(/*СтруктураИспользуемыхИзмерений,Сценарий,ДатаНач,ДатаКон,ОтборСтатьи*/)
{
/*// Выберем статьи оборотов, для которых будем получать данные
*/
//Запрос=Новый Запрос;
//СтруктураПараметров=Новый Структура;
/*ТекстЗапроса="ВЫБРАТЬ
| СтатьиОборотовПоБюджетам.Ссылка КАК СтатьяОборотов,
| СтатьиОборотовПоБюджетам.Ссылка.Представление КАК СтатьяОборотовПредставление,
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ТекстЗапроса КАК ТекстЗапроса,
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.НастройкиПостроителя КАК НастройкиПостроителя,
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ИзмеренияИсточника КАК ИзмеренияИсточника,
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ДатыОтбораДанныхИсточника КАК ДатыОтбораДанныхИсточника,
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ПроизвольныйЗапрос КАК ПроизвольныйЗапрос,
| СтатьиОборотовПоБюджетам.ПоказательИсточникаДанныхДляФактаСум,
| СтатьиОборотовПоБюджетам.КоэффициентДляФактаСум,
| СтатьиОборотовПоБюджетам.СпособОпределенияВалютыОборотаФакт,
| СтатьиОборотовПоБюджетам.ПоказательИсточникаДанныхДляФактаКол,
| СтатьиОборотовПоБюджетам.КоэффициентДляФактаКол,
| СтатьиОборотовПоБюджетам.ОсновнаяВалюта,
| СтатьиОборотовПоБюджетам.РазделениеПоКонтрагентам,
| СтатьиОборотовПоБюджетам.РазделениеПоНоменклатуре
|ИЗ
| Справочник.СтатьиОборотовПоБюджетам КАК СтатьиОборотовПоБюджетам
|ГДЕ
| СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта <> &ПустойИсточникДанных";*/
if(true/*НЕ ОтборСтатьи.Количество()=0*/)
{
/*ТекстЗапроса=ТекстЗапроса+"
|И
| СтатьиОборотовПоБюджетам.Ссылка В ИЕРАРХИИ(&СтатьиОборотов)";*/
//Запрос.УстановитьПараметр("СтатьиОборотов",ОтборСтатьи);
}
//Запрос.Текст=ТекстЗапроса;
//Запрос.УстановитьПараметр("ПустойИсточникДанных",Новый(Тип("СправочникСсылка.ИсточникиДанныхДляРасчетовБюджетирования")));
//ТекстОсновногоЗапроса="";
//ТекстЗапросаПериод="";
//СтруктураПараметров=Новый Структура;
//НомерСтатьи=0;
//РезультатЗапроса=Запрос.Выполнить().Выбрать();
while(true/*РезультатЗапроса.Следующий()*/)
{
/*ДобавитьВТекстОсновногоЗапросаОбороты(РезультатЗапроса,ТекстОсновногоЗапроса, ТекстЗапросаПериод,СтруктураПараметров,НомерСтатьи,
СтруктураИспользуемыхИзмерений,ДатаНач,ДатаКон);*/
//НомерСтатьи=НомерСтатьи+1;
}
/*;
ТекстЗапроса=Сред(ТекстОсновногоЗапроса,16);*/
//ТекстЗапросаПериод=Сред(ТекстЗапросаПериод,16);
if(true/*ТекстЗапроса=""*/)
{
}
/*ТекстИтог="ВЫБРАТЬ
|ВЫРАЗИТЬ(ЗапросПоИсточникам.Период КАК Дата) КАК Период,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.СтатьяОборотов КАК Справочник.СтатьиОборотовПоБюджетам) КАК СтатьяОборотов,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты) КАК Валюта,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.ЦФО КАК Справочник.Подразделения) КАК ЦФО,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.Проект КАК Справочник.Проекты) КАК Проект,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
|ВЫРАЗИТЬ(ЗапросПоИсточникам.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
|ЗапросПоИсточникам.Количество КАК КоличествоОборот,
|ЗапросПоИсточникам.Сумма КАК ВалютнаяСуммаОборот,
|ВЫБОР
| КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)=&ВалютаУпрУчета ТОГДА ЗапросПоИсточникам.Сумма
| КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)<>&ВалютаУпрУчета И КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
| ЗапросПоИсточникам.Сумма*КурсыИсточника.Курс * КурсыУпрУчета.Кратность
| / (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
| ИНАЧЕ
| 0
| КОНЕЦ КАК СуммаУпрОборот
|ИЗ
|("+ТекстЗапроса+") КАК ЗапросПоИсточникам
// Курсы источников
|ЛЕВОЕ СОЕДИНЕНИЕ
|(ВЫБРАТЬ
| ПериодПоследнейЗаписиКурсаНаДатуОборота.Дата КАК Дата,
| КурсыВалют.Курс КАК Курс,
| КурсыВалют.Кратность КАК Кратность,
| КурсыВалют.Валюта КАК Валюта
|ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| Максимум(КурсыВнутр.Период) КАК Период,
| Обороты.Дата КАК Дата,
| КурсыВнутр.Валюта КАК Валюта
| ИЗ РегистрСведений.КурсыВалют КАК КурсыВнутр
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗапросПоПериодам.Период КАК Дата,
| ЗапросПоПериодам.Валюта КАК ВалютаДок
| ИЗ
| ("+ТекстЗапросаПериод+") КАК ЗапросПоПериодам
| ) КАК Обороты
|ПО Обороты.Дата >= КурсыВнутр.Период
| И КурсыВнутр.Валюта = Обороты.ВалютаДок
| СГРУППИРОВАТЬ ПО Обороты.Дата, КурсыВнутр.Валюта) КАК ПериодПоследнейЗаписиКурсаНаДатуОборота
| ПО КурсыВалют.Период = ПериодПоследнейЗаписиКурсаНаДатуОборота.Период И
| КурсыВалют.Валюта = ПериодПоследнейЗаписиКурсаНаДатуОборота.Валюта) КАК КурсыИсточника
|ПО КурсыИсточника.Дата = ЗапросПоИсточникам.Период И
| КурсыИсточника.Валюта = ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)
// Курсы валюты управленческого учета
|ЛЕВОЕ СОЕДИНЕНИЕ
|(ВЫБРАТЬ
| ПериодПоследнейЗаписиКурсаНаДатуОборота.Дата КАК Дата,
| КурсыВалют.Курс КАК Курс,
| КурсыВалют.Кратность КАК Кратность
|ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ
| МАКСИМУМ(КурсыВнутр.Период) КАК Период,
| Обороты.Дата КАК Дата
| ИЗ РегистрСведений.КурсыВалют КАК КурсыВнутр
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗапросПоПериодам.Период КАК Дата,
| ЗапросПоПериодам.Валюта КАК ВалютаДок
| ИЗ
| ("+ТекстЗапросаПериод+") КАК ЗапросПоПериодам
| ) КАК Обороты
|ПО Обороты.Дата >= КурсыВнутр.Период
| И (КурсыВнутр.Валюта = &ВалютаУпрУчета)
| СГРУППИРОВАТЬ ПО Обороты.Дата) КАК ПериодПоследнейЗаписиКурсаНаДатуОборота
| ПО КурсыВалют.Период = ПериодПоследнейЗаписиКурсаНаДатуОборота.Период
|ГДЕ КурсыВалют.Валюта = &ВалютаУпрУчета) КАК КурсыУпрУчета
|ПО КурсыУпрУчета.Дата = ЗапросПоИсточникам.Период";*/
//СтруктураПараметров.Вставить("МоментВремени",ДатаНач);
//СтруктураПараметров.Вставить("ПустойЦФО",Справочники.Подразделения.ПустаяСсылка());
//СтруктураПараметров.Вставить("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
//СтруктураПараметров.Вставить("ПустойКонтрагент",Справочники.Контрагенты.ПустаяСсылка());
//СтруктураПараметров.Вставить("ВалютаУпрУчета",глЗначениеПеременной("ВалютаУправленческогоУчета"));
//СтруктураПараметров.Вставить("ВалютаРеглУчета",глЗначениеПеременной("ВалютаРегламентированногоУчета"));
/*СтруктураПараметров.Вставить("ПустойНоменклатура",?(Сценарий.ДетализацияПланирования=Перечисления.ДетализацияПланирования.НоменклатурныеГруппы,
Справочники.НоменклатурныеГруппы.ПустаяСсылка(),Справочники.Номенклатура.ПустаяСсылка()));*/
//СтруктураЗапроса=Новый Структура;
//СтруктураЗапроса.Вставить("ТекстЗапроса",ТекстИтог);
//СтруктураЗапроса.Вставить("ПараметрыЗапроса",СтруктураПараметров);
return null;
}