|
v7: Отбор в справочнике | ☑ | ||
---|---|---|---|---|
0
kupec
31.01.13
✎
16:52
|
У элемента справочника есть три реквизита, которые либо 1 либо 0, можно ли установить отбор следующим образом, а именно: показать все элементы у которых первый реквизит = 1, показать те элементы у которых реквизит первый равен 1 и реквизит третий равен 1, показать те элементы у которых второй и третий реквизиты равны 0...ну и все возможные варианты )))) ????
|
|||
5
Builder
31.01.13
✎
17:06
|
(4) На SQL не будет, даже без прямых запросов. На DBF обязательно будет.
|
|||
6
Builder
31.01.13
✎
17:08
|
(4) Составной реквизит - ну например еще один справочник со всеми возможными вариантами флажков и по этому справочнику делать отбор, а не по твоим реквизитам.
|
|||
7
Builder
31.01.13
✎
17:10
|
(4) Если элементов всего 3 и у каждого 2 значения, получается 9 вариантов. Соответственно хватит числа 1-9.
|
|||
8
miki
31.01.13
✎
17:20
|
(7)для трёх бит достаточно 8 цифр. От 0-7 перекроет всё.
|
|||
9
Mikeware
31.01.13
✎
17:23
|
(7) 2 в третью степень возвести - уже проблемно? :-)
иэх... "куда катится мир"© |
|||
10
фобка
31.01.13
✎
17:31
|
прямой запрос самое простое решение.. составной реквизит - это просто новый реквизит того же справочника тип строка длина 3, который заполняется при записи элементов (типа "101", "110")..
|
|||
11
Builder
31.01.13
✎
17:34
|
(9) Ну да, попутал, возвел 3 во вторую, стареем....
(10) 1 число проще записать чем строку. |
|||
12
PALESIA
31.01.13
✎
17:37
|
Народ, а как на счет математического решения за счет одного реквизита: (1-ый)*3^0 + (2-ой)*3^1 + (3-ий)*3^2 ? )))
|
|||
13
Mikeware
31.01.13
✎
17:39
|
(12)
- Мальчик, как тебя зовут? - Здрррасте! - Ты че тормоз? - Вася! - Ладно, Вася, скока те лет? - Сам ты тормоз! © |
|||
14
фобка
31.01.13
✎
17:39
|
(12) можно одним реквизитом (число, длина 1) без подчиненного справочника - сложнее анализировать при написании.. и в отладке
|
|||
15
Mikeware
31.01.13
✎
17:40
|
(14) И чего тут сложного?
|
|||
16
miki
31.01.13
✎
17:41
|
(14)твоя строка из (10) то же самое число, но в двоичном виде...
|
|||
17
фобка
31.01.13
✎
17:42
|
(15) например, сходу сказать какое положение переключателей для числа 5
|
|||
18
miki
31.01.13
✎
17:43
|
(17)=ToBinary(5);
|
|||
19
Builder
31.01.13
✎
17:43
|
(17) Сходу будет написано на форме галочками. А отбор будет по реквизиту.
|
|||
20
фобка
31.01.13
✎
17:44
|
(18) не помню такого метода
|
|||
21
miki
31.01.13
✎
17:46
|
(20)внештатный :))
http://my1c-archive.narod.ru/knowhow/uni_conv.html |
|||
22
Mikeware
31.01.13
✎
17:48
|
(17)блин, это на автомате...
у меня даже сын 13летний, задумавшись, ответит... |
|||
23
фобка
31.01.13
✎
17:50
|
(22) старая школа..
(21) ну тогда +, это самый быстрый штатный способ |
|||
24
kupec
01.02.13
✎
10:02
|
вот конкретный пример:
Есть элемент 1 со значением реквизитов: первый реквизит = 1 второй реквизит = 0 третий реквизит = 0 Есть элемент 2 со значением реквизитов: первый реквизит = 0 второй реквизит = 1 третий реквизит = 0 При установке отбора должны быть следующие возможности: 1) показать те элементы у которых первый реквизит =1; 2) показать те элементы у которых второй реквизит =1; 3) показать те элементы у которых либо первый реквизит =1 либо второй реквизит =1; |
|||
25
miki
01.02.13
✎
10:36
|
(24)это три разных условия или одновременных?
|
|||
26
kupec
01.02.13
✎
10:41
|
(25) естественно разных! просто как варианты различных условий!
|
|||
27
Mikeware
01.02.13
✎
10:43
|
(26) И в чем сложность?
|
|||
28
Mikeware
01.02.13
✎
10:44
|
пардон, понял, в чем...
:-( долбаный чернобыль.... |
|||
29
kupec
01.02.13
✎
10:44
|
(27) буду рад оказаться глупым в том , что не могу решить такую простую задачу, если конечно ты мне в этом поможешь ))) использоватьсписокэлементов() не предлагать!!!
|
|||
30
Ёпрст
01.02.13
✎
10:45
|
(29) прочитай ветку с начала, тут есть все ответы.
|
|||
31
kupec
01.02.13
✎
10:53
|
(30) прочитал и не нашел (а скорее всего не понял), может ткнешь пальцем?
|
|||
32
Ёпрст
01.02.13
✎
10:58
|
втыкаешь составной реквизит, хоть строку, хоть число, втыкаешь галку отбор ему, при записи справочника в этот реквизит пишешь значения из трех твоих реквизитов.
Усё.. потом отбор по этому реквизиту. |
|||
33
kupec
01.02.13
✎
10:59
|
(33) спасибо, буду пробовать
|
|||
34
Ёпрст
01.02.13
✎
10:59
|
Если религия позволяет, всё в топку, тп на форму, поставщиком прямой запрос, там какой угодно отбор.
Ежели скуль, то можно вкхук от ромикса , там переопределять запрос и делать отбор |
|||
35
kupec
01.02.13
✎
11:02
|
если справочник порядка 70000 элементов, запросы не затормозят отбор?
|
|||
36
kupec
01.02.13
✎
11:03
|
база SQL
|
|||
37
Ёпрст
01.02.13
✎
11:03
|
(35) прямой ? нет
|
|||
38
Ёпрст
01.02.13
✎
11:04
|
||||
39
kupec
01.02.13
✎
11:07
|
Спасибо
|
|||
40
kupec
01.02.13
✎
11:13
|
(38) решил пока остановиться на составном реквизите, но пока не знаю даже с чего начать, не могу подогнать его (значение реквизита) под мои условия
|
|||
41
Ёпрст
01.02.13
✎
11:16
|
если совсем туго с логикой, то тип строка, длина 3..
все значения 1. "000" 2. "001" 3. "010" 4. "011" 5. "100" 6. "101" 7. "110" 8. "111" |
|||
42
Ёпрст
01.02.13
✎
11:17
|
ну или число, длина 1
|
|||
43
kupec
01.02.13
✎
11:17
|
это я понял (и единственное что записал ))) ) а как установить отбор и какое значение отбора чтобы туда попали значения 001 и 010 ??
|
|||
44
Mikeware
01.02.13
✎
11:20
|
(43)Для числового - реквизит & 0b011 >0
|
|||
45
kupec
01.02.13
✎
11:27
|
Насколько мне известно там ставится конкретное значение отбора а не условие !!!
|
|||
46
Dolly_EV
01.02.13
✎
13:49
|
Угу, вот это " показать те элементы у которых либо первый реквизит =1 либо второй реквизит =1;" все обламывает всмысле штатности. Так что только прямой запрос остается
|
|||
47
kupec
01.02.13
✎
13:50
|
(46) из твоего ответа я уверен на 100% что ты меня понял в отличии от других )))
|
|||
48
Dolly_EV
01.02.13
✎
13:51
|
(47) Но тебе от этого не легче - придется познавать прямые запросы :-))
|
|||
49
kupec
01.02.13
✎
13:53
|
(48) да я с ними знаком заочно, буду знакомиться ближе )))
|
|||
50
Dolly_EV
01.02.13
✎
13:53
|
(47) можно конечно все сочетания по "ИЛИ" добавить, но тогда составной реквизит распухнет и будет мешать ходить :-))
|
|||
51
Ёпрст
01.02.13
✎
13:56
|
(47) очень хорошо.
Как ты будешь при этом задавать условия для отбора ? к примеру, твои реквизиты - 3 флажка. Как ты задашь "или" между ними на форме? |
|||
52
miki
01.02.13
✎
13:57
|
(47)Для варианта "показать те элементы у которых либо первый реквизит =1 либо второй реквизит =1"
надо выводить реквизиты, у которых _и_ первый=1 _и_ второй =1? |
|||
53
miki
01.02.13
✎
13:57
|
*выводить элементы
|
|||
54
Ёпрст
01.02.13
✎
13:58
|
И если че, ответ на (43) - установить отбор по первому полю в 0 (для этого, все эти поля надо тоже с отбором сделать)
|
|||
55
miki
01.02.13
✎
14:03
|
(43)
wiki:%C4%E8%E7%FA%FE%ED%EA%F6%E8%FF в реквизит для отбора надо будет записать 0b001 V 0b010 = 0b011 => 3. |
|||
56
miki
01.02.13
✎
14:06
|
||||
57
Dolly_EV
01.02.13
✎
14:12
|
(51) Три поля с заданием условия для каждого реквизита (=,<>,>,<) и два поля с заданием "И" или "ИЛИ" между 1,2,3 полями условий для реквизитов
и все это в том же виде упихать в ПЗ |
|||
58
Ёпрст
01.02.13
✎
14:14
|
(57) ну и пример приведи, для (43)
|
|||
59
kupec
01.02.13
✎
14:14
|
(52) да
|
|||
60
Ёпрст
01.02.13
✎
14:15
|
я свой ответ в (54) привёл.
|
|||
61
miki
01.02.13
✎
14:19
|
(54)тогда попадут и "000"...
Если я правильно понял идею... |
|||
62
Ёпрст
01.02.13
✎
14:21
|
(61) ага,запишем как артефакт :)
|
|||
63
kupec
01.02.13
✎
14:23
|
а отбор то как наладить?? :-)))
|
|||
64
Ёпрст
01.02.13
✎
14:25
|
(63) че ?
|
|||
65
1Сергей
01.02.13
✎
14:26
|
Реквизиты: А, Б, В
Ключи: АБ, АВ, БВ, АБВ |
|||
66
kupec
01.02.13
✎
14:37
|
(65) не катит, см (43)
|
|||
67
Dolly_EV
01.02.13
✎
14:41
|
(58) для прямого запроса?
ГДЕ (Р1=0 И Р2=0 И Р3=1) ИЛИ (Р1=0 И Р2=1 И Р3=0) |
|||
68
1Сергей
01.02.13
✎
14:41
|
(66) ставишь отбор А = 0. Всё
|
|||
69
Dolly_EV
01.02.13
✎
14:44
|
+(67) а отбор - через ИспользоватьСписокЭлемнтов() (и оно не тормозит, проверено)
|
|||
70
kupec
01.02.13
✎
14:46
|
(68) если а =0 тогда не попадает 110
|
|||
71
1Сергей
01.02.13
✎
14:48
|
(70) где в (43) про 110?
я так понял тебе нужно 0хх |
|||
72
Ёпрст
01.02.13
✎
14:51
|
(67) нет. Как ЭТО будет на форме задаваться.
|
|||
73
1Сергей
01.02.13
✎
14:55
|
(72) проще выпадающими списками, имхо
типа Отбор А: Истина Ложь Любой Отбор Б: Истина Ложь Любой Отбор В: Истина Ложь Любой |
|||
74
Dolly_EV
01.02.13
✎
15:03
|
||||
75
Dolly_EV
01.02.13
✎
15:04
|
+(74) там где "И", есть еще "ИЛИ"
|
|||
76
Ёпрст
01.02.13
✎
15:06
|
ага, а чего там на счет "всё это в тз" ?
:))) не.. всё это не нужно и тем более аутору. |
|||
77
kupec
01.02.13
✎
15:12
|
а можно без прямых запросов???
|
|||
78
Dolly_EV
01.02.13
✎
15:13
|
(77) если "ИЛИ" - то неможно
|
|||
79
Ёпрст
01.02.13
✎
15:13
|
можно
|
|||
80
kupec
01.02.13
✎
15:14
|
подскажиет куда копать, я так и не понял
|
|||
81
Dolly_EV
01.02.13
✎
15:14
|
(76) не тз а ПЗ
|
|||
82
kupec
01.02.13
✎
15:18
|
(81) что такое ПЗ
|
|||
83
Dolly_EV
01.02.13
✎
15:18
|
(82) ПрямойЗапрос
|
|||
84
kupec
01.02.13
✎
15:19
|
я уже начинаю думать в сторону прямого запроса....но как понимаю на DBF не прокатит, может есть еще варианты по по поводу штатного запроса
|
|||
85
Ёпрст
01.02.13
✎
15:58
|
(84) чейто?
|
|||
86
Ёпрст
01.02.13
✎
15:58
|
прямой запрос прекрасно на дбф живёт, причем разными методами можно делать его
|
|||
87
kupec
01.02.13
✎
16:00
|
а можно примерчик, хоть простенький????
значит как я понимаю прямой запрос работает без всяких внешних компонент? |
|||
88
Ёпрст
01.02.13
✎
16:04
|
(87) неправильно понимаешь
|
|||
89
kupec
01.02.13
✎
16:09
|
тогда действительно не понимаю. как прямой запрос работает на DBF если прямым запросом идет обращение к SQL серверу?
|
|||
90
Ёпрст
01.02.13
✎
16:10
|
с помощью компонеты 1cpp или 1sqlite и запрос будет к дбф файлам
|
|||
91
kupec
01.02.13
✎
16:12
|
т.е. я делаю прямой запрос, на выходе получаю таблицу значений,выгружаю ее (колонку с элементами) в список значений и делаю использоватьсписокэлементов() ???
|
|||
92
Ёпрст
01.02.13
✎
16:18
|
нет
|
|||
93
Ёпрст
01.02.13
✎
16:18
|
Ты кидаешь табличное поле на форму и поставщиком для него будет прямой запрос
|
|||
94
kupec
01.02.13
✎
16:26
|
не катит!!!!
|
|||
95
Ёпрст
01.02.13
✎
16:31
|
(94) чем ?
|
|||
96
kupec
01.02.13
✎
16:34
|
как иерархию организовать?
|
|||
97
Ёпрст
01.02.13
✎
16:36
|
кинуть рядом дерево стабличным полем
|
|||
98
Ёпрст
01.02.13
✎
16:36
|
для пользователя будет всё тоже самое.
|
|||
99
kupec
01.02.13
✎
16:41
|
переход на уровень вниз на уровень вверх выделением папки в дереве слева?
|
|||
100
Ёпрст
01.02.13
✎
16:43
|
(99) и это тоже
|
|||
101
kupec
01.02.13
✎
16:55
|
а с помощью ctrl + вверх ?
|
|||
102
Ёпрст
01.02.13
✎
17:09
|
как захошешь, так и будет
|
|||
103
фобка
01.02.13
✎
21:10
|
(91) да
|
|||
104
фобка
01.02.13
✎
21:10
|
(93) необязательно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |