|
Отбор по табличной части | ☑ | ||
---|---|---|---|---|
0
sidrd
07.05.11
✎
15:34
|
Есть табличная часть "ВидыОбъектов", в ней выводятся все документы из конфигурации, заполняется это так:
ВидыОбъектов.Очистить(); Для каждого Док из Метаданные.Документы Цикл Выборка = Документы[Док.Имя].Выбрать(); Пока Выборка.Следующий() Цикл Выборка.получитьОбъект(); НоваяСтрока = ВидыОбъектов.Добавить(); НоваяСтрока.Синоним = Док; НоваяСтрока.Номер=Выборка.Номер; НоваяСтрока.Дата=Выборка.Дата; Если НЕ Метаданные().Реквизиты.Найти("Ответственный")= Неопределено Тогда НоваяСтрока.Ответственный = Выборка.Ответственный Иначе НоваяСтрока.Ответственный="Нет"; КонецЕсли; Если Выборка.ПометкаУдаления = Истина тогда НоваяСтрока.ПометкаУдаления = "Да" иначе НоваяСтрока.ПометкаУдаления = "Нет"; КонецЕсли; Если Выборка.Проведен = Истина тогда НоваяСтрока.Проведен = "Да" иначе НоваяСтрока.Проведен = "Нет"; КонецЕсли; КонецЦикла; КонецЦикла; надо в ней сделать отбор, делаю так: ЭлементОтбора = ВидыОбъектов.Отбор.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно; ЭлементОтбора.ПравоеЗначение = ЭлементыФормы.НачДата; Ругается на то что поле объекта "Отбор" не обнаружено! Делаю свою собсвтенную обработку типа отчета для вывода всех документов в конфигурации и вывода по каждому документу номер, дата и др. Вот надо сделать отбор по дате документов. |
|||
1
Alexandr Puzakov
07.05.11
✎
15:47
|
ОтборСтрок()?
|
|||
2
sidrd
07.05.11
✎
15:48
|
пробовал тоже не работает
|
|||
3
Alexandr Puzakov
07.05.11
✎
15:51
|
версия 1С:Предприятие какая?
|
|||
4
sidrd
07.05.11
✎
15:51
|
отбор не работает почему то, хотя это не виртуальная таблица а созданная и физически существующая Таб часть. А может запросом вывести список всех документов, но запросом я не знаю как это сделать, тем более там по каждому документу надо получить отдельные реквезиты, хм проще тут отбор уже доделать. Версия 8.1.
|
|||
5
Alexandr Puzakov
07.05.11
✎
15:53
|
В 8.1 компоновка данных к спискам, и тем более табличным частям никоим боком...
|
|||
6
sidrd
07.05.11
✎
15:55
|
а как тогжа отбор сделать тут? ну тут не схемой компоновки данных на самом деле выполнено, всё в ручную таб часть, таблица кинутая на форму с реквезитами из этой таб части
|
|||
7
sidrd
07.05.11
✎
15:56
|
так тоже делал не работат:
ЭлементОтбора = ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно; ЭлементОтбора.ПравоеЗначение = ЭлементыФормы.НачДата; |
|||
8
sidrd
07.05.11
✎
16:02
|
И так тоже не работает:
ЭлементОтбора = ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Использование=Истина; ЭлементОтбора.ОтборСтрок.Дата.ВидСравнения = ВидСравнения.БольшеИлиРавно; ЭлементОтбора.ПравоеЗначение = ЭлементыФормы.НачДата.Значение; Пишет что значение не является значением объектного типа |
|||
9
sidrd
07.05.11
✎
16:08
|
Вроде сделал, спасибо!
|
|||
10
Alexandr Puzakov
07.05.11
✎
16:08
|
||||
11
sidrd
07.05.11
✎
16:26
|
(10) Спасибо большое, но я уже сделал, с наступающими праздинками тебя, гы и с прошедшими тоже ))
|
|||
12
БибиГон
07.05.11
✎
16:27
|
(11) как сделал, скажи хоть? =)
|
|||
13
sidrd
07.05.11
✎
17:51
|
Если Не ЭлементыФормы.НачДата.Значение=Дата(1, 1, 1) тогда
ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Использование=Истина; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.ВидСравнения = ВидСравнения.БольшеИлиРавно; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Значение = ЭлементыФормы.НачДата.Значение; КонецЕсли; Если Не ЭлементыФормы.КонДата.Значение=Дата(1, 1, 1) тогда ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Использование=Истина; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.ВидСравнения = ВидСравнения.МеньшеИлиРавно; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Значение = ЭлементыФормы.КонДата.Значение; КонецЕсли; Вообще тут по идеи надо было вид сравнения сделать с в интервале типа так: ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ВидСравнения = ВидСравнения.Интервал; ЭлементыФормы.тпТовары.ОтборСтрок.ВидыОбъектов.ОтборСтрок.Дата.ЗначениеС = ЭлементыФормы.КонДата.Значение; ЭлементыФормы.тпТовары.ОтборСтрок.ВидыОбъектов.ОтборСтрок.Дата.ЗначениеПо = ЭлементыФормы.КонДата.Значение; но тогда если поля будут незаполнены то она работать не будет, сделал условием. |
|||
14
sidrd
07.05.11
✎
17:55
|
вернее так
ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.Использование=Истина; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.ВидСравнения = ВидСравнения.Интервал; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.ЗначениеС = ЭлементыФормы.НачДата.Значение; ЭлементыФормы.ВидыОбъектов.ОтборСтрок.Дата.ЗначениеПо = ЭлементыФормы.КонДата.Значение; но тут все равно если оба поля будут пустые он не выводит данные |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |