|
Флажок с тремя значениями. Получить прежнее состояние | ☑ | ||
---|---|---|---|---|
0
Wobland
20.03.13
✎
10:07
|
УФ. в событие ПриИзменении поля таблицы попадаю с новым значением флажка. имею необходимость знать его прежнее значение.
иными словами, нужна функция: 2 -> 1 1 -> 0 0 -> 2 самому мне думать лениво, про Если/ИначеЕсли знаю (сейчас так и работает). предлагаю изобретение такой функции в качестве развлечения ;) |
|||
1
НафНаф
20.03.13
✎
10:09
|
охренел
|
|||
2
cw014
20.03.13
✎
10:09
|
Параноик
|
|||
3
butterbean
20.03.13
✎
10:10
|
?(X-1=-1,2,X-1)
|
|||
4
butterbean
20.03.13
✎
10:10
|
(3) не лучше
?(Х=0,2,Х-1) :-) |
|||
5
Ёпрст
20.03.13
✎
10:15
|
(0)
Функция Вася(х) Возврат 0+Сред("201",х+1,1) КонецФункции |
|||
6
НафНаф
20.03.13
✎
10:16
|
Решение 1:
f(x) = (x+2)%3; Решение 2: f(x) = a*x^2+b*x+c f(0) = 2 => c=2 f(1) = 0 => a+b+c=0, a+b=-2 f(2) = 1 => 4*a+2*b+c=1, 4*a+2*b=-1, 2*a=3 a=1.5, b=-3.5, c=2 f(x) = 1.5*x^2-3.5*x+2 |
|||
7
Wobland
20.03.13
✎
10:21
|
(5) класс!
(6) а делить по модулю 3 почему-то не догадался |
|||
8
Wobland
20.03.13
✎
10:23
|
а теперь устанавливаем галки ;)
что-то не вижу ничего элегантного. может, как-то поиграться с неявным преобразованием булева в число? Если с=Соседи.Количество() Тогда Родитель.Пометка=1; ИначеЕсли с=0 Тогда Родитель.Пометка=0; Иначе Родитель.Пометка=2; КонецЕсли; |
|||
9
НафНаф
20.03.13
✎
10:24
|
(8) что за гоунобред?
|
|||
10
Wobland
20.03.13
✎
10:25
|
(9) организую дерево с пометками типа
гарем -18 марта [да] --Катя [да] --Лена [да] -19 марта [не все] --Маша [нет] --Наташа [да] -20 марта [нет] --Оля [нет] --Ира [нет] |
|||
11
НафНаф
20.03.13
✎
10:28
|
(10) и что дальше то?
|
|||
12
Wobland
20.03.13
✎
10:30
|
(11) тыкаю по строке. если у всех строк того же уровня галки стоят, то родителю ставлю 1, если у всех не стоят - 0, а если где-то стоит, а где-то нет - 2. это как компоненты выбирать при установке офиса...
|
|||
13
Wobland
20.03.13
✎
10:30
|
всё работает. мне просто не нравится множественный Если
|
|||
14
НафНаф
20.03.13
✎
10:32
|
1. значение "серый" у строки ставить интерактивно нельзя, его только можно установить вычисляя
2. там вообще рекурсия и циклы, можно же тыкать не только по конечному элементу, но и по группе, тогда подчиненные должны пересчитываться |
|||
15
Wobland
20.03.13
✎
10:40
|
(14) как нельзя? можно, перепроверил
&НаКлиенте Процедура ПродажиПометкаПриИзменении(Элемент) Возврат; |
|||
16
НафНаф
20.03.13
✎
10:41
|
(15) можно, но по смыслу нельзя
|
|||
17
Wobland
20.03.13
✎
10:42
|
(16) ну вот я его и вычисляю в (8)
|
|||
18
Wobland
20.03.13
✎
10:56
|
Родитель.Пометка=?(с=Соседи.Количество(), 1, ?(с, 2, 0));
как-то не очень... |
|||
19
НЕА123
20.03.13
✎
10:57
|
Макс(х-1,СтрДлина(х-1))*(х-1)*(х-1)
|
|||
20
Wobland
20.03.13
✎
10:59
|
(19) ты про (0)? СтрДлина() всегда единица
|
|||
21
Wobland
20.03.13
✎
10:59
|
или Строка(0)="" ?
|
|||
22
НЕА123
20.03.13
✎
10:59
|
СтрДлина(0-1)= 2
|
|||
23
НЕА123
20.03.13
✎
11:03
|
(21)
пусть будет ноль. нормально. |
|||
24
НЕА123
21.03.13
✎
08:27
|
(0)
(x+2)%3 в общем случае (x+n)%(n+1). это типа колец. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |