|
Поиск и замена дублей
|
|
| GetNight | Дата: Вс, 01.12.2024, 22:51:07 | Сообщение # 1 |
 Полковник
Группа: Проверенные
Сообщений: 152
Репутация: 76
Статус: Оффлайн
| К сожалению, сколько я не пытался разобраться в том, как этот инструмент работает, у меня так и не получилось(
Интерфейс очень перегружен какими-то возможностями, отчего не получается сложить какой-нибудь алгоритм действий
1. Найти дубли (на этом этапе вроде всё понятно) 2. Определить правильные элементы (вроде понятно, но бьёт по глазам "правильный элемент"/"правильные данные"). насколько я понял - "правильный элемент" - это сама ссылка, а "правильные данные" - наполнение данными. Т.е. можно взять пустую ссылку, на которой висит 10 000 связей и эту ссылку наполнить данными из второй, где "правильные данные". 3. Но что делать дальше - ума не приложу. Точнее, страшно. Потому что не понятно, что дальше произойдёт.
Допустим, я хочу обработать одну группу, чтобы проверить, как оно вообще работает. Но я не знаю и не понимаю, куда тыкать...

Ещё на моём примере (классификатор кодов налоговой) мы можем увидеть, что код не даёт однозначного понимания, какая ссылка использована. Ведь представление идёт по коду, а они одинаковые. Очень не хватает рядом остальных реквизитов, например, наименования...
К тому же автоопределение правильных элементов и автоопределение правильных данных почему-то имеет другое представление о правильности, чем я. Например, я отметил "правильными данными" тот элемент, где было наименование. Но Автопределение почему-то правильными данными посчитало элемент с пустым наименованием... И вообще не понятно, как использовать и нет предварительных результатов, которые мне бы хотелось посмотреть и потом подтвердить, а не сразу получить результат чёрного ящика...
Количество ссылок показывает количество неправильных ссылок. Почему рядом нет количества правильных? Так было бы нагляднее... А вдруг я ошибся и случайно правильным указал вариант с 10 ссылками, а неправильных 100500? Оно же есть ниже в составе текущей группы. Там для каждого элемента и правильного и неправильных рядом количество. Добавьте, пожалуйста, их в верхнюю таблицу. Когда кусочки данных разбросаны по разным углам - очень тяжело и не наглядно...
***
Как я себе представляю этот механизм. Я вижу дубли и СРАЗУ рядом с ними вижу, сколько элементов с ними связаны. Например, 1. Вода минеральная 1.5л 11 2. Вода минеральная 1,50 л 3 3. Вода минеральная 1.50 117
На основании этих данных я принимаю решение, что "правильные данные" - в первом элементе, а "правильный элемент" - в 3м. Далее я нажимаю кнопку ПУСК и должно произойти следующее:
1. Вода минеральная 1.50 наполняется реквизитами из Вода минеральная 1.5л (вот тут тоже чёрный ящик, ведь, скажем, у номенклатуры в одном может быть заполнено 20 полей, а в другом другие 20 и в идеале их нужно совместить (может, нужно три таблички, где идет совмещение реквизитов из вариантов реквизитов до конечного результата?) 2. 11 элементов, ссылающиеся на 1 элемент, должны теперь ссылаться на 3й. А вместе с ним и во всех его регистрах (если это был документ) ссылка на 1 элемент должна быть заменена на ссылку на 3й. 3. Аналогично 3 объекта, ссылающиеся на 2й элемент - тоже должны быть заменены на 3й. 4. 1й и 2й элемент должны быть помечены на удаление. На этом этапе на них не должно ссылаться ни одной ссылки. 5. Возможно, вместо пометки на удаление предложение их удалить полностью/пометить/переименовать.
При этом хотелось бы видеть результирующую таблицу (желательно документы и регистры отдельными строками): ИзменённыйОбъект СтараяСсылка НоваяСсылка 01.11.23 Отчёт о розничных продажах №3 Вода минеральная 1.50 Вода минеральная 1.5л 01.11.23 Товары на складах (строка 3) Вода минеральная 1.50 Вода минеральная 1.5л 04.11.23 Отчёт о розничных продажах №7 Вода минеральная 1.50 л Вода минеральная 1.5л 04.11.23 Товары на складах (строка 1) Вода минеральная 1.50 л Вода минеральная 1.5л
Скажите, в каком моменте моё представление о результате устранения дублей расходится с тем, что я могу получить? Хотелось бы понимать, что дальше делать (когда определил "правильные" элементы). Что нажимать и что получится в результате?
П.С. есть ещё задача со звёздочкой. Если, допустим, я меняю номенклатуру на другую, мне нужно ОДНОВРЕМЕННО изменить в документе и её единицу (иначе в строке напротив новой уже номенклатуры останется единица от старой). А возможно и характеристику и серию... Поэтому, логичным кажется указывать связанные поля и их аналоги у "правильного" элемента. И при замене номенклатуры одномоментно заменять и их. Может, это у вас уже реализовано. Но пока не добрался до результатов.
Я ранее пользовался обработкой, которую так же прикреплю к сообщению. При том, что она выглядит простой, как двери, она чётко выполняет то, что от неё ждёшь... (Один минус - не видно сразу количество ссылок, которые нужно заменить у каждого элемента)
Очень хотелось бы осуществлять похожий функционал в иР...
|
| |
| |
| tormozit | Дата: Пн, 02.12.2024, 08:13:36 | Сообщение # 2 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Цитата GetNight (  ) Ещё на моём примере (классификатор кодов налоговой) мы можем увидеть, что код не даёт однозначного понимания, какая ссылка использована. Ведь представление идёт по коду, а они одинаковые. Очень не хватает рядом остальных реквизитов, например, наименования... На твоей картинке же видна колонка "Наименование" в списке "Состав текущей группы". Как ты ее не заметил то? По умолчанию показываются только те колонки, в которых есть хотя бы одно различие.
Цитата GetNight (  ) К тому же автоопределение правильных элементов и автоопределение правильных данных почему-то имеет другое представление о правильности, чем я. Например, я отметил "правильными данными" тот элемент, где было наименование. Но Автопределение почему-то правильными данными посчитало элемент с пустым наименованием... И вообще не понятно, как использовать и нет предварительных результатов, которые мне бы хотелось посмотреть и потом подтвердить, а не сразу получить результат чёрного ящика... Автоопределение правильных данных делается по максимальной ценности, правило расчета которой задается на странице "Поиск дублей".
Цитата GetNight (  ) Количество ссылок показывает количество неправильных ссылок. Почему рядом нет количества правильных? Так было бы нагляднее... А вдруг я ошибся и случайно правильным указал вариант с 10 ссылками, а неправильных 100500?Оно же есть ниже в составе текущей группы. Там для каждого элемента и правильного и неправильных рядом количество. Добавьте, пожалуйста, их в верхнюю таблицу. Когда кусочки данных разбросаны по разным углам - очень тяжело и не наглядно... Добавлю колонку https://www.hostedredmine.com/issues/997240
Цитата GetNight (  ) Хотелось бы понимать, что дальше делать (когда определил "правильные" элементы). Что нажимать и что получится в результате? Если хочется подробного контроля за ходом процесса замена, то жми кнопку "В правила".
Цитата GetNight (  ) указывать связанные поля и их аналоги у "правильного" элемента В общем виде задача очень сложная. Я сделал некоторое приложение к ее решению в статусе эксперимента - флажок "Изменять поля по связям параметров выбора" в настройках инструмента.
|
| |
| |
| GetNight | Дата: Пн, 02.12.2024, 15:36:07 | Сообщение # 3 |
 Полковник
Группа: Проверенные
Сообщений: 152
Репутация: 76
Статус: Оффлайн
| Цитата tormozit (  ) На твоей картинке же видна колонка "Наименование" в списке "Состав текущей группы". Как ты ее не заметил то?По умолчанию показываются только те колонки, в которых есть хотя бы одно различие. Вы же поняли, что я писал не о нижней таблице. Если там 100500 дублей, нужно заходить в каждую и смотреть? Странное мнение. Было бы неплохо иметь блиц инструмент (без громоздких комбайнов) отображения нужных колонок. Скажем, кнопка "выбор колонок" и галочками указать "Наименование". Почему нет?
Цитата tormozit (  ) Автоопределение правильных данных делается по максимальной ценности, правило расчета которой задается на странице "Поиск дублей". Всё это крайне неочевидно. Логично было бы видеть это в отдельной закладке Настройки. Или кнопка "настройка ценности".
Цитата Если хочется подробного контроля за ходом процесса замена, то жми кнопку "В правила". Несколько раз попробовал зайти/выйти. Никаких ассоциаций. "В правила" - это какое-то абстрактное словосочетание... Открываются не правила, а список, который вроде как подготовлен к заменам. Почему бы ему не быть в закладке "Замены" с кнопкой "Произвести замены". Ведь он даже не связан с верхней таблицей. Я жму в ней "Найти ссылки" но таблица снизу остаётся неизменной.
И есть там кнопка "Отбор по правилу". И всплывающая подсказка: "Отбор по текущему правилу замены ссылок". Что это означает - вообще не понятно. Где это текущее правило посмотреть - не понятно. Где вообще посмотреть какие-то правила и что это вообще такое - не понятно. Ага... не сразу, но нашёл закладку "Правила замены". Но где там "Текущие правила"? Или всё, что там внутри - они и есть?
я до сих пор не понял, как ОДНУ группу дублей ЦЕЛИКОМ запустить на исправление, чтобы посмотреть на результат, перед тем, как доверить ему всю базу... ручками галочки убирать/отмечать снизу?

уже после скрина понял, что снизу - ВСЕ данные вместе, а не отобранные по текущему указателю. они просто не отсортированы и в списке вперемешку. возможно в первой таблице первой строчкой могла быть зарезервированная строка * все *, где и отображалась бы нижняя таблица. А если выбираем одну строку - то в таблицу показывать только текущую строку. И по умолчанию их НЕ выделять.
тогда бы я мог зайти, выбрать строку с 2 ссылками, внизу отметить их и нажать Выполнить замену
я до сих пор не знаю наверняка , что произойдёт с неправильными дублями и ссылками на них в регистрах (в том числе движений документов, которые уже нельзя перепроводить, нужно только заменить одну номенклатуру на другую)
ещё много раз сталкивался с необходимостью совместить в одно целое данные из разных источников: например, есть 2 дубля номенклатуры. в одном дубле правильно заполнено наименование и 50% данных, связанных с ведением и закупкой. но с производственной базы прилетел дубль (да, его завели по ошибке, но там находится 50% данных, связанных с производством). Кроме как вручную предварительно копировать поля из одного дубля в другой, решение не вижу. Либо писать самому алгоритм, который будет сам искать дубли и по некоторым правилам или условиям выбирать правильный реквизит (например, Наименование2 заполнено и его длина больше, а Наименование1 - не заполнено - брать Наименование2), Поставщик2 заполнено, а Поставщик1 не заполнено - брать Поставщик2 и т.д. и т.п.)
при всех кажущихся возможностях, инструмент пока выглядит громоздким и перегруженным, очень долго приходится разбираться с каждой мелочью... много неочевидных вещей. попробуйте обработать реальные дубли в какой-то базе, на практике это целый квест...
если можно - составьте какую нибудь инструкцию в виде чёткой последовательности действий... или ссылку на видео с разбором работы этого инструмента. уже несколько часов в ней провёл и пока не получил результатов, понятна примерно половина...
|
| |
| |
| GetNight | Дата: Вт, 03.12.2024, 08:01:48 | Сообщение # 4 |
 Полковник
Группа: Проверенные
Сообщений: 152
Репутация: 76
Статус: Оффлайн
| Несколько часов экспериментов помогли определить правильную последовательность действий для получения результата Но всё равно есть кое-какие моменты, которые можно немного подправить.
Пример - в классификаторе был кем-то вручную созданный элемент, без содержимого. По правилам его стоит добавлять из справочника-источника для классификатора, чтобы он был заполнен как положено. Я зашёл и создал его, потом вернулся в обработку, обновил группы дублей. Там появился новый элемент - я его указал правильным. Но когда перешёл в закладку замены и нажал выполнить - данные остались неправильные. Догадался, что нужно обновить правила (хотя, возможно, после нового поиска дублей могло намекнуть, что их нужно обновить). Нажал в правила, спросило, хочу ли я очистить правила или хочу добавить к ним. Я ответил, что хочу добавить и оно добавило их ниже с теми же данными.
 Наверное, должен был быть ещё третий вариант "Обновить и добавить..."? Если правила такие уже есть в списке - то зачем создавать им дубль, может просто обновить существующие...
Самое интересное получилось позже. Я отметил только новые 4 снизу. И сделал по ним все замены, после удалив неправильные элементы. После чего обновил поиск и снова нашёл эти 4 группы.
 По уже там было по 2 дубля на каждую. А в прошлый раз их было 3 на каждую (третья - которую я досоздал по правилам, на которую нужно перебросить остальные). Получается в прошлый раз удаление неправильных элементов зацепило только 1 вариант, второй остался и остался незаменённым. Возможно, где-то есть какой-то ньюанс. Я постарался просто зафиксировать свои действия.
|
| |
| |
| tormozit | Дата: Вт, 03.12.2024, 12:47:51 | Сообщение # 5 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Цитата GetNight (  ) Я ответил, что хочу добавить Не может быть. Ты мог ответить там только на вопрос "Хотите очистить таблицу правил перед заполнением?". Ровно это и не произошло, т.к. ты ответил "Нет".
|
| |
| |
| GetNight | Дата: Вт, 03.12.2024, 21:22:13 | Сообщение # 6 |
 Полковник
Группа: Проверенные
Сообщений: 152
Репутация: 76
Статус: Оффлайн
| Цитата tormozit (  ) Не может быть. Ты мог ответить там только на вопрос "Хотите очистить таблицу правил перед заполнением?". Ровно это и не произошло, т.к. ты ответил "Нет". Да = Очистить Нет = Добавить
я ответил Добавить = Нет
|
| |
| |
| tormozit | Дата: Пт, 06.12.2024, 19:39:24 | Сообщение # 7 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Создал задачу на вывод доп. полей групп дублей https://www.hostedredmine.com/issues/997676
|
| |
| |
| tormozit | Дата: Пн, 09.12.2024, 00:35:45 | Сообщение # 8 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7259
Репутация: 193
Статус: Оффлайн
| Сделано в 7.56
|
| |
| |