|
Сравнение ТЗ и ТабЧасти с выявлением расхождений.НУЖНА Подсказка! | ☑ | ||
---|---|---|---|---|
0
Sergeich737
03.09.14
✎
10:10
|
Вообщем есть ТЗ и ТабЧасть, нужно выявить расхождения в них. ТЗ получаю из запроса, ТабЧасть уже заполнена. Расхождения нужно отразить в ТабЧасти цветом фона строки. Вообщем сегодня голова варит туго, не могу правильно сообразить как сравнить. Алгоритм правильный не как не построю.
|
|||
1
Steini
03.09.14
✎
10:12
|
1 вариант: определиться, какие колонки играют роль измерений (как в регистре), какие - ресурсы, и делать соединение - далее анализировать и подсвечивать
|
|||
2
palpetrovich
03.09.14
✎
10:15
|
как второй вариант - тупо в процедуре, к примеру, приПолученииДанных - искать нужное в ТЗ - ну и красить в зависимости от результата поиска
зы: ну и версию озвучивать как-бы не лишнее :) |
|||
3
Steini
03.09.14
✎
10:17
|
(2) ПриПолученииДанных никаких поисков по ТЗ! Долго работать будет, тормозить при листании списка. (ИМХО + опыт)
|
|||
4
Широкий
03.09.14
✎
10:17
|
Надо сначала определиться - что есть расхождения?
|
|||
5
Широкий
03.09.14
✎
10:18
|
(3) Опыт :)))
|
|||
6
Рэйв
03.09.14
✎
10:24
|
(0)Если таблица одинаковые по структуре, то просто пробегай их синхронно по строкам и сравнивай по колонкам.
А если структуры разные то они неодинаковые с самого начала:-) |
|||
7
palpetrovich
03.09.14
✎
10:25
|
(3) хз, но остаток считается в ПриПолученииДанных вполне себе прилично, не думаю что поиск по ТЗ намного медленней ...мое имхо :)
|
|||
8
Steini
03.09.14
✎
10:27
|
Аааа давайте-ка поясню, пока обед. Допустим есть ТЧ с колонками Номенклатура, Хар-ка, Цена, колво, статус, спецкод. Понятно, что Номенклатура и характеристика будут играть роль измерений, остальное все - сравниваемые ресурсы.
1. Делаем соединение Левое соединение ТЧ с ТЗ по Номенклатура и Характеристика 2. Бежим по результату соединения Если КолонкаТЧ1 <> КолонкаТЗ1 ИЛИ КолонкаТЧ2 <> КолонкаТЗ2 ИЛИ .... Тогда ищем в ТЧ строку по связке Номенклатура-Характеристика и устанавливаем этой строке флаг=истина. 3. В процедуре приПолученииДанных Если ТекСтрока.флаг то меняем цвет фона этой строки. Воооооооот! |
|||
9
Широкий
03.09.14
✎
10:33
|
Как будет обрабатываться дублирование строки с одинаковыми данными?
|
|||
10
Steini
03.09.14
✎
10:36
|
(9) чьи дубли? если в ТЗ будет две строки с одинаковыми Номенклатурой и характеристикой, код отработает правильно, а в ТЧ дублей быть не должно априори, это ж ТЧ! =)
|
|||
11
Широкий
03.09.14
✎
10:38
|
(10) Я у автора спрашиваю - считается ли это расхождением или нет
|
|||
12
palpetrovich
03.09.14
✎
10:40
|
(8) пока обед набросай запросец :)--
зы: я за ТЗ.НайтиСтроки(ОтборПоВсемКолонкам) в ПриПолученииДанных |
|||
13
Steini
03.09.14
✎
10:49
|
(12) да, кстати, похоже это более лучшее решение, если строк не миллиард =) + в условиях сказано светить всю строку, а я подумал, что чисто конкретно ячейки с расхождениями.
Да что там запрос, запрос как запрос: выбрать ТЧ.Номенклатура, ТЧ.Характеристика, ТЧ.КолонкаТЧ1, ТЗ.КолонкаТЗ1, ТЧ.КолонкаТЧ2, ТЗ.КолонкаТЗ2, <...> Из ТЧ как ТЧ левое соединение ТЗ как ТЗ По ТЧ.Номенклатура = ТЗ.Номенклатура И ТЧ.Характеристика = ТЗ.Характеристика |
|||
14
Serginio1
03.09.14
✎
10:49
|
||||
15
Aleksey
03.09.14
✎
11:02
|
(10) Т.е. не может быть 2 строки с разным ГТД?
|
|||
16
Steini
03.09.14
✎
11:07
|
(15) уважаемый, ну я же условно навыдумывал колонки, если 2 строки с разными ГТД - это нормально, тогда включаем ГТД в список условных измерений, и все, у нас опять нет задвоений =)
|
|||
17
Крошка Ру
03.09.14
✎
11:13
|
(0) 1. В ТЧ добавить колонку "Разница".
2.При создании ТЧ - выгрузить в запрос, там сравнить с ТЗ, загрузить обратно в ТЧ уже с разницей. 3.При выводе строки - по разнице определять расцветку строки. ... PROFIT!!! |
|||
18
palpetrovich
03.09.14
✎
11:49
|
(17) приВводеНовойСтроки - повторить PROFIT!!! :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |