Имя: Пароль:
1C
1С v8
Как сравнить 2 структуры без перебора?
,
0 AcaGost
 
05.12.13
18:39
Идентичны они или нет?
1 zak555
 
05.12.13
18:39
чем перебор не нравится ?
2 AcaGost
 
05.12.13
18:44
(1) 2...3 сотни структур по 3...4 сотни элементов в каждой
3 zak555
 
05.12.13
18:45
жестоко
4 AcaGost
 
05.12.13
18:46
+(2) По результатам сравнения, объединить в некие группы
5 shuhard
 
05.12.13
18:46
(0) выгрузи в xml
6 AcaGost
 
05.12.13
18:48
(5) И?...
7 Преднаименование
 
05.12.13
18:48
(4) Создай некие индексы типа MD5
8 AcaGost
 
05.12.13
18:53
А 2 строки сравнить можно?
9 badboychik
 
05.12.13
18:57
(2) кривые руки детектед
10 badboychik
 
05.12.13
18:59
Сравнить(<Значение1>, <Значение2>)

Параметры:
<Значение1> (обязательный) Тип: Произвольный. Первое значение сравнения.
<Значение2> (обязательный) Тип: Произвольный. Второе значение сравнения.

Возвращаемое значение: Тип: Число.

Результат < 0 - первое значение меньше второго.
Результат > 0 - первое значение больше второго.
Результат = 0 - первое значение равно второму.
11 AcaGost
 
05.12.13
19:05
(10) Спасибо за подсказку.
12 Преднаименование
 
05.12.13
19:07
У меня как-то была задача с поиском в документе одинаковых строк.

Что бы выводилось сообщение типа: строка 1 равна строкам 5,9,13.

если интересно могу поискать, но есть варианты и по проще.
13 Fram
 
05.12.13
19:58
(10) интересно а как это одна структура больше другой?
14 Лефмихалыч
 
05.12.13
20:14
(10) эта борода сравнит ссылки
15 Лефмихалыч
 
05.12.13
20:15
(0) сериализуй, посчитай MD5 какой-нить и его уже сравнивай
16 badboychik
 
05.12.13
22:45
(14) Проверил, она вообще всегда 0 возвращает если структуры сравниваешь
17 х86
 
05.12.13
22:51
(0)баян жешь
значениевстроку
18 hhhh
 
06.12.13
00:50
(17) так надож тогда предварительно отсортировать эти структуры. А сортировка в 50 раз тормознее перебора.
19 hhhh
 
06.12.13
01:06
вот например

    х = Новый Структура("а, б", "а", "б");
    у = Новый Структура("б, а", "б", "а");
    й = ЗначениеВСтрокуВнутр(х);
    в = ЗначениеВСтрокуВнутр(у);
    Если в = й Тогда
        Сообщить("равны");
    Иначе
        Сообщить("не равны");
    КонецЕсли;    


пишет "не равны"