Имя: Пароль:
1C
1C 7.7
v7: Сортировка ТЗ.
0 Eeakie
 
01.07.14
15:43
Есть колонка в ТЗ, где хранятся данные, типа:
1   0
2   222
3   ""

Как можно отсортировать для вида:
1   222
2   0
3   ""

Вариант с "" можно изменить на что угодно, только не на число.
1 floody
 
01.07.14
15:48
любой из алгоритмов сортировки, какой больше нравится
2 Сияющий Асинхраль
 
01.07.14
15:48
Перелить строки с "" в другую ТЗ, отсортировать оставшееся по уменьшению и после этого добавить строки с "" обратно...
3 Сияющий Асинхраль
 
01.07.14
15:49
+(2) Но перед этим попробовать просто отсортировать по уменьшению, не уверен, но может и так получиться...
4 Eeakie
 
01.07.14
16:05
(1) Очень содержательно получилось :)
(2) Тоже только это в голову пришло. Думал есть что-то проще.
(3) Не получается...
5 uno-group
 
01.07.14
16:13
А если а и б изменить на строку. или поэкспериментируй с
с=" ".с="А". поидее пробел раньше цифр идет буква позже
6 Eeakie
 
01.07.14
16:16
(5) Сортируется ужасно. Типа:
1   2
2   24
3   3
4   376
7 Eeakie
 
01.07.14
16:18
Ладно. Переписал через 2 ТЗ. Всё работает. Всем спасибо.
8 acanta
 
01.07.14
16:35
(6) если через формат - то нормально отсортируется
9 Eeakie
 
01.07.14
16:46
(8) То есть через формат?
10 Злопчинский
 
01.07.14
19:38
(6) трындишь
если числа то отсортируется
2
3
24
376
.
если не числа, а строки, которые выглядят визуально как числа
то отсортируются как у тебя в примере
.
вот и выросло поколение, которое не отличает 2 и "2"
11 КонецЦикла
 
01.07.14
20:31
(10) Если колонка типизирована как число, то с какого перепугу там может быть ""?
12 Сияющий Асинхраль
 
01.07.14
21:35
Вообще, был еще вариант, поменять "" на 99999999999 или что-то вроде этого, отсортировать, а затем поменять взад
13 Отладчик
 
01.07.14
21:37
Народ... требует... уже отсортировать. Затруднения?
14 Злопчинский
 
02.07.14
01:27
(11) если колонка типизировано как число ти фиг там получилось бы (6)
15 NS
 
02.07.14
01:30
(7) добавить колонку, с типом число, "не числа" заменить на -1, и отсортировать по  этой колонке.
16 Злопчинский
 
02.07.14
01:35
915) мну всегда интересовало - вот есть база (не обязательно 1С). есть числовой реквизит. как обозначают что этот числовой реквизит не инициализирован ЛЮБЫМ числом?
17 vcv
 
02.07.14
06:02
(16) Ну, если "не обязательно 1С, то NULL.
Вот описание колонки при создании таблицы в MSSQL.

<column_definition> ::=
column_name <data_type>
    [ FILESTREAM ]
    [ COLLATE collation_name ]
    [ SPARSE ]
    [ NULL | NOT NULL ]
    [
        [ CONSTRAINT constraint_name ] DEFAULT constant_expression ]
      | [ IDENTITY [ ( seed,increment ) ] [ NOT FOR REPLICATION ]
    ]
    [ ROWGUIDCOL ]
    [ <column_constraint> [ ...n ] ]
    [ <column_index> ]

Обрати внимание на [ NULL | NOT NULL ] и DEFAULT constant_expression
18 NS
 
02.07.14
13:39
(16) Куча вариантов.
Например
wiki:Float
Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведённых для представления мантиссы и показателя. На обычной 32-битной вычислительной машине, использующей двойную точность (64 бита), мантисса составляет 1 бит знак + 52 бита, показатель — 1 бит знак + 10 бит. Таким образом получаем диапазон точности примерно от 4,94·10?324 до 1.79·10308 (от 2?52 ? 2?1022 до ~1 ? 21024). Пара значений показателя зарезервирована для обеспечения возможности представления специальных чисел. К ним относятся значения NaN (Not a Number, не число) и +/-INF (Infinity, бесконечность), получающихся в результате операций типа деления на ноль нуля, положительных и отрицательных чисел. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы. В специализированных устройствах (например GPU) поддержка специальных чисел часто отсутствует. Существуют программные пакеты, в которых объём памяти выделенный под мантиссу и показатель задаётся программно, и ограничивается лишь объёмом доступной памяти ЭВМ.
19 Злопчинский
 
02.07.14
21:04
(17) ууу хитрый.. про NULL я слышал краем уха... вот как этот NULL задается в базе?
20 ChMikle
 
02.07.14
21:39
все не читал, но у вас колонка содержит значения одного типа , если это число , то вместо "" там нуль
21 vcv
 
03.07.14
05:57
(19) А не всё ли равно? Это внутреннее дело MSSQL (да и любой СУБД). Скрыто от разработчика. Захотят изменить в стедующей версии - изменят и никто не заметит.