ПрямойЗапрос = СоздатьОбъект("ПрямойЗапрос"); ПрямойЗапрос.РежимОтладки = 1; ПрямойЗапрос.УстановитьТекстовыйПараметр("Фирма", ВыбФирмы); ПрямойЗапрос.УстановитьТекстовыйПараметр("ДатаНач", ДатаНач); ПрямойЗапрос.УстановитьТекстовыйПараметр("ДатаКон", ДатаКон); ДопУсловие = ""; Если ВыбКонтрагенты.ЭтоГруппа() = 0 Тогда ДопУсловие = ДопУсловие + " | И ($Реализация.Контрагент = :Контрагент)"; ПрямойЗапрос.УстановитьТекстовыйПараметр("Контрагент", ВыбКонтрагенты); Иначе ДопУсловие = ДопУсловие + " | И ($Реализация.Контрагент В (ВЫБРАТЬ val ИЗ #Контрагент))"; ПрямойЗапрос.УложитьСписокГрупп(ВыбКонтрагенты, "#Контрагент", "Контрагенты"); КонецЕсли; ПрямойЗапрос.Текст = " |ВЫБРАТЬ | Реализация.IDDOC КАК [Документ $Документ.Реализация] |, Журнал.DATE КАК [Дата $Дата] |, $Реализация.НомерСФ КАК [НомерСФ $Справочник.НомераБУ] |, $Реализация.НомерСФ_Сапсан КАК [НомерСФ_Сапсан $Справочник.НомераБУ_Сапсан] |, $РеализацияСтроки.Номенклатура КАК [Номенклатура $Справочник.Номенклатура] |, $РеализацияСтроки.Количество КАК [Количество $Число] |, Номенклатура.CODE КАК [Код $Строка] |, Номенклатура.ПолнНаименование КАК [НоменклатураНаим $Строка] |, $Номенклатура.СтранаПроисхождения КАК [СтранаПроисхождения $Справочник.ОКСМ] |, $Номенклатура.КлассВидПрод КАК [КлассВидПрод $Справочник.КлассВидПрод] |, $Номенклатура.КлассВидПродСапсан КАК [КлассВидПродСапсан $Справочник.КлассВидПрод] |, $Номенклатура.Емкость КАК [Литраж $Число] |, $Номенклатура.Импортер КАК [Импортер $Справочник.Контрагенты] |, $Номенклатура.Производитель КАК [Производитель $Справочник.Контрагенты] |ИЗ | ЖурналДокументов КАК Журнал $nolock |ЛЕВОЕ СОЕДИНЕНИЕ | Документ.Реализация КАК Реализация $nolock |ПО | Журнал.IDDOC = Реализация.IDDOC |ЛЕВОЕ СОЕДИНЕНИЕ | ДокументСтроки.Реализация КАК РеализацияСтроки $nolock |ПО | Реализация.IDDOC = РеализацияСтроки.IDDOC |ЛЕВОЕ СОЕДИНЕНИЕ | Справочник.Номенклатура КАК Номенклатура $nolock |ПО | РеализацияСтроки.Номенклатура = Номенклатура.ID |ГДЕ | (Журнал.IDDOCDEF = :ВидДокумента.Реализация) | И ((Журнал.CLOSED & 1) = 1) | И (Журнал.DATE МЕЖДУ :ДатаНач И :ДатаКон~) | И (Журнал.$ОбщийРеквизит.Фирма = :Фирма) | И ($Реализация.Заказ = 0) |" + ДопУсловие; Попытка итРезультат = ПрямойЗапрос.Выполнить(); итРезультат.Группировать("Документ:Документ", "", 1); итРезультат.Сортировать("Дата"); Возврат итРезультат; Исключение Сообщить(ОписаниеОшибки()); Возврат 0; КонецПопытки; DROP TABLE IF EXISTS vt_Контрагент Время подготовки запроса: 0 мс, время выполнения запроса: 1 мс. create table vt_Контрагент(val char(9) primary key) Время подготовки запроса: 0 мс, время выполнения запроса: 2 мс. insert into vt_Контрагент values (' 92YИР ') Время подготовки запроса: 0 мс, время выполнения запроса: 2 мс. select id from [Справочник.Контрагенты] as sc inner join vt_Контрагент as vt1 on sc.parentid = vt1.val where (sc.isfolder = 1) and (sc.id not in (select val from vt_Контрагент)) Подбор индекса для таблицы SC172: Ограничения: ISFOLDER=; PARENTID=; Найдено в кэше Выбран индекс PCODE: PARENTID+STR(ISFOLDER,1)+UPPER(CODE) Стоимость: 21 Подбор индекса для таблицы SC172: Ограничения: ISFOLDER=; PARENTID=; Найдено в кэше Выбран индекс PCODE: PARENTID+STR(ISFOLDER,1)+UPPER(CODE) Стоимость: 21 Время подготовки запроса: 0 мс, время выполнения запроса: 13 мс. SELECT Реализация.IDDOC AS [Документ $Документ.Реализация] , Журнал.DATE AS [Дата $Дата] , Реализация.НомерСФ AS [НомерСФ $Справочник.НомераБУ] , Реализация.НомерСФ_Сапсан AS [НомерСФ_Сапсан $Справочник.НомераБУ_Сапсан] , РеализацияСтроки.Номенклатура AS [Номенклатура $Справочник.Номенклатура] , РеализацияСтроки.Количество AS [Количество $Число] , Номенклатура.CODE AS [Код $Строка] , Номенклатура.ПолнНаименование AS [НоменклатураНаим $Строка] , Номенклатура.СтранаПроисхождения AS [СтранаПроисхождения $Справочник.ОКСМ] , Номенклатура.КлассВидПрод AS [КлассВидПрод $Справочник.КлассВидПрод] , Номенклатура.КлассВидПродСапсан AS [КлассВидПродСапсан $Справочник.КлассВидПрод] , Номенклатура.Емкость AS [Литраж $Число] , Номенклатура.Импортер AS [Импортер $Справочник.Контрагенты] , Номенклатура.Производитель AS [Производитель $Справочник.Контрагенты] FROM [Журнал] AS Журнал LEFT JOIN [Документ.Реализация] AS Реализация ON Журнал.IDDOC = Реализация.IDDOC LEFT JOIN [ДокументСтроки.Реализация] AS РеализацияСтроки ON Реализация.IDDOC = РеализацияСтроки.IDDOC LEFT JOIN [Справочник.Номенклатура] AS Номенклатура ON РеализацияСтроки.Номенклатура = Номенклатура.ID WHERE (Журнал.IDDOCDEF = ' 18R') AND ((Журнал.CLOSED & 1) = 1) AND (Журнал.DATE BETWEEN '20120401' AND '20120430Я') AND (Журнал.Фирма = ' 2ЛЕ ') AND (Реализация.Заказ = 0) AND (Реализация.Контрагент IN (SELECT val FROM vt_Контрагент)) Подбор индекса для таблицы 1SJOURN: Ограничения: IDDOCDEF=; SP4056[Фирма]=; DATE>=; DATE<=; Найдено в кэше Выбран индекс DOCTYPE: IDDOCDEF+DTOS(DATE)+TIME+IDDOC Стоимость: 36 Подбор индекса для таблицы DH1611: Ограничения: SP7690[Заказ]=; IDDOC=; Найдено в кэше Выбран индекс ID: IDDOC Стоимость: 16 Подбор индекса для таблицы DT1611: Ограничения: IDDOC=; Найдено в кэше Выбран индекс IDLINE: IDDOC+STR(LINENO,4) Стоимость: 40 Подбор индекса для таблицы SC84: Ограничения: ID=; Найдено в кэше Выбран индекс IDD: ID Стоимость: 14 Время подготовки запроса: 30 мс, время выполнения запроса: 42 мс.