Не знаю, насколько корректно выкладывать сюда этот код, но я рискну

Не сдайте меня

)
Короче, есть документ, проведение которого занимает 16-18 минут. 68% времени занимает вот этот запрос:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| СписокОС.ОсновноеСредство КАК ОсновноеСредство,
| СписокОС.Ссылка.Организация КАК Организация,
| СписокОС.Ссылка.СистемаУчета КАК СистемаУчета,
| СписокОС.Ссылка.Дата КАК Дата,
| &ЕстьНалоговыйУчет КАК ЕстьНалоговыйУчет,
| &ВедетсяУчетПоПодразделениям КАК ВедетсяУчетПоПодразделениям,
| &СистемаУчетаСтандартна КАК СистемаУчетаСтандартна,
| &ИмяРегистраСУ КАК ИмяРегистраСУ,
| СписокОС.МетодНачисленияАмортизации КАК МетодНачисленияАмортизации,
| СписокОС.ОбъемВыпуска КАК КоличествоВыпущеннойПродукции,
| СведенияОС.ДатаПринятияКУчету КАК ДатаПринятияКУчету,
| СведенияОСАморт.СрокПолезногоИспользования КАК СрокПолезногоИспользования,
| СчетаУчетаОС.СчетУчета КАК СчетУчета,
| СведенияОСАморт.СчетЗатрат КАК СчетЗатрат,
| СчетаУчетаОС.СчетНачисленияАмортизации КАК СчетНачисленияАмортизации,
| СчетаУчетаОС.СчетСниженияСтоимости КАК СчетСниженияСтоимости,
| СведенияОСАморт.ЛиквидационнаяСтоимость КАК ЛиквидационнаяСтоимость,
| СведенияОСАморт.КоэффициентУскорения КАК КоэффициентУскорения,
| СведенияОСАморт.ПредполагаемыйОбъемПродукции КАК ПредполагаемыйОбъемПродукции,
| СведенияОС.ПервоначальнаяСтоимость КАК ПервоначальнаяСтоимость,
| СведенияОСАморт.НачислятьАмортизацию КАК НачислятьАмортизацию,
| СписокОС.СуммаАмортизацииНачисленная КАК СуммаНачисленнойАмортизации,
| СведенияОСАморт.Субконто1 КАК Субконто1,
| СведенияОСАморт.Субконто2 КАК Субконто2,
| СведенияОСАморт.Субконто3 КАК Субконто3,
| СведенияОСАморт.Субконто4 КАК Субконто4,
| СведенияОСАморт.Субконто5 КАК Субконто5,
| " + ТекстСубконто + "
| ВЫБОР
| КОГДА СведенияОС.МетодОценкиАктивов = &ПустойМетодОценки
| ТОГДА УчетнаяПолитика.МетодОценкиАктивов
| ИНАЧЕ СведенияОС.МетодОценкиАктивов
| КОНЕЦ КАК МетодОценкиОсновныхСредств,
| УчетнаяПолитика.ПроизводитьАмортизациюОбесценения КАК ПроизводитьАмортизациюОбесценения,
| СписокОС.СуммаАмортизацииНачисленная,
| СписокОС.СуммаАмортизацииОбесценения,
| СписокОС.СуммаОбесценения
|
|ИЗ
| Документ.хн_НачисленияАмортизацииОС.ОсновныеСредства КАК СписокОС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.хн_ОсновныеСредства КАК СведенияОС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.хн_СчетаУчетаОС.СрезПоследних(&Дата,СистемаУчета = &СистемаУчета И Организация = &Организация ) КАК СчетаУчетаОС
| ПО СведенияОС.ОсновноеСредство = СчетаУчетаОС.ОсновноеСредство
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии." + ИмяРегистраСУ + ".Остатки(&Дата, , , Организация = &Организация) КАК РегистрБухгалтерииОстатки
| ПО ( " + Сред(ТекстУсловиеСубконто,5) + ")
| И (СчетаУчетаОС.СчетУчета = РегистрБухгалтерииОстатки.Счет)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.хн_ПараметрыАмортизацииОС.СрезПоследних(&Дата,СистемаУчета = &СистемаУчета И Организация = &Организация) КАК СведенияОСАморт
| ПО (СведенияОСАморт.ОсновноеСредство = СведенияОС.ОсновноеСредство)
| И (СведенияОСАморт.НачислятьАмортизацию)
| ПО (СведенияОС.ОсновноеСредство = СписокОС.ОсновноеСредство
| И СведенияОС.СистемаУчета = СписокОС.Ссылка.СистемаУчета
| И СведенияОС.Организация = СписокОС.Ссылка.Организация)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.хн_УчетнаяПолитикаСУ.СрезПоследних(
| &Дата,
| Организация = &Организация
| И СистемаУчета = &СистемаУчета) КАК УчетнаяПолитика
| ПО (ИСТИНА)
|ГДЕ
| СписокОС.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("Дата", КонецМесяца(СтруктураПараметров.ДатаКон));
Запрос.УстановитьПараметр("Организация", СтруктураПараметров.Организация);
Запрос.УстановитьПараметр("СистемаУчета", СтруктураПараметров.СистемаУчета);
Запрос.УстановитьПараметр("ПустойМетодОценки", Перечисления.хн_МетодыОценкиАктивов.ПустаяСсылка());
Запрос.УстановитьПараметр("ЕстьНалоговыйУчет", СтруктураПараметров.ЕстьНалоговыйУчет);
Запрос.УстановитьПараметр("ВедетсяУчетПоПодразделениям", СтруктураПараметров.ВедетсяУчетПоПодразделениям);
Запрос.УстановитьПараметр("СистемаУчетаСтандартна",
СтруктураПараметров.СистемаУчетаСтандартна);
Запрос.УстановитьПараметр("ИмяРегистраСУ", ИмяРегистраСУ);
Возврат Запрос.Выполнить();