Решил-таки попробовать ВТ по бух. таблицам. Чё-т с лёту не получилось.
В таком виде вообще не выполняется, если указан "Договор" (во вложении - всё что вывалилось в окно сообщений пр РежимеОтладки = 1). Без указания отбора по договору - вроде что-то показывает.
Процедура Сформировать()
спСчетов = СоздатьОбъект("СписокЗначений");
спСчетов.ДобавитьЗначение(СчетПоКоду("77.5"));
спСчетов.ДобавитьЗначение(СчетПоКоду("77.1"));
спСчетов.ДобавитьЗначение(СчетПоКоду("77.7"));
ПрямойЗапрос = СоздатьОбъект("ПрямойЗапрос");
ПрямойЗапрос.УложитьСписокЗначений(спСчетов,"#Счета77");
стрУсловие = "";
Если Договор.Выбран()=1 Тогда
стрУсловие = " (Субконто1 = :Договор) ";
КонецЕсли;
ТекстЗапроса = "
|ВЫБРАТЬ
| ОборотыОсновной.Субконто1 [ДоговорСтрахования $Субконто]
| , ОборотыОсновной.Субконто1_вид КАК ДоговорСтрахования_вид
| ,ОборотыОсновной.СуммаОборот [СуммаОборот :число.15.2]
//| ,ОборотыОсновной.*
|ИЗ $БИОбороты.Основной(:НачДата
| ,:КонДата
| ,Документ
| ,#Счета77
| ,(ДоговораСтрахования)
| ,БЕЗКОРСЧЕТОВ
| ,БЕЗСУБКОНТО
| ,(Сумма)
| ,"+стрУсловие+") КАК ОборотыОсновной
|";
ПрямойЗапрос.РежимОтладки = 1;
ПрямойЗапрос.УстановитьТекстовыйПараметр("НачДата", НачГода(ТекущаяДата()));
ПрямойЗапрос.УстановитьТекстовыйПараметр("КонДата", КонГода(ТекущаяДата()));
ПрямойЗапрос.УстановитьТекстовыйПараметр("Договор", Договор);
ПрямойЗапрос.Текст = ТекстЗапроса;
_ГМ.ПросмотретьРезультат(ПрямойЗапрос);
КонецПроцедуры
Теперь, если я поменяю строку формирования условия на след. (просто убрать скобки):
Если Договор.Выбран()=1 Тогда
стрУсловие = " Субконто1 = :Договор";
КонецЕсли;
То запрос отрабатывает без ошибок, но ничего не возвращает, хотя по указанному мной договору есть проводки.
Что я делаю не так?