gifts2017

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Сергиенко (AXoxol) 28.04.09 20:54
2. Belomor (Belomor) 29.04.09 00:35
Все гениальное уже придумали до Вас.
Поиск рулит
http://infostart.ru/projects/1134/
3. Аркадий Кучер (Abadonna) 29.04.09 00:57
(2)>Все гениальное уже придумали до Вас.
Все нормально. Первый ход начинающего - перенумератор, второй - как раз дубли контрагентов:))))))
4. artmicro (artmicro) 29.04.09 10:37
Все гениальное уже придумали до Вас. - ага в УТП - это встроенная штука, которая удаляет не только дубли в справочнике контрагенты, а любом справочнике. По функционалу не уступает Вашей :)
5. profik777 (profik777) 29.04.09 10:46
не проще было сделать контроль на уцникальность ИНН при вводе???
6. Александр Рытов (Арчибальд) 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. Александр Рытов (Арчибальд) 29.04.09 15:10
(7) см. 6. Там не ехидство, а конкретная оценка полезности. Сейчас к 15 частное подходит - это вообще хороший показатель.
(8) ... и пусть у моей тещи будет зять кривой
10. Валерыч (Valerich) 29.04.09 15:13
(9) я как-то не заморачиваюсь на плюсики, их количество и т.п. Поэтому и не понял, что такое частное это хороший показатель. Извините, если Вас обидел.
11. Аркадий Кучер (Abadonna) 29.04.09 15:16
>Но нельзя при этом других называть новичками
Вообще-то, когда я ставлю в конце поста ":)))))" я расчитываю, что это будет расценено как шутка. Каковой она и была
12. Александр Рытов (Арчибальд) 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) 30.04.09 06:20
Задержитесь на инфостарте , встретите новую тему с поиском дублей , отнесётесь спокойно - и то хорошо.
18. logdog (logdog) 30.04.09 09:07
19. Илья (Cyberboy) 30.04.09 09:12
однозначно жирный +, но если бы была возможность выбирать между контрагентом или номенклатурой то цены не было бы этой обработки!!! Есть возможность для номенклатуры сделать такое???
20. Валерыч (Valerich) 30.04.09 10:15
(19) легко. Но ведь во (2) комменте уже порекомендовали универсальную обработку для любого справочника.
Если надо в моей, пишите в личку, сделаю

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

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

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

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

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

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

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

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

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

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

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

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