|
СКД. Отбор на форме. | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
02.10.12
✎
09:43
|
Обычное приложение.
Набор данных объект. Т.е. формирую таблицу, которую и подсовываю СКД. Хочу организовать отбор по полю "Номенклатура". Насколько я понял, сначала выполняется заполнение моей таблицы, а уж потом накладывается условие. Работает естественно медленно. Вопрос. Как организовать поле отбора на форме? Что бы можно было выбирать элемент, группу, список |
|||
1
Defender aka LINN
02.10.12
✎
09:48
|
"Насколько я понял, сначала выполняется заполнение моей таблицы, а уж потом накладывается условие"
Блеать, вот ОТКУДА вы набираетесь этого говна в моск? ГДЕ это написано? |
|||
2
Галахад
гуру
02.10.12
✎
09:50
|
(1) Чо орать-то?
Откуда СКД знает как таблицу заполняю? |
|||
3
IronDemon
02.10.12
✎
10:08
|
Отбор для твоей таблицы или СКД?
Если для твоей, то надо себя как-то заставить использовать отбор. |
|||
4
Галахад
гуру
02.10.12
✎
10:11
|
(3) Ага. Что-то сложновато получается...
Отбор = КомпоновщикНастроек.Настройки.Отбор; Для каждого ЭлементОтбора Из Отбор.Элементы Цикл Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура") Тогда Если ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии Тогда КонецЕсли; КонецЕсли; КонецЦикла; А еще может быть равно, в списке, и НЕ... |
|||
5
IronDemon
02.10.12
✎
10:13
|
А зачем тебе СКДый отбор для твоей таблицы?
|
|||
6
Галахад
гуру
02.10.12
✎
10:13
|
Как-то можно получить из СКД, простой список номенклатуры по условию?
|
|||
7
Галахад
гуру
02.10.12
✎
10:14
|
(5) Ну не обязательно. Просто нужен нормальный отбор на форме.
Что бы и в группе и в списке и т.д. можно было выбрать. |
|||
8
Defender aka LINN
02.10.12
✎
10:18
|
(7) Набор данных запрос сделать слабО?
|
|||
9
IronDemon
02.10.12
✎
10:18
|
// Заполняет отбор построителя по отбору компоновщика
Процедура ЗаполнитьОтборПоОтборуКомпоновщика(Отбор, ОтборКомпоновщика) Экспорт ЗаполнитьЗначенияСвойств(Отбор, ОтборКомпоновщика, "Использование, Представление"); Если ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше Тогда Отбор.ВидСравнения = ВидСравнения.Больше; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно Тогда Отбор.ВидСравнения = ВидСравнения.БольшеИлиРавно; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии Тогда Отбор.ВидСравнения = ВидСравнения.ВИерархии; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Тогда Отбор.ВидСравнения = ВидСравнения.ВСписке; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии Тогда Отбор.ВидСравнения = ВидСравнения.ВСпискеПоИерархии; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше Тогда Отбор.ВидСравнения = ВидСравнения.Меньше; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно Тогда Отбор.ВидСравнения = ВидСравнения.МеньшеИлиРавно; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВИерархии Тогда Отбор.ВидСравнения = ВидСравнения.НеВИерархии; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке Тогда Отбор.ВидСравнения = ВидСравнения.НеВСписке; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда Отбор.ВидСравнения = ВидСравнения.НеВСпискеПоИерархии; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно Тогда Отбор.ВидСравнения = ВидСравнения.НеРавно; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.НеСодержит Тогда Отбор.ВидСравнения = ВидСравнения.НеСодержит; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда Отбор.ВидСравнения = ВидСравнения.Равно; ИначеЕсли ОтборКомпоновщика.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит Тогда Отбор.ВидСравнения = ВидСравнения.Содержит; Иначе // Не нашли соответствие - не применяем отбор Отбор.Использование = Ложь; Возврат; КонецЕсли; Отбор.Значение = ОтборКомпоновщика.ПравоеЗначение; КонецПроцедуры Ну или построитель для себя открой ;) |
|||
10
Defender aka LINN
02.10.12
✎
10:23
|
(9) Для нафига это извращение? Платформа сама умеет отбор СКД в запрос засунуть
|
|||
11
godmod80
02.10.12
✎
10:27
|
есть ведь закладка Отбор в СКД и на форму просто добавить новый элемент
|
|||
12
IronDemon
02.10.12
✎
10:28
|
Автор хочет отбор СКД использовать для заполнения своей таблицы. Я прав?
|
|||
13
Галахад
гуру
02.10.12
✎
10:35
|
(8) Изначально это и был запрос. Просто я фигово СКД знаю.
И не понимаю как грамотно отборы сделать... (9) Спасибо, сейчас попробую. (11) Это уже есть. (12) Да. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |