из этого запроса: ТекстЗапроса = "SELECT | Товар AS [Товар $Справочник.Номенклатура] | ,Контрагент AS [Клиент $Справочник.Контрагенты] | ,Партия AS [Партия $Справочник.farmПартии] | ,RIGHT(ПозицияДокумента, 9) AS [Док $Документ] | ,ВидДокумента AS Док_вид | ,КоличествоОборот AS [Количество $Число] |FROM | $РегистрОбороты.farmДвижениеТоваров(:НачДата, :КонДата~, Документ,, |" + ?(ВыбТовар.РазмерСписка() > 0, "Товар IN (SELECT Val FROM #Товары)", "") + " |" + ?(ВыбКлиент.РазмерСписка() > 0, "AND Контрагент IN (SELECT Val FROM #Клиенты)", "") + ", | (Контрагент, Товар, Партия), (Количество)) AS Движ |ORDER BY ПозицияДокумента"; Если ВыбТовар.РазмерСписка() > 0 Тогда Если флПоОст = 1 Тогда Спис = СоздатьОбъект("СписокЗначений"); Для н = 1 по ВыбТовар.РазмерСписка() Цикл Спис.ДобавитьЗначение(ВыбТовар.ПолучитьЗначение(н).Товар); КонецЦикла; Запрос.УложитьСписокОбъектов(Спис, "#Товары", "Номенклатура"); Иначе Запрос.УложитьСписокОбъектов(ВыбТовар, "#Товары", "Номенклатура"); КонецЕсли; КонецЕсли; Если ВыбКлиент.РазмерСписка() > 0 Тогда Запрос.УложитьСписокОбъектов(ВыбКлиент, "#Клиенты", "Контрагенты"); КонецЕсли; Запрос.УстановитьТекстовыйПараметр("НачДата", Дата1); Запрос.УстановитьТекстовыйПараметр("КонДата", Дата2);
я сделал такой: ТекстЗапроса = "SELECT | Товар AS [Товар $Справочник.Номенклатура] | ,Контрагент AS [Клиент $Справочник.Контрагенты] | ,Партия AS [Партия $Справочник.farmПартии] | ,RIGHT(ПозицияДокумента, 9) AS [Док $Документ] | ,ВидДокумента AS Док_вид | ,КоличествоОборот AS [Количество $Число] |FROM | $РегистрОбороты.farmДвижениеТоваров(:НачДата, :КонДата~, Документ,,"; Если Фильтр.ТекущаяСтрока() = 1 тогда ТекстЗапроса =ТекстЗапроса + "Товар= :Товар ),"; ИначеЕсли Фильтр.ТекущаяСтрока() = 2 тогда ТекстЗапроса =ТекстЗапроса + "Контрагент= :Контрагент),"; ИначеЕсли Фильтр.ТекущаяСтрока() = 3 тогда КонецЕсли; ТекстЗапроса =ТекстЗапроса +" | (Контрагент, Товар, Партия), (Количество)) AS Движ |ORDER BY ПозицияДокумента"; Если Фильтр.ТекущаяСтрока() = 1 тогда Если флПоОст = 1 Тогда Запрос.УстановитьТекстовыйПараметр("Товар", ВыбТовар.ПолучитьЗначение(i).Товар); Иначе Запрос.УстановитьТекстовыйПараметр("Товар", ВыбТовар); КонецЕсли; ИначеЕсли Фильтр.ТекущаяСтрока() = 2 тогда Запрос.УстановитьТекстовыйПараметр("Контрагент",ВыбКлиент); ИначеЕсли Фильтр.ТекущаяСтрока() = 3 тогда КонецЕсли;
но он не работает..подскажите плз , почему?
|