|
Как сравнить две ТЗ? | ☑ | ||
---|---|---|---|---|
0
Вася Теркин
28.06.15
✎
18:30
|
Есть две таблицы значений с идентичными колонками, но в одной из них некоторые строки могут отличаться по содержимому отдельных ячеек или вообще отсутствовать. Как проще всего найти различающиеся в обеих таблицах строки? Вычеркнуть поиском попарно одинаковые и оставить только не похожие?
Или можно передать ТЗ в запрос и там обработать? Хотя желательно сделать это с помощью СКД. Либо потом отличающиеся строки передавать в СКД чтобы показать на экране. |
|||
1
RomanYS
28.06.15
✎
18:32
|
всё можно, и запросом и скд
|
|||
2
RomanYS
28.06.15
✎
18:34
|
выбрать
ТЗ.Реквизит1, ... ТЗ.РеквизитN поместить ВТ ИЗ &ТЗ как ТЗ; ... |
|||
3
EvgeniuXP
28.06.15
✎
18:39
|
очень просто, главное чтобы колонки шли одинаково и через запрос выбрать * дальше догадаешься.
|
|||
4
Serginio1
28.06.15
✎
18:57
|
||||
5
Вася Теркин
28.06.15
✎
19:10
|
{(4, 2)}: Тип не может быть выбран в запросе
<<?>>&ТЗ КАК ТЗ |
|||
6
RomanYS
28.06.15
✎
19:42
|
(5) есть такой нюанс: все колонки должны типизированы
|
|||
7
Вася Теркин
28.06.15
✎
20:01
|
(6) ОК
(4) Хорошая ссылка. Чуть дописал и заработала как я хотел. |
|||
8
Serginio1
28.06.15
✎
21:15
|
(7) Какой алгоритм выбрал?
|
|||
9
H A D G E H O G s
28.06.15
✎
21:28
|
Надо попросить 1С добавить опцию добавления колонки с хэшем данных строки ТЗ и итоговым хэшем. Статей типа (4) появляться не будет. И пусть хэш конкатенируют годно, без реалокации.
|
|||
10
EvgeniuXP
28.06.15
✎
22:22
|
(4) можно намного проще - зачем такие сложности...
|
|||
11
Serginio1
28.06.15
✎
22:35
|
(4) А как проще? есть три способа объединения.
https://ru.wikipedia.org/wiki/Операция_соединения_(СУБД) Алгоритм соединения вложенными циклами. Алгоритм соединения хэшированием. Алгоритм соединения слиянием сортированных списков. (9) И придешь к тем же 3 соединением. В соединении хэшированием он и используется в соответствии |
|||
12
H A D G E H O G s
28.06.15
✎
22:37
|
(11) итоговый хэш сравнить и всё.
|
|||
13
Serginio1
28.06.15
✎
22:49
|
(12) Кстати а структура содержащая массив как сравнивается? По ссылке или по содержимому? Может, что упустил?
|
|||
14
vde69
28.06.15
✎
22:57
|
||||
15
Serginio1
28.06.15
✎
23:03
|
(12) Если ты посмотришь тесты, то все три алгоритма приблизительно одинаковы в среде 1С, где на вызов метода уходит больше чем на поиск. Так, что алгоритм вложенными циклами (поиск в индексированной ТЗ) ничем не хуже поиском соединения хэшированием. Да и слияние на том же уровне.
А по сложности никто же не смотрит алгоритмы словарей. http://rsdn.ru/article/alg/tlsd.xml |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |