Имя: Пароль:
1C
1C 7.7
v7: Проблема с условием в запросе !
0 p1C
 
06.06.12
19:26
ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |ОбрабатыватьДокументы Все;
   |Обрабатывать НеПомеченныеНаУдаление;

   |Склад=Документ.ТМЦПриходная.МестоХранения;
   |СуммаБезНДС = Документ.ТМЦПриходная.СуммаБезНДС;  
   |СуммаНДС = Документ.ТМЦПриходная.СуммаНДС;        
   |Сумма = Документ.ТМЦПриходная.Сумма;  
   |Товар = Документ.ТМЦПриходная.ТМЦ;  
       ;  

   Если списокТМЦ.РазмерСписка()>0 Тогда
        ТекстЗапроса=ТекстЗапроса+"Условие (Товар в СписокТмц);
       |";
   КонецЕсли;

списокТМЦ - список значений в форме отчета где можно выбрать фильтры ТМЦ. Если ничего не выбирать - то отчет формируется по всем (логично )) ).Если выбирать какие-то позиции ТМЦ то он ничего не выдает. Выбранные ТМЦ выбраны из общего отчета. В чём может быть проблема ? Реквизит "ТМЦ" в данном документе имеет тип "Неопределенный".
1 p1C
 
06.06.12
19:39
Всё-таки фильтр по неопределенному реквизиту не хочет делать. Как в таких случаев тогда ставится условие ? Может кто-то столкнулся с таким нюансом ?
2 МихаилМ
 
06.06.12
19:47
выгрузите в стороку, поменяйте тип

либо, вместо списка вставте в запрос

серию условий
"
Товар = МассивТмц[N]
 ИЛИ
"

тогда 1с сама приведет к нужному типу.

или
преоразуйте
с помощью найтиэлемент()
3 1Сергей
 
07.06.12
09:49
Если списокТМЦ.РазмерСписка()>0 Тогда
        ТекстЗапроса=ТекстЗапроса+"Условие (Товар в СписокТмц);
       |<";                // <--------------------------- Вот это что за х-ня?
   КонецЕсли;
4 p1C
 
07.06.12
10:20
(3) опечатка