Имя: Пароль:
1C
1С v8
Обороты счета с фильтром по Номенклатурной группе3
0 capllary
 
12.09.14
12:16
Подскажите как еще можно оптимизировать код чтобы выходили три значения (сейчас выходит только значение 1 субконто):


ТекстЗапроса1 =
"ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
| ХозрасчетныйОстаткиИОбороты.Субконто1
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПериода, &КонПериода, , , Счет В ИЕРАРХИИ (&Счет90), , Субконто1 = &НоменклатурнаяГруппа) КАК ХозрасчетныйОстаткиИОбороты
|ИТОГИ
| СУММА(СуммаОборотКт)
|ПО
| ОБЩИЕ";

ТекстЗапроса2 =
"ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
| ХозрасчетныйОстаткиИОбороты.Субконто2
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПериода, &КонПериода, , , Счет В ИЕРАРХИИ (&Счет90), , Субконто2 = &НоменклатурнаяГруппа) КАК ХозрасчетныйОстаткиИОбороты
|ИТОГИ
| СУММА(СуммаОборотКт)
|ПО
| ОБЩИЕ";

ТекстЗапроса3 =
"ВЫБРАТЬ
| ХозрасчетныйОстаткиИОбороты.СуммаОборотКт,
| ХозрасчетныйОстаткиИОбороты.Субконто3
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачПериода, &КонПериода, , , Счет В ИЕРАРХИИ (&Счет90), , Субконто3 = &НоменклатурнаяГруппа) КАК ХозрасчетныйОстаткиИОбороты
|ИТОГИ
| СУММА(СуммаОборотКт)
|ПО
| ОБЩИЕ";


Субконто1 = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000001");

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
Запрос.УстановитьПараметр("Счет90", Счет90_01);
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", Субконто1);
Запрос.Текст = ТекстЗапроса1;

РезультатЗапроса1 = Запрос.Выполнить().Выбрать();

Пока РезультатЗапроса1.Следующий() Цикл
ОбластьДоходы.Параметры.Д21 = ОбщегоНазначения.ФорматСумм(РезультатЗапроса1.СуммаОборотКт);
КонецЦикла;


Субконто2 = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000006");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
Запрос.УстановитьПараметр("Счет90", Счет90_01);
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", Субконто2);
Запрос.Текст = ТекстЗапроса2;

РезультатЗапроса2 = Запрос.Выполнить().Выбрать();

Пока РезультатЗапроса2.Следующий() Цикл
ОбластьДоходы.Параметры.Д22 = ОбщегоНазначения.ФорматСумм(РезультатЗапроса2.СуммаОборотКт);
КонецЦикла;

Субконто3 = Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000002");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("НачПериода", НачПериода);
Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));
Запрос.УстановитьПараметр("Счет90", Счет90_01);
Запрос.УстановитьПараметр("НоменклатурнаяГруппа", Субконто3);
Запрос.Текст = ТекстЗапроса3;

РезультатЗапроса3 = Запрос.Выполнить().Выбрать();

Пока РезультатЗапроса3.Следующий() Цикл
ОбластьДоходы.Параметры.Д23 = ОбщегоНазначения.ФорматСумм(РезультатЗапроса3.СуммаОборотКт);
КонецЦикла;