|
Динамический список | ☑ | ||
---|---|---|---|---|
0
DexterMorgan
10.02.12
✎
15:34
|
Есть РС, измерение Номенклатура + куча ресурсов, у него форма, осн. реквизит "Список", пользователь может устанавливать различные отборы, в том числе и по свойствам, категориям вида номенклатуры.
Нужно получить строки, которые в данный момент отобраны на форме. ХЗ в голову приходит только делать еще один запрос и там устанавливать такой же отбор. Может есть еще варианты? |
|||
1
Mort
10.02.12
✎
15:36
|
Надо не запрос делать, а СКД и туда копировать отбор. А вообще, всё это от лукавого. Нафиг.
|
|||
2
vmv
10.02.12
✎
15:37
|
небось итоги по отбору через задницу юзеру показывать
|
|||
3
vmv
10.02.12
✎
15:38
|
да и запрос в динамическом списке уже есть если СКД не юзать, а вся автосписки заменяю на произвольный запрос и список показывает только что должен в этом месте и в этом час, а не всю байду в себе тягать
|
|||
4
vmv
10.02.12
✎
15:39
|
и отборы тоже в запрос вставляю - эта проста. Инициализировать параметры запроса еще проще
|
|||
5
DexterMorgan
10.02.12
✎
16:00
|
(2) Иногда лучше жевать чем говорить.
(4) Приведи пример если тебе не сложно как ОтборКомпоновкиДанных ты вставишь в запрос. Блин, а че от лукавого то? На форме есть неск. строк, выведенных дин. списком, у которого основная таблица РС. Хочу получить ключи этих строк в РС, это МЕГА желание какое? Или для этого нужно еще один раз делать запрос? |
|||
6
DexterMorgan
10.02.12
✎
16:04
|
(1) геморр это
|
|||
7
DexterMorgan
10.02.12
✎
16:05
|
(3) Запроса нет, точнее нет ТекстаЗапроса, потому что ПроизвольныйЗапрос = ЛОЖЬ.
|
|||
8
vmv
10.02.12
✎
16:09
|
(7) что мешает сделать ИСТИНА, календарь майя?
|
|||
9
DexterMorgan
10.02.12
✎
16:14
|
(8) Ничего. Мне нужно получить при такой настройке. Книга знаний: v8: Как получить строки, отобранные отбором есть идеи как подобное сделать для ТаблицыФормы?
|
|||
10
DexterMorgan
10.02.12
✎
17:25
|
ап..
|
|||
11
vmv
10.02.12
✎
17:37
|
(10) комповощик отбора динамического списка очень гибкая щтука и если пользователь умен и ему позволено вручную ставить отборы, то...
штатных средств получить програамно множество строк динамического списка по пользовательскому отбору вы не найдете, кроме СКД естественно. Вспомните, что в пользовательском отборе УФ для дин. списка можно делать группы фильтров с самой разнообразной логикой и что тогда? Вывод способа решения задачи два 1. Использовать СКД для клонирования в ней пользовтельского отбора дин. списка и получения через нее аналогичное множество строк строк 2. Отключение возможности отобра в дин списке и предоставление пользователю полей отбора на форму, которые являються параметрами произвольного запроса дин. списка. Я в таких случаях выбираю 2-й путь, ибо пользователь не травмирует свою психику слишком умным штатным отбором в УФ, а видит перед глазами что и как отобрано и то что он отобрар попадает мигом в запрос динсписка как параметр. Этот же текст запроса мы можем прочитать и легко определить, что реально "видит" пользователь. Ета все, чувак |
|||
12
DexterMorgan
13.02.12
✎
12:06
|
(11) Наверное придется создавать СКД...
Блин, неужели нельзя как нить программно выполнить CTRL+A при активном элементе, отображающим этот динамический список? Тогда бы все что нужно попало бы в выделенные строки... |
|||
13
DexterMorgan
13.02.12
✎
12:18
|
Вухууууууууууууу!!!!!!!!!!!
Wsh = Новый СОМОбъект("Wscript.shell"); //Wsh - переменная. Можно было дать любое другое имя Wsh.SendKeys("^+ф"); //имитируем нажатие ++ Wsh.SendKeys("^+a"); //для случая, если текущей является русская раскладка клавиатуры |
|||
14
DexterMorgan
13.02.12
✎
12:22
|
Итак проблема решена! =))) Без СКД и прочей лабуды xDDDDD
ЭтаФорма.ТекущийЭлемент = Элементы.Товары; ВыполнитьCtrlA(); Строки = Элементы.Товары.ВыделенныеСтроки; &НаСервере Процедура ВыполнитьCtrlA() Wsh = Новый COMОбъект("Wscript.shell"); //Wsh - переменная. Можно было дать любое другое имя, например Окно Wsh.SendKeys("^+ф"); //имитируем нажатие ++ Wsh.SendKeys("^+a"); //для случая, если текущей является русская раскладка клавиатуры КонецПроцедуры После этого получаем в переменной "Строки" все строки которые вывел динамический список! =))) |
|||
15
MRAK
13.02.12
✎
12:23
|
(13) ужас нах...
|
|||
16
Anderson
13.02.12
✎
12:28
|
Вот это креатив.
|
|||
17
DexterMorgan
13.02.12
✎
12:59
|
В (14) есть ошибки: получать СОМОбъект надо на клиенте + SendKeys("^ф") или SendKeys("^(ф)") - без плюса. Вот конечный код:
ЭтаФорма.ТекущийЭлемент = Элементы.Товары; Wsh = Новый COMОбъект("Wscript.shell"); //Wsh - переменная. Можно было дать любое другое имя Wsh.SendKeys("^(ф)"); //имитируем нажатие ++ Wsh.SendKeys("^(a)"); Строки = Элементы.Товары.ВыделенныеСтроки; Не понятно пока вот что без отладки все норм строки выделяются, когда ставлю точку останова выделения строк не происходит.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |