Поиск дублей по своим критериям: любой справочник, любой документ, свои реквизиты
Задачи пользователя - Поиск данных
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Внешняя обработка для любой конфигурации на БСП: Бухгалтерия, ERP, Комплексная автоматизация, Управление нашей фирмой. Ищет дубли в справочнике или документе, который выбираете вы, по тем реквизитам, которые вы отметили. Найденные дубли объединяет: переносит ссылки на эталон штатной заменой и помечает остальные на удаление.
К конфигурации обработка не привязана. Список объектов и их реквизитов строится в рантайме по метаданным той базы, в которую обработку открыли, и ни одного имени справочника или документа в коде нет.
Чем отличается от штатного поиска дублей
Штатный механизм работает только по тем объектам, которые разработчик конфигурации заранее внес в список. В Бухгалтерии это физические лица, сотрудники, контрагенты и номенклатура. Документы в нем отсутствуют как класс.
Здесь объект выбираете вы, и документы поддержаны наравне со справочниками: дубли платежек по номеру, задвоенные поступления, повторно введенные реализации.
Что считается дублем
Дубль — два и более объекта, у которых совпали все отмеченные реквизиты. Ключ группы это сцепка нормализованных значений, поэтому равенство ключей само дает группы.
Отметили наименование и артикул — совпасть должны оба. Нужно «или» — делайте два прогона.
Нормализация
Две независимые галки, только для строковых реквизитов.
Нормализовать: верхний регистр, неразрывные пробелы в обычные, сжатие кратных пробелов, обрезка краев, «е» вместо седьмой буквы алфавита, латинские омоглифы в кириллицу. Сводит «Плата МВ1045» и «Плата МВ1045 ».
Без пунктуации: вдобавок выбрасывается все, кроме букв и цифр. Сводит «KCAS-600PLUS» и «KCAS-600 PLUS», «MES5332A» и «MES5332A.».
Первая включается сразу у каждого строкового реквизита: различия в регистре и пробелах это самая частая причина дублей. Вторая ставится руками: для артикулов и кодов она нужна, для наименований чаще мешает.
Нестроковые значения — ссылки, числа, даты, перечисления — сравниваются точно, и результат не зависит от региональных настроек.
Пустые значения
Галка «пустые значения считать совпадением» включена по умолчанию: два объекта с пустым артикулом попадут в одну группу. Выключите ее, и объект с незаполненным критерием в поиск не пойдет вовсе; сколько таких пропущено, написано в итогах.
Незаполненность определяется по самому значению, поэтому галка работает и для ссылок, и для дат, а не только для строк.
Отбор
Отбор сужает выборку: реквизит, условие, значение. Условия — равно, не равно, в группе, содержит, больше, меньше, заполнено, не заполнено. Тип поля «Значение» сужается до типа выбранного реквизита, поэтому контрагент выбирается из справочника контрагентов, а не из полного списка типов.
Условие, неприменимое к выбранному реквизиту, останавливает поиск с внятным текстом: какой реквизит, какое условие и почему не работает. Молча пропущенная строка отбора дала бы выборку шире заданной, и вы разбирали бы дубли, которых не просили.
Группы справочника в поиск не идут никогда. Помеченные на удаление по умолчанию не участвуют, включаются галкой. Период виден только для документов — справочник это тысячи объектов, а документы сотни тысяч.
Эталон
Эталон — объект группы, который остается; остальные считаются дублями. Предлагается автоматически, переставляется галкой в дереве.
Правило, по порядку: не помечен на удаление; больше ссылок, если ссылки посчитаны; у справочника меньший код, у документа более ранняя дата.
Кнопка «Посчитать ссылки» обходит базу и проставляет число ссылок на каждый объект, после чего эталон переназначается на самый используемый. На демобазе Бухгалтерии это пять секунд на 155 объектов, в Управлении торговлей — пять секунд на 113.
До подсчета в колонке «Ссылок» стоит прочерк, после — число, ноль в том числе. Прочерк и ноль различаются намеренно: «на объект никто не ссылается» и «ссылки еще не считали» ведут к разным решениям.
Правка
Две пишущие операции, обе по колонке «К правке»: перенос ссылок на эталон и пометка дублей на удаление. Каждая включается своей галкой.
Галки расставляются сразу после поиска: у всех дублей группы, кроме эталона и кроме уже помеченных на удаление. Галка на строке группы снимает и ставит отметки всей группы разом — группа из четырех дублей выключается одним щелчком, а не четырьмя. Строка группы всегда показывает, пойдет группа в правку или нет.
Правка идет в фоновом задании: окно не замирает. На форме полоса хода и надпись «Группы: 4 из 22; перенос ссылок на Масло вологодское; 37 с» — счет групп, что делается прямо сейчас и секунды, которые идут всегда. Последнее важно: группа бывает одна, а работы в ней на минуты, и без бегущих секунд не отличить «работает» от «повисло».
Рядом — кнопка «Прервать». Пока идет работа, кнопки правки закрыты, а дерево только для просмотра.
Если фон недоступен — в базе нет БСП, обработка открыта не из файла или сервер на другой машине, — работа делается в своем сеансе, как раньше, и причина называется вместе с итогом.
Отката нет. Перед запуском обработка показывает, сколько дублей отмечено и что именно будет сделано, и ждет подтверждения. Первый прогон делайте на копии базы.
Отдельными галками: перепроводить документы при замене и не регистрировать изменения в планах обмена.
Что обработка не делает
Не ищет похожее — только точное совпадение после нормализации. Нечеткий поиск по наименованию дает ложные срабатывания, а на объединении дублей ложное срабатывание означает потерянные данные.
Не создает объекты и не удаляет их: пометка на удаление это пометка, удаляет администратор штатной обработкой.
Не меняет конфигурацию: это внешняя обработка, никаких расширений и объектов метаданных.
Требования
Платформа 8.3 или 8.5.
Нужна библиотека стандартных подсистем. Ссылки на дубль переносятся штатной заменой ссылок из библиотеки, своей замены обработка не пишет: переписать все документы и регистры, где встречается дубль, мимо штатного механизма — это ровно тот риск, ради которого обработку и покупают. Если библиотеки в базе нет, обработка это видит и говорит прямо: поиск дублей отработает и покажет группы, а объединение откажется, и ни один объект не будет помечен на удаление — пометка идет только после успешного переноса ссылок.
Конфигурация не меняется: внешняя обработка, никаких расширений и объектов метаданных.
Два файла: 8.3 и 8.5
В публикации две сборки одной и той же обработки. Берите ту, что отвечает платформе вашей базы: файл, собранный на 8.5, платформа 8.3 не откроет — скажет, что формат файла не поддерживается. Наоборот работает, но без смысла.
Вступайте в нашу телеграмм-группу Инфостарт