Дубликаты контрагентов - ищем, избавляемся

Опубликовал Валерий Дубовой (Valerich) в раздел Администрирование - Чистка базы

Проверьте свой справочник контрагентов на наличие двойников. И избавьтесь от близняшек.

Мои любимые бухгалтера без присмотра превратили справочник контрагентов в большую помойку. Так всегда случается, когда ответственных за внесение новой информации больше одного. Это означает, что ответственного не найдешь. А конфигурация то была "БП 1.6" - никакого контроля со стороны программы.

Однако, потребовалось этот справочник причесать. В первую очередь разобраться с дубликатами ИНН. Родилась такая вот обработка. Ищет дубли по ИНН или по наименованию (для этого переводит наименование в верхний регистр, выбрасывает всякие спецсимволы типа кавычек, пробелов и т.п.). Найденные дубли выводит в виде дерева. Для всех найденных дублей можно одной кнопкой найти ссылки (для принятия решения о том кто живой еще, а кто умер давно и реанимации не подлежит). Показывает есть ли на элемент справочника ссылки в документах, дату последнего документа, ссылающегося на элемент справочника и т.д.

Что потом можно сделать с неугодными - очистить ИНН, пометить на удаление, добавить к названию "(устар)", перебросить ссылки на живого контрагента.

Подробнее можно почитать во встроенной справке.

Тестировалось на конфигурации БП 1.6. По логике вещей должно работать на любой конфе, где есть справочник контрагентов, у которого есть такие реквизиты как НаименованиеПолное, ИНН, КПП, Комментарий.

Примечание. Флажок "пометка" используется только в операции переброса ссылок. Для этого предварительно необходимо эти ссылка найти.

 

PS Кому нужна обработка гораздо лучше, знающие люди советуют взять у Tormozit //infostart.ru/projects/1134/

Скачать файлы

Наименование Файл Версия Размер
Поиск дублей контрагентов
.1240924229 22,15Kb
14.10.14
1194
.1240924229 22,15Kb 1194 Скачать

См. также

Комментарии
1. Александр Сергиенко (AXoxol) 28.04.09 20:54 Сейчас в теме
2. Belomor (Belomor) 86 29.04.09 00:35 Сейчас в теме
Все гениальное уже придумали до Вас.
Поиск рулит
http://infostart.ru/projects/1134/
3. Аркадий Кучер (Abadonna) 3659 29.04.09 00:57 Сейчас в теме
(2)>Все гениальное уже придумали до Вас.
Все нормально. Первый ход начинающего - перенумератор, второй - как раз дубли контрагентов:))))))
4. artmicro (artmicro) 29.04.09 10:37 Сейчас в теме
Все гениальное уже придумали до Вас. - ага в УТП - это встроенная штука, которая удаляет не только дубли в справочнике контрагенты, а любом справочнике. По функционалу не уступает Вашей :)
5. profik777 (profik777) 29.04.09 10:46 Сейчас в теме
не проще было сделать контроль на уцникальность ИНН при вводе???
6. Александр Рытов (Арчибальд) 2652 29.04.09 11:00 Сейчас в теме
Делим 252 скачивания не 12 плюсов, и получаем 21. Хороший результат, значит это кому-то нужно!
7. Валерыч (Valerich) 29.04.09 14:59 Сейчас в теме
Большое спасибо всем за добрые комментарии. Я проникся и больше таких вещей выкладывать не буду. Простите пожалуйста.
А если по существу виноват я только в том, что ссылку в (2) не нашел. Хотя искал - очень было нужно и быстро. Пришлось быстро написать. Без особых изысков.
Написал, решил поделиться. Может кто-то тоже не найдет (2), но увидит мою.

(3) Уважаемый Абадонна. Я как первы раз попал сюда, сразу понял, что Вы местный гуру. Но нельзя при этом других называть новичками, если они недавно на ИС. Я уже давно не мальчик в 1с. Но далеко не все свои разработки сюда выкладываю, потому как по большей части не считаю их достаточно универсальными - ведь они пишутся под конкретный заказ.
$leepwalker; susorov; hulio; +3 Ответить 1
8. Валерыч (Valerich) 29.04.09 15:02 Сейчас в теме
собственно на мисту давно не захожу по причние "дружественности" ее некоторых самых активных представителей, которые себя считают богами в 1с.
Видимо придется и отсюда уйти.
9. Александр Рытов (Арчибальд) 2652 29.04.09 15:10 Сейчас в теме
(7) см. 6. Там не ехидство, а конкретная оценка полезности. Сейчас к 15 частное подходит - это вообще хороший показатель.
(8) ... и пусть у моей тещи будет зять кривой
10. Валерыч (Valerich) 29.04.09 15:13 Сейчас в теме
(9) я как-то не заморачиваюсь на плюсики, их количество и т.п. Поэтому и не понял, что такое частное это хороший показатель. Извините, если Вас обидел.
11. Аркадий Кучер (Abadonna) 3659 29.04.09 15:16 Сейчас в теме
>Но нельзя при этом других называть новичками
Вообще-то, когда я ставлю в конце поста ":)))))" я расчитываю, что это будет расценено как шутка. Каковой она и была
12. Александр Рытов (Арчибальд) 2652 29.04.09 15:27 Сейчас в теме
(10) Если бы я обиделся высказался бы.
Чистая статистика. 20-25 считываний на плюсик - полезно, если >30, то уже не очень. А 10-15 - это супер.
13. Валерыч (Valerich) 29.04.09 15:29 Сейчас в теме
Спасибо. На ИС я действительно новичок, да и бываю редкою. Не оценил. Учту.
14. тАТЬЯНА (Бади) 29.04.09 19:12 Сейчас в теме
От тупого бухгалтера (коими нас считают умные программисты) спасибо за обработку. актуально очень.
15. Василий (wassillek) 29.04.09 23:09 Сейчас в теме
в УТ такая есть просто сохранить ее как внешнюю и работает в БП проверял
16. Валерыч (Valerich) 30.04.09 04:58 Сейчас в теме
(14) зря Вы так. Я бухгалтеров тупыми не считаю. А не очень умные люди есть среди всех профессий и специальностей.

(15) мне советовали и из УПП взять. Теперь вот из УТ. Фишка в том, что для этого надо иметь эти конфигурации и поддерживать их в актуальном состоянии. Вот если бы такая штука была на диске ИТС, тогда то, что я написал было бы полной фигней. А теперь представьте себе пользователей, где нет штатных программистов, которые бы имели весь набор стандартных конфигураций. Ну нет у них под рукой УПП или УТ. Где им взять такую обработку?
17. Игорь Исхаков (Ish_2) 960 30.04.09 06:20 Сейчас в теме
Задержитесь на инфостарте , встретите новую тему с поиском дублей , отнесётесь спокойно - и то хорошо.
18. logdog (logdog) 30.04.09 09:07 Сейчас в теме
19. Илья (Cyberboy) 118 30.04.09 09:12 Сейчас в теме
однозначно жирный +, но если бы была возможность выбирать между контрагентом или номенклатурой то цены не было бы этой обработки!!! Есть возможность для номенклатуры сделать такое???
20. Валерыч (Valerich) 30.04.09 10:15 Сейчас в теме
(19) легко. Но ведь во (2) комменте уже порекомендовали универсальную обработку для любого справочника.
Если надо в моей, пишите в личку, сделаю

(5) например, отловить событие перед записью объекта и проверить на существование других элементов с таким же ИНН.
Например такой функцией:

// Проверяет на наличие контрагентов с указанным ИНН
//
// Параметры
// ВыводитьДиалог - <Булево> - выводить список контрагентов с дубликатом ИНН
//
// Возвращаемое значение:
// <Булево> - дубликаты найдены
//
Функция ЕстьДубликатыИНН( ВыводитьДиалог = Истина ) Экспорт

Если ОбменДанными.Загрузка Тогда
Возврат Ложь;
КонецЕсли;
Если ПустаяСтрока(ИНН) Тогда
// в данном случае нечего проверять
Возврат Ложь;
КонецЕсли;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Наименование,
| Контрагенты.НаименованиеПолное,
| Контрагенты.ИНН,
| Контрагенты.КПП
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка <> &Ссылка
| И Контрагенты.ИНН = &ИНН
| И Контрагенты.КПП = &КПП
| И (НЕ Контрагенты.ЭтоГруппа)";

Запрос.УстановитьПараметр("Ссылка", Ссылка );
Запрос.УстановитьПараметр("ИНН", ИНН );
Запрос.УстановитьПараметр("КПП", КПП );

Результат = Запрос.Выполнить().Выгрузить();
#Если Клиент Тогда
Если Результат.Количество() <> 0 И ВыводитьДиалог = Истина Тогда

Предупреждение("Обнаружено " + Результат.Количество() + " эл. справочника с совпадающим ИНН и КПП");
Для каждого СтрокаРезультата Из Результат Цикл

Сообщить(СтрокаРезультата.Наименование + " - " + СтрокаРезультата.НаименованиеПолное );

КонецЦикла;

КонецЕсли;
#КонецЕсли

Возврат Результат.Количество() <> 0;

КонецФункции // ЕстьДубликатыИНН()

и
Процедура ПередЗаписью(Отказ)

Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;

Если ЕстьДубликатыИНН(Истина) Тогда

Отказ = Истина;
Возврат;

КонецЕсли;
// дальнейшие проверки...
КонецПроцедуры

все это в модуле справочника Контрагенты
21. Аркадий Кучер (Abadonna) 3659 30.04.09 10:22 Сейчас в теме
Посмотрел сейчас УТ, там есть супер-универсальная встроенная
"Поиск и замена дублирующихся элементов". Для любого справочника и даже с настройкой уровня сходства.
22. Аркадий Кучер (Abadonna) 3659 30.04.09 10:26 Сейчас в теме
+(21) Проверил на БП - заработало сходу. Рекомендую
23. Валерыч (Valerich) 30.04.09 10:29 Сейчас в теме
(21) ну не у всех кому надо почистить справочник есть под рукой свежая УТ. Вот у меня нет :(. и УПП тоже :(((
И что делать? Н уладно я - написал сам и сам себе почистил, а как же другие такие же? Тоже только для себя ваять?

Выдрать из конфы и выложить здесь кто-нибудь хочет? Думаю нет, потому как
1. это будет явный плагиат
2. возможен конфликт в авторстве, лицензиях и т.п. с 1С
24. Валерыч (Valerich) 30.04.09 10:29 Сейчас в теме
(22) дай и народу попользоваться
25. Аркадий Кучер (Abadonna) 3659 30.04.09 10:29 Сейчас в теме
(23) Я ж не в укор, а просто для информации ;)
26. Валерыч (Valerich) 30.04.09 10:30 Сейчас в теме
да я не обижаюсь, просто мне непонятно как такой информацией воспользоваться можно (при отсутствии УТ)
27. Валерыч (Valerich) 30.04.09 10:35 Сейчас в теме
мы тут с младшим ребенком сказку читали про петушка, который подавился зернышком. Курочка за маслицем побежала к корове, та ее к косарям за сеном отправила, те еще куда-то за чем-то... в общем курочке пришлось дров нарубить для кузнеца, а потом в обратку заказы исполнять прежде чем маслица получила.
Т.е. совет взять в УТ или еще где человеку у которого этого нет равносилен освету найти того, у кого это есть и пусть поделится, а он тоже может не альтруистом оказаться, попросит что-то взамен и т.д.
А человеку нужна маленькая обработочка. И если можно быстро и бесплатно.
28. Аркадий Кучер (Abadonna) 3659 30.04.09 10:36 Сейчас в теме
Ну, например, тебе по мыло могу выслать, если интересно :)
Публиковать, конечно, не буду. Я и свои-то 1С-отчетики (за редкими исключениями) не публикую, а уж чужие - тем более не буду
29. Валерыч (Valerich) 30.04.09 10:38 Сейчас в теме
(28) вышли, интересно. Тем более про поиск по похожести. Мыло в личку скину.
30. Артур Аюханов (artbear) 851 30.04.09 10:47 Сейчас в теме
(21), (22) Добавлю к этим постам:
у Tormozit на этос сайте выложена замечательная доработка этой обработки от 1С.
Рекомендую.

ЗЫ также эта обработка входит в состав подсистемы "Инструменты разработчика" того же автора.
31. Артур Аюханов (artbear) 851 30.04.09 10:49 Сейчас в теме
32. Валерыч (Valerich) 30.04.09 10:50 Сейчас в теме
(30), (31) спасибо, мне в (2) это уже сообщили. Каюсь искал, но не нашел, видимо ключевые слова для поиска неправильно задал
33. Валерий Воробьёв (WWW123) 81 30.04.09 10:57 Сейчас в теме
Отличная штука, а главное универсальная!
34. Валерыч (Valerich) 30.04.09 10:57 Сейчас в теме
(31) добавил ссылку в описание.
Арчибальд; +1 Ответить 1
35. Андрей Янакаев (YAN) 1353 30.04.09 12:37 Сейчас в теме
Хорошая обработка, но есть предложение в ТЧ "СсылкиНаКонтрагента" добавить колонки "Проведен" и "Удален", чтобы проще было анализировать значимость ссылок!
36. Igоr Sаulеviсh (gutentag) 250 30.04.09 12:42 Сейчас в теме
А мне понравилась обработка - наглядно все!
Пожелание: добавте проверку правильности ИНН,
типа этой http://infostart.ru/projects/167/
37. Александр Рытов (Арчибальд) 2652 30.04.09 13:19 Сейчас в теме
(34) Плюс за ссылку на конкурента.
А коэффициент уже 13. Я слежу ;)
38. Яков Коган (Yashazz) 1977 30.04.09 13:48 Сейчас в теме
Меня вот удивляет не то, что эти баяны регулярно выкладывают всё новые и новые люди, а то, что рейтинг у таких баянных обработок (зачастую жутко неуниверсальных) подозрительно высок. Думаю, посетители просто не находят ничего лучше, натыкаются на последнее по хронологии и приходят в не совсем обоснованный восторг. А гораздо более интересные разработки остаются погребёнными в недрах.

Не задумывались ли старожилы ИС о некоем the Best, где и бухгалтеру, и программеру, не имеющему времени кропать своё, было бы легче искать?
39. Александр Рытов (Арчибальд) 2652 30.04.09 13:54 Сейчас в теме
(38) Пользователям обычно не нужны интересные разработки. Или, к примеру, универсальные. Им нужны конкретные, которые сегодня делают то, что им нужно. Еще вчера нужно.
Это не потому, что пользователи тупые. Они просто занятые.
А с поиском беда, имхо.
40. Аркадий Кучер (Abadonna) 3659 30.04.09 14:08 Сейчас в теме
(39) >А с поиском беда, имхо.
Раз понодобился.... перенумератор :))))))))))))))))))) Лень было копаться в своей файлопомойке, попробовал найти на ИС - фигушки. И свой дома болтался.
Нашел в ExtForms - от старого проггера осталось
41. Александр Рытов (Арчибальд) 2652 30.04.09 14:25 Сейчас в теме
(40)На такой случай держу повсеместно папку "Одноразовые". Перенумераторы, очистки справочников по реквизиту и т.д.
42. Аркадий Кучер (Abadonna) 3659 30.04.09 14:27 Сейчас в теме
(40) А самое прикольное, что искал минут 30, а написал бы с нуля минут за 10 :)))
43. Валерыч (Valerich) 30.04.09 15:13 Сейчас в теме
(37) рейтинг стремительно падает :(

(42) пожеланий по доработке куча. Что посоветуете, делать или все равно утонет в массе аналогов?
44. Аркадий Кучер (Abadonna) 3659 30.04.09 15:46 Сейчас в теме
(43) Где он падает? 1:12.5
вот сюда глянь и согласись, что чуток посложнее
http://infostart.ru/projects/1191/
1:17.
Так что ты впереди, на белом коне ;))))
На самом деле у рейтинга миллион оттенков: КТО, КОГДА, ПОЧЕМУ....
45. Igоr Sаulеviсh (gutentag) 250 30.04.09 16:35 Сейчас в теме
46. Валерыч (Valerich) 30.04.09 16:35 Сейчас в теме
(40) а с поиском действительно ведь беда. Может сделать возможность какие-то ключевые слова задавать для разработок, чтобы по ним искалось.
47. Валерыч (Valerich) 30.04.09 16:37 Сейчас в теме
(45) ок, на выходных прикручу такие бантики.
48. Яков Коган (Yashazz) 1977 30.04.09 18:07 Сейчас в теме
(39) Согласен, но потом опять по энному кругу: "а теперь для номенклату-у-уры, а ещё для ОС хотим" и так далее. Легче вооружить универсалом и обучить кого-нибудь толкового.

(40) Программеры-то ладно, а вот когда бухгалтер ищет инструмент под конкретную задачу, а ему или ничегошеньки, или 10 схожих обработок, тогда сложновато. Особенно когда из 10 похожих неясно, чего выбрать, и выбирается зачастую не самая качественная.
49. Яков Коган (Yashazz) 1977 30.04.09 18:08 Сейчас в теме
(41) Вот поэтому я, например, вообще всё всегда пишу сам из таких мелочёвок. Искать дольше и себе дороже.

(46) А что, тегирование на ИС не применяется?
50. Yuriy Scr (yuriyscr) 13 19.09.11 14:28 Сейчас в теме
Чуть переделал, показал бухгалтерам. Нашли дубли контрагентов, перенесли остатки на одного, остальных перенесли в отдельную папку. Вообщем - им понравилось, периодически запускают на проверку дублей.
51. Валерий Дубовой (Valerich) 1616 19.09.11 15:51 Сейчас в теме
(50) очень приятно, что кому-то это облегчает жизнь
52. Анна Т (anna_irk) 20.09.11 12:12 Сейчас в теме
53. Storm Денисенко (1cBIT) 17.11.11 13:33 Сейчас в теме
Отличная обработка, очень пригодилась. Особенно при настройке обменов в типовых конфигурациях, когда связи между ними нет.
Перебрасывает движения с одного контрагента на другого удаляя лишнего.
54. Дмитрий Баранов (Sunhare) 3 09.12.11 09:57 Сейчас в теме
55. Алексей Лейт (AlekseiLeit) 10 21.02.12 12:53 Сейчас в теме
56. denis leonov (curys) 11.05.12 09:09 Сейчас в теме
А мне понравилась обработка - наглядно все! Отличная обработка, очень пригодилась. Особенно при настройке обменов в типовых конфигурациях, когда связи между ними нет.
57. Vladimir Polyakov (spectre1978) 15 16.07.16 19:31 Сейчас в теме
качнул, конвертнул под 8.2, запустил. Нашел дубли, не очень много, строк 70. Запустил поиск ссылок. Обработка остыла уже примерно на час, никакого прогресса не показывается, что происходит и сколько будет происходить - никак не видно. Вообще это немножко странно, потому что при удалении помеченных объектов у меня помеченных больше на порядок - около 700 шт разных объектов, а поиск ссылок там за это время выполнился бы уже пару раз.
UPD: уехал в магазин, вернулся. За пару часов все ссылки нашлись. Засел за исправления. Как и предыдущим ораторам, мне очень понравилась прозрачность интерфейса. Если в штатной обработке надо, полазив по закладкам, вкурить, как заменить ссылки на правильные, и к тому же это зачем-то делается по всем контрагентам сразу и по-другому нельзя, то здесь - все предельно очевидно, примерно как в приложениях для iOS. Тупануть и сделать что-то не так практически невозможно. За часок выправил все что хотел. Если не считать долгого поиска ссылок - обработка понравилась. Плюсую.
58. Валерий Дубовой (Valerich) 1616 18.07.16 11:58 Сейчас в теме
(57) Спасибо за добрые слова.
поиск ссылок выполняется штатной процедурой поиска ссылок, которая не предусматривает вывод какого-то прогресса.
Почему она работает медленнее, чем в контроле при удалении - вопрос. Скорее всего дело в том, что контроль перед удалением выполняется всегда в монопольном режиме, а здесь такой режим не выставляется, чтобы не останавливать работу с базой.