Мои любимые бухгалтера без присмотра превратили справочник контрагентов в большую помойку. Так всегда случается, когда ответственных за внесение новой информации больше одного. Это означает, что ответственного не найдешь. А конфигурация то была «БП 1.6» — никакого контроля со стороны программы.
Однако, потребовалось этот справочник причесать. В первую очередь разобраться с дубликатами ИНН. Родилась такая вот обработка. Ищет дубли по ИНН или по наименованию (для этого переводит наименование в верхний регистр, выбрасывает всякие спецсимволы типа кавычек, пробелов и т.п.). Найденные дубли выводит в виде дерева. Для всех найденных дублей можно одной кнопкой найти ссылки (для принятия решения о том кто живой еще, а кто умер давно и реанимации не подлежит). Показывает есть ли на элемент справочника ссылки в документах, дату последнего документа, ссылающегося на элемент справочника и т.д.
Что потом можно сделать с неугодными — очистить ИНН, пометить на удаление, добавить к названию «(устар)», перебросить ссылки на живого контрагента.
Подробнее можно почитать во встроенной справке.
Тестировалось на конфигурации БП 1.6. По логике вещей должно работать на любой конфе, где есть справочник контрагентов, у которого есть такие реквизиты как НаименованиеПолное, ИНН, КПП, Комментарий.
Примечание. Флажок «пометка» используется только в операции переброса ссылок. Для этого предварительно необходимо эти ссылка найти.
PS Кому нужна обработка гораздо лучше, знающие люди советуют взять у Tormozit //infostart.ru/projects/1134/
пользительно
Все гениальное уже придумали до Вас.
http://infostart.ru/projects/1134/
Поиск рулит
(2)>Все гениальное уже придумали до Вас.
Все нормально. Первый ход начинающего — перенумератор, второй — как раз дубли контрагентов:))))))
Все гениальное уже придумали до Вас. — ага в УТП — это встроенная штука, которая удаляет не только дубли в справочнике контрагенты, а любом справочнике. По функционалу не уступает Вашей 🙂
не проще было сделать контроль на уцникальность ИНН при вводе???
Делим 252 скачивания не 12 плюсов, и получаем 21. Хороший результат, значит это кому-то нужно!
Большое спасибо всем за добрые комментарии. Я проникся и больше таких вещей выкладывать не буду. Простите пожалуйста.
А если по существу виноват я только в том, что ссылку в (2) не нашел. Хотя искал — очень было нужно и быстро. Пришлось быстро написать. Без особых изысков.
Написал, решил поделиться. Может кто-то тоже не найдет (2), но увидит мою.
(3) Уважаемый Абадонна. Я как первы раз попал сюда, сразу понял, что Вы местный гуру. Но нельзя при этом других называть новичками, если они недавно на ИС. Я уже давно не мальчик в 1с. Но далеко не все свои разработки сюда выкладываю, потому как по большей части не считаю их достаточно универсальными — ведь они пишутся под конкретный заказ.
собственно на мисту давно не захожу по причние «дружественности» ее некоторых самых активных представителей, которые себя считают богами в 1с.
Видимо придется и отсюда уйти.
(7) см. 6. Там не ехидство, а конкретная оценка полезности. Сейчас к 15 частное подходит — это вообще хороший показатель.
(8) … и пусть у моей тещи будет зять кривой
(9) я как-то не заморачиваюсь на плюсики, их количество и т.п. Поэтому и не понял, что такое частное это хороший показатель. Извините, если Вас обидел.
>Но нельзя при этом других называть новичками
Вообще-то, когда я ставлю в конце поста «:)))))» я расчитываю, что это будет расценено как шутка. Каковой она и была
(10) Если бы я обиделся высказался бы.
Чистая статистика. 20-25 считываний на плюсик — полезно, если >30, то уже не очень. А 10-15 — это супер.
Спасибо. На ИС я действительно новичок, да и бываю редкою. Не оценил. Учту.
От тупого бухгалтера (коими нас считают умные программисты) спасибо за обработку. актуально очень.
в УТ такая есть просто сохранить ее как внешнюю и работает в БП проверял
(14) зря Вы так. Я бухгалтеров тупыми не считаю. А не очень умные люди есть среди всех профессий и специальностей.
(15) мне советовали и из УПП взять. Теперь вот из УТ. Фишка в том, что для этого надо иметь эти конфигурации и поддерживать их в актуальном состоянии. Вот если бы такая штука была на диске ИТС, тогда то, что я написал было бы полной фигней. А теперь представьте себе пользователей, где нет штатных программистов, которые бы имели весь набор стандартных конфигураций. Ну нет у них под рукой УПП или УТ. Где им взять такую обработку?
Задержитесь на инфостарте , встретите новую тему с поиском дублей , отнесётесь спокойно — и то хорошо.
(5) как это реализовать?
однозначно жирный +, но если бы была возможность выбирать между контрагентом или номенклатурой то цены не было бы этой обработки!!! Есть возможность для номенклатуры сделать такое???
(19) легко. Но ведь во (2) комменте уже порекомендовали универсальную обработку для любого справочника.
Если надо в моей, пишите в личку, сделаю
(5) например, отловить событие перед записью объекта и проверить на существование других элементов с таким же ИНН.
Например такой функцией:
// Проверяет на наличие контрагентов с указанным ИНН
//
// Параметры
// ВыводитьДиалог — <Булево> — выводить список контрагентов с дубликатом ИНН
//
// Возвращаемое значение:
// <Булево> — дубликаты найдены
//
Функция ЕстьДубликатыИНН( ВыводитьДиалог = Истина ) Экспорт
Если ОбменДанными.Загрузка Тогда
Возврат Ложь;
КонецЕсли;
Если ПустаяСтрока(ИНН) Тогда
// в данном случае нечего проверять
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Наименование,
| Контрагенты.НаименованиеПолное,
| Контрагенты.ИНН,
| Контрагенты.КПП
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка <> &Ссылка
| И Контрагенты.ИНН = &ИНН
| И Контрагенты.КПП = &КПП
| И (НЕ Контрагенты.ЭтоГруппа)»;
Запрос.УстановитьПараметр(«Ссылка», Ссылка );
Запрос.УстановитьПараметр(«ИНН», ИНН );
Запрос.УстановитьПараметр(«КПП», КПП );
Результат = Запрос.Выполнить().Выгрузить();
#Если Клиент Тогда
Если Результат.Количество() <> 0 И ВыводитьДиалог = Истина Тогда
Предупреждение(«Обнаружено » + Результат.Количество() + » эл. справочника с совпадающим ИНН и КПП»);
Для каждого СтрокаРезультата Из Результат Цикл
Сообщить(СтрокаРезультата.Наименование + » — » + СтрокаРезультата.НаименованиеПолное );
КонецЦикла;
КонецЕсли;
#КонецЕсли
Возврат Результат.Количество() <> 0;
КонецФункции // ЕстьДубликатыИНН()
и
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ЕстьДубликатыИНН(Истина) Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
// дальнейшие проверки…
КонецПроцедуры
все это в модуле справочника Контрагенты
Посмотрел сейчас УТ, там есть супер-универсальная встроенная
«Поиск и замена дублирующихся элементов». Для любого справочника и даже с настройкой уровня сходства.
+(21) Проверил на БП — заработало сходу. Рекомендую
(22) дай и народу попользоваться
(21) ну не у всех кому надо почистить справочник есть под рукой свежая УТ. Вот у меня нет :(. и УПП тоже :(((
И что делать? Н уладно я — написал сам и сам себе почистил, а как же другие такие же? Тоже только для себя ваять?
Выдрать из конфы и выложить здесь кто-нибудь хочет? Думаю нет, потому как
1. это будет явный плагиат
2. возможен конфликт в авторстве, лицензиях и т.п. с 1С
(23) Я ж не в укор, а просто для информации 😉
да я не обижаюсь, просто мне непонятно как такой информацией воспользоваться можно (при отсутствии УТ)
мы тут с младшим ребенком сказку читали про петушка, который подавился зернышком. Курочка за маслицем побежала к корове, та ее к косарям за сеном отправила, те еще куда-то за чем-то… в общем курочке пришлось дров нарубить для кузнеца, а потом в обратку заказы исполнять прежде чем маслица получила.
Т.е. совет взять в УТ или еще где человеку у которого этого нет равносилен освету найти того, у кого это есть и пусть поделится, а он тоже может не альтруистом оказаться, попросит что-то взамен и т.д.
А человеку нужна маленькая обработочка. И если можно быстро и бесплатно.
Ну, например, тебе по мыло могу выслать, если интересно 🙂
Публиковать, конечно, не буду. Я и свои-то 1С-отчетики (за редкими исключениями) не публикую, а уж чужие — тем более не буду
(28) вышли, интересно. Тем более про поиск по похожести. Мыло в личку скину.
(21), (22) Добавлю к этим постам:
у Tormozit на этос сайте выложена замечательная доработка этой обработки от 1С.
Рекомендую.
ЗЫ также эта обработка входит в состав подсистемы «Инструменты разработчика» того же автора.
(30+) Кстати, вот эта обработкаhttp://infostart.ru/projects/1134
(30), (31) спасибо, мне в (2) это уже сообщили. Каюсь искал, но не нашел, видимо ключевые слова для поиска неправильно задал
(31) добавил ссылку в описание.
Отличная штука, а главное универсальная!
Хорошая обработка, но есть предложение в ТЧ «СсылкиНаКонтрагента» добавить колонки «Проведен» и «Удален», чтобы проще было анализировать значимость ссылок!
А мне понравилась обработка — наглядно все!
http://infostart.ru/projects/167/
Пожелание: добавте проверку правильности ИНН,
типа этой
(34) Плюс за ссылку на конкурента.
А коэффициент уже 13. Я слежу 😉
Меня вот удивляет не то, что эти баяны регулярно выкладывают всё новые и новые люди, а то, что рейтинг у таких баянных обработок (зачастую жутко неуниверсальных) подозрительно высок. Думаю, посетители просто не находят ничего лучше, натыкаются на последнее по хронологии и приходят в не совсем обоснованный восторг. А гораздо более интересные разработки остаются погребёнными в недрах.
Не задумывались ли старожилы ИС о некоем the Best, где и бухгалтеру, и программеру, не имеющему времени кропать своё, было бы легче искать?
(38) Пользователям обычно не нужны интересные разработки. Или, к примеру, универсальные. Им нужны конкретные, которые сегодня делают то, что им нужно. Еще вчера нужно.
Это не потому, что пользователи тупые. Они просто занятые.
А с поиском беда, имхо.
(39) >А с поиском беда, имхо.
Раз понодобился…. перенумератор :))))))))))))))))))) Лень было копаться в своей файлопомойке, попробовал найти на ИС — фигушки. И свой дома болтался.
Нашел в ExtForms — от старого проггера осталось
(40)На такой случай держу повсеместно папку «Одноразовые». Перенумераторы, очистки справочников по реквизиту и т.д.
(40) А самое прикольное, что искал минут 30, а написал бы с нуля минут за 10 :)))
(37) рейтинг стремительно падает 🙁
(42) пожеланий по доработке куча. Что посоветуете, делать или все равно утонет в массе аналогов?
(43) Где он падает? 1:12.5
http://infostart.ru/projects/1191/
вот сюда глянь и согласись, что чуток посложнее
1:17.
Так что ты впереди, на белом коне ;))))
На самом деле у рейтинга миллион оттенков: КТО, КОГДА, ПОЧЕМУ….
(40) а с поиском действительно ведь беда. Может сделать возможность какие-то ключевые слова задавать для разработок, чтобы по ним искалось.
(36+) имхо более полезный отчетhttp://infostart.ru/projects/258/
(45) ок, на выходных прикручу такие бантики.
(39) Согласен, но потом опять по энному кругу: «а теперь для номенклату-у-уры, а ещё для ОС хотим» и так далее. Легче вооружить универсалом и обучить кого-нибудь толкового.
(40) Программеры-то ладно, а вот когда бухгалтер ищет инструмент под конкретную задачу, а ему или ничегошеньки, или 10 схожих обработок, тогда сложновато. Особенно когда из 10 похожих неясно, чего выбрать, и выбирается зачастую не самая качественная.
(41) Вот поэтому я, например, вообще всё всегда пишу сам из таких мелочёвок. Искать дольше и себе дороже.
(46) А что, тегирование на ИС не применяется?
Чуть переделал, показал бухгалтерам. Нашли дубли контрагентов, перенесли остатки на одного, остальных перенесли в отдельную папку. Вообщем — им понравилось, периодически запускают на проверку дублей.
(50) очень приятно, что кому-то это облегчает жизнь
очень пригодилась
Отличная обработка, очень пригодилась. Особенно при настройке обменов в типовых конфигурациях, когда связи между ними нет.
Перебрасывает движения с одного контрагента на другого удаляя лишнего.
спасибо, +
норм обработка!
А мне понравилась обработка — наглядно все! Отличная обработка, очень пригодилась. Особенно при настройке обменов в типовых конфигурациях, когда связи между ними нет.
качнул, конвертнул под 8.2, запустил. Нашел дубли, не очень много, строк 70. Запустил поиск ссылок. Обработка остыла уже примерно на час, никакого прогресса не показывается, что происходит и сколько будет происходить — никак не видно. Вообще это немножко странно, потому что при удалении помеченных объектов у меня помеченных больше на порядок — около 700 шт разных объектов, а поиск ссылок там за это время выполнился бы уже пару раз.
UPD: уехал в магазин, вернулся. За пару часов все ссылки нашлись. Засел за исправления. Как и предыдущим ораторам, мне очень понравилась прозрачность интерфейса. Если в штатной обработке надо, полазив по закладкам, вкурить, как заменить ссылки на правильные, и к тому же это зачем-то делается по всем контрагентам сразу и по-другому нельзя, то здесь — все предельно очевидно, примерно как в приложениях для iOS. Тупануть и сделать что-то не так практически невозможно. За часок выправил все что хотел. Если не считать долгого поиска ссылок — обработка понравилась. Плюсую.
(57) Спасибо за добрые слова.
поиск ссылок выполняется штатной процедурой поиска ссылок, которая не предусматривает вывод какого-то прогресса.
Почему она работает медленнее, чем в контроле при удалении — вопрос. Скорее всего дело в том, что контроль перед удалением выполняется всегда в монопольном режиме, а здесь такой режим не выставляется, чтобы не останавливать работу с базой.