Имя: Пароль:
1C
1С v8
Как найти элементы с одинаковыми табличными частями?
0 DSSS
 
05.09.12
16:18
Народ, доброго дня.
что-то туплю...
Есть документ, при проведении нужно проверить, существует ли в базе документ с точно такой же табличной частью как у проверяемого.
Как сделать запросом?
1 zladenuw
 
05.09.12
16:19
ну так запрос по ТЧ и соединение. если есть не null. то это дубль
2 Maxus43
 
05.09.12
16:19
соединение по ссылке + все поля ключевые таб части
3 Maxus43
 
05.09.12
16:19
(2) + тфьу, без ссылки
4 Maxus43
 
05.09.12
16:20
но надо чтоб весь комплект строк совпал
5 Strogg
 
05.09.12
16:20
+ можно сделать арифметическую операцию по количественным реквизитам. Сумма разности должна равняться нулю)
6 DSSS
 
05.09.12
16:25
что-то не очень понимаю, как написать соединение, если одинаковые строки могут быть под разными номерами..
7 Reset
 
05.09.12
16:27
(6) Так ты сказал, с точно такой же ТЧ. Другой порядок - уже не точно такая
8 Maxus43
 
05.09.12
16:27
(6) ну номер строки не учитывай в соединении
9 Reset
 
05.09.12
16:27
Соединение писать по тем полям, которые являются ключевыми для ответа на вопрос одинаковости
10 DSSS
 
05.09.12
16:28
+(6) всмысле одна и та же строка может быть под разными номерами в разных документах. - это одинаковые ТЧ.
11 DSSS
 
05.09.12
16:28
ОК. спсаибо.
12 zladenuw
 
05.09.12
16:29
что то типа такого
ВЫБРАТЬ
   РасходнаяЗЧТабЗЧ1.Ссылка КАК Ссылка1
ИЗ
   Документ.РасходнаяЗЧ.ТабЗЧ КАК РасходнаяЗЧТабЗЧ
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяЗЧ.ТабЗЧ КАК РасходнаяЗЧТабЗЧ1
       ПО РасходнаяЗЧТабЗЧ.ЗЧ = РасходнаяЗЧТабЗЧ1.ЗЧ
           И РасходнаяЗЧТабЗЧ.Кво = РасходнаяЗЧТабЗЧ1.Кво
ГДЕ
   РасходнаяЗЧТабЗЧ.Ссылка = &Ссылка
13 Reset
 
05.09.12
16:31
(10) Ну вероятно делать группировку по ссылке и считать количество совпавших. Если есть ссылка с количеством совпавших = количеству в проверяемом, то значит это "копия"
14 Maxus43
 
05.09.12
16:32
да, количество надо проверять будет
15 Reset
 
05.09.12
16:32
Правда, будет пробелема, если в ТЧ могут быть задвоенные строки, с одинаковыми "ключевыми" полями
16 МихаилМ
 
05.09.12
16:52
эта операция будет приводить к фулскану, т.е. очень ресурсоёмкая

советую подумать над тем чтобы хранить хэш тч
и искать по индексированному хэшу.
17 Reset
 
05.09.12
16:55
(16) Присоединюсь
18 zladenuw
 
05.09.12
16:56
а какой хэш. какой алгоритм создание выбрать ?
19 Reset
 
05.09.12
16:57
Ну и сама задача странная. Возможно есть дургое решение