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