Имя: Пароль:
1C
 
Отбор в форме списка документа
0 RomaH
 
naïve
06.07.06
11:05
Заказы = Новый СписокЗначений;
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("МоментДокумента", РабочаяДата);

   ДопУсловие = "";

   Запрос.Текст =
   "ВЫБРАТЬ РАЗЛИЧНЫЕ
   |    Резервы.ДокументРезерва КАК ЗаказПокупателя,
   |    Резервы.ДокументРезерва.ДоговорКонтрагента.ЧислоДнейРезерваБезОплаты КАК ЧислоДнейРезерваБезОплаты,
   |    Резервы.ДокументРезерва.Дата КАК ДатаЗаказаПокупателя
   |ИЗ
   |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(
   |        &МоментДокумента,
   |        ДокументРезерва В
   |                (ВЫБРАТЬ
   |                    ВЫРАЗИТЬ(РасчетыСКонтрагентамиОбороты.Сделка КАК Документ.ЗаказПокупателя)
   |                ИЗ
   |                    РегистрНакопления.РасчетыСКонтрагентами.Обороты(, &МоментДокумента, , Сделка В
   |                        (ВЫБРАТЬ
   |                            Документ.ЗаказПокупателя.Ссылка
   |                        ИЗ
   |                            Документ.ЗаказПокупателя
   |                        ГДЕ
   |                            Документ.ЗаказПокупателя.ДоговорКонтрагента.ДержатьРезервБезОплатыОграниченноеВремя)) КАК РасчетыСКонтрагентамиОбороты
   |                ГДЕ
   |                    РасчетыСКонтрагентамиОбороты.Сделка ССЫЛКА Документ.ЗаказПокупателя
   |                    И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход = 0
   |                    И РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход > 0
   |                    И РасчетыСКонтрагентамиОбороты.Сделка.ДоговорКонтрагента.ДержатьРезервБезОплатыОграниченноеВремя)
   |";
   //Лобанов ** доп условие
   Запрос.Текст = Запрос.Текст + ДопУсловие + "
   //Лобанов
   |    ) КАК Резервы
   |ГДЕ
   |    Резервы.ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя";

   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       //ЧислоДнейРезерваБезОплаты = ?(Выборка.ЧислоДнейРезерваБезОплаты = NULL, 0, Выборка.ЧислоДнейРезерваБезОплаты);

       Если (РабочаяДата - Выборка.ДатаЗаказаПокупателя)/(24 * 60 * 60) > ЧислоДнейРезерваБезОплаты Тогда
           НоваяСтрока = Заказы.Добавить();
           НоваяСтрока = Выборка.ЗаказПокупателя;
       КонецЕсли;
   КонецЦикла;
   ДокументСписок.Отбор.Ссылка.Значение = Заказы;
   ДокументСписок.Отбор.Ссылка.ВидСравнения =ВидСравнения.ВСписке;
   ДокументСписок.Отбор.Ссылка.Использование = Заказы.Количество()>0;



ругается что:
{Документ.ЗаказПокупателя.Форма.ФормаСпискаПросроченыхЗаказов(251)}: Ошибка при установке значения атрибута контекста (Значение): Неверный тип значения
   ДокументСписок.Отбор.Ссылка.Значение = Заказы;

что не так ?
1 Волшебник
 
06.07.06
11:09
поменяй местами строчки:

   ДокументСписок.Отбор.Ссылка.Значение = Заказы;
   ДокументСписок.Отбор.Ссылка.ВидСравнения =ВидСравнения.ВСписке;

нужно так:

   ДокументСписок.Отбор.Ссылка.ВидСравнения =ВидСравнения.ВСписке;
   ДокументСписок.Отбор.Ссылка.Значение = Заказы;
2 RomaH
 
naïve
06.07.06
11:10
ага - спасибо
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс