26.02.2009, 08:05
общий
это ответ
Здравствуйте, Лопухина Мария Викторовна!
Запрос для получения необходимых данных в приложении.
Параметры НачалоПериода и КонецПериода необходимо вывести на форму для заполнения пользователем.
Можно добавить на форму выбор организации и добавить отбор по организации в запрос.
Также необходимо заполнить параметры макета для заполнения соответствующих полей.
Приложение:
Запрос = Новый Запрос("ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК Номенклатура,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК ФизическоеЛицо,
| СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма,
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ,
| СУММА(ХозрасчетныйДвиженияССубконто.КоличествоДт) КАК Количество,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код КАК ТабельныйНомер,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| &Начало,
| &Конец,
| СчетДт В ИЕРАРХИИ (&Счет10_3)
| И СчетКт В ИЕРАРХИИ (&Счет71_1)) КАК ХозрасчетныйДвиженияССубконто
|ГДЕ
| ХозрасчетныйДвиженияССубконто.Организация = &Организация
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.Регистратор,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения
|ИТОГИ
| СУММА(Сумма),
| СУММА(Количество)
|ПО
| ОБЩИЕ,
| СчетДт,
| Номенклатура");
Запрос.Параметры.Вставить("Начало", НачалоПериода);
Запрос.Параметры.Вставить("Конец", КонецПериода);
Запрос.Параметры.Вставить("Организация", Организация);
Запрос.Параметры.Вставить("Счет10_3", ПланыСчетов.Хозрасчетны.НайтиПоКоду("10.03"));
Запрос.Параметры.Вставить("Счет71_1", ПланыСчетов.Хозрасчетный.НайтиПоКоду("71.01"));
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат;
КонецЕсли;
ВыборкаОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаОбщие.Следующий() Цикл
ВыборкаСчет = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСчет.Следующий() Цикл
ВыборкаНоменклатура = ВыборкаСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
//заполнение шапки таблицы по счету и номенклатуре в макете
Выборка = ВыборкаНоменклатура.Выбрать();
Пока Выборка.Следующий() Цикл
//заполнение данных в детальных строках макета
КонецЦикла;
КонецЦикла;
//заполнение итогово по счету в макете
КонецЦикла;
//заполнение итоговой строки по предприятию в макете
КонецЦикла;