S
Sangitam
Делаю так
рс = СоздатьОбъект("ODBCRecordset");
СписокСчетов = СоздатьОбъект("СписокЗначений");
//Данный фрагмент построен конструктором.
//При повторном использовании конструктора внесенные вручную изменения будут потеряны!!!
ТекстЗапроса = "-- qryMaker:Отчет1.2008.12.21.14.39.53
|SELECT Счет.IDDOC [Ссылка $Документ.Счет]
|FROM $Документ.Счет AS Счет
| LEFT OUTER JOIN $Справочник.Контрагенты AS Контрагенты ON $Счет.Контрагент = $Контрагенты.РодительскаяКомпания
|WHERE ($Счет.Контрагент = :ВыбКонтрагент)
|";
рс.УстановитьТекстовыйПараметр("ВыбКонтрагент", ВыбКонтрагент);
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
тз.ВыбратьСтроки();
Пока тз.ПолучитьСтроку() = 1 Цикл
СписокСчетов.ДобавитьЗначение(тз.Ссылка);
КонецЦикла;
и затем
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "-- qryMaker:Отчет1.2008.12.12.17.44.44
|SELECT ЗаказыОстатки.ДокументЗаказа [ДокументЗаказа $Документ]
| , ЗаказыОстатки.Заказ [Заказ $Документ.Счет]
|FROM $РегистрОстатки.ЗаказыДата2,,
| (Состояние = $Перечисление.СостояниеТМЦ.ЗаказанВПроизводство)
| AND (ТМЦ IN (SELECT val FROM #Группа))
| AND (Заказ IN (SELECT val FROM #СписокСчетов)),
| (ДокументЗаказа, Заказ),) AS ЗаказыОстатки
|";
рс.УложитьСписокОбъектов(времТМЦ,"#Группа","ТМЦ");
рс.УложитьСписокОбъектов13(СписокСчетов,"#СписокСчетов");
рс.УстановитьТекстовыйПараметр("Дата2", Дата2);
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
но в результате имею пустую таблицу.
Опытным путем установлено, что дело как-то связано с УложитьСписокОбъектов13
В уже имеющемся другом отчете таковая конструкция работает, с единственной разницей, что документ другого вида.
рс = СоздатьОбъект("ODBCRecordset");
СписокСчетов = СоздатьОбъект("СписокЗначений");
//Данный фрагмент построен конструктором.
//При повторном использовании конструктора внесенные вручную изменения будут потеряны!!!
ТекстЗапроса = "-- qryMaker:Отчет1.2008.12.21.14.39.53
|SELECT Счет.IDDOC [Ссылка $Документ.Счет]
|FROM $Документ.Счет AS Счет
| LEFT OUTER JOIN $Справочник.Контрагенты AS Контрагенты ON $Счет.Контрагент = $Контрагенты.РодительскаяКомпания
|WHERE ($Счет.Контрагент = :ВыбКонтрагент)
|";
рс.УстановитьТекстовыйПараметр("ВыбКонтрагент", ВыбКонтрагент);
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
тз.ВыбратьСтроки();
Пока тз.ПолучитьСтроку() = 1 Цикл
СписокСчетов.ДобавитьЗначение(тз.Ссылка);
КонецЦикла;
и затем
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "-- qryMaker:Отчет1.2008.12.12.17.44.44
|SELECT ЗаказыОстатки.ДокументЗаказа [ДокументЗаказа $Документ]
| , ЗаказыОстатки.Заказ [Заказ $Документ.Счет]
|FROM $РегистрОстатки.ЗаказыДата2,,
| (Состояние = $Перечисление.СостояниеТМЦ.ЗаказанВПроизводство)
| AND (ТМЦ IN (SELECT val FROM #Группа))
| AND (Заказ IN (SELECT val FROM #СписокСчетов)),
| (ДокументЗаказа, Заказ),) AS ЗаказыОстатки
|";
рс.УложитьСписокОбъектов(времТМЦ,"#Группа","ТМЦ");
рс.УложитьСписокОбъектов13(СписокСчетов,"#СписокСчетов");
рс.УстановитьТекстовыйПараметр("Дата2", Дата2);
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
но в результате имею пустую таблицу.
Опытным путем установлено, что дело как-то связано с УложитьСписокОбъектов13
В уже имеющемся другом отчете таковая конструкция работает, с единственной разницей, что документ другого вида.