|
Сравнить два списка документов с табличными частями |
☑ |
0
DirecTwiX
16.09.14
✎
14:55
|
У документа есть только одна табчасть со следующими реквизитами: Сотрудник, Сумма
Нужно проверить, что для всех документов из первого списка, есть аналогичные документы во втором списке. Аналогичными считаются два документа с одинаковыми ТЧ (с точностью до перестановки строк).
Никто случайно не писал ничего подобного? Не хочу писать полутупой перебор)
Предложения?
|
|
1
DirecTwiX
16.09.14
✎
15:01
|
Пока придумал следующее. Группируем строки документов, считая число строк и сумму документов. Дальше левое соединение и перебор ТЧ документов в цикле.
|
|
2
Крошка Ру
16.09.14
✎
15:05
|
(1) Объединить две ТЗ, одну со знаком плюс, другую со знаком минус и свернуть
|
|
3
DirecTwiX
16.09.14
✎
15:18
|
(2) Как сворачивать?
|
|
4
Ёпрст
гуру
16.09.14
✎
15:20
|
(3) по всем колонкам, суммируя по колонке с "плючиками-минусиками"..
ежели в колонке есть не нуль - тз отличаются
|
|
5
Ёпрст
гуру
16.09.14
✎
15:20
|
хотя, проще except в запросе
|
|
6
DirecTwiX
16.09.14
✎
15:22
|
(4) Что за бред. Ссылки разные. Так можно было бы ссылки сравнить..
|
|
7
МихаилМ
16.09.14
✎
15:37
|
|
|
8
Ёпрст
гуру
16.09.14
✎
15:42
|
(6) че куришь то ?
|
|
9
Ёпрст
гуру
16.09.14
✎
15:45
|
в первой тз у тебя будет
Вася 100 1
Федя 200 1
во второй
Вася 100 -1
Федя 300 -1
Лена 200 -1
кидаешь всё в одну и сворачиваешь по колонке с единичками, группируя по сумма,сотрудник:
Вася 100 0
Федя 200 1
Федя 300 -1
Лена 200 -1
смотришь последнюю колонку, если там не все нули - ТЧ разные.. всё.
|
|
10
DirecTwiX
16.09.14
✎
16:25
|
(7) (8) Документов у меня много. Т.е. я не спрашивал, как сравнить две ТЧ..
|
|
11
FIXXXL
16.09.14
✎
16:39
|
(10) ну и каков признак общности двух документов? номер+дата?
|
|
12
Ёпрст
гуру
16.09.14
✎
16:51
|
(10) сравнить где надо ? В запросе ?
Тоже можно.
|
|
13
DirecTwiX
16.09.14
✎
18:32
|
(11) "Аналогичными считаются два документа с одинаковыми ТЧ (с точностью до перестановки строк)".
(12) В конфигураторе
|
|
14
Torquader
17.09.14
✎
22:57
|
Если аналогичными считаются два документа с точностью до перестановки строк, то нужно выбрать данные всех документов (со строками), причём, строки отсортировать по какому-то заранее заданному правилу, чтобы от перестановки уже ничего не зависело. Далее - табличную часть выгружаем в xml или txt ну и просто сравниваем.
|
|
15
Torquader
17.09.14
✎
22:59
|
Для упрощения сначала можно получить общую сумму табличной части и сравнивать документы только с равной суммой, так как если она различается, то гарантированно уже документы не совпадут.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший