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