Дубликаты контрагентов - ищем, избавляемся
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Мои любимые бухгалтера без присмотра превратили справочник контрагентов в большую помойку. Так всегда случается, когда ответственных за внесение новой информации больше одного. Это означает, что ответственного не найдешь. А конфигурация то была "БП 1.6" - никакого контроля со стороны программы.
Однако, потребовалось этот справочник причесать. В первую очередь разобраться с дубликатами ИНН. Родилась такая вот обработка. Ищет дубли по ИНН или по наименованию (для этого переводит наименование в верхний регистр, выбрасывает всякие спецсимволы типа кавычек, пробелов и т.п.). Найденные дубли выводит в виде дерева. Для всех найденных дублей можно одной кнопкой найти ссылки (для принятия решения о том кто живой еще, а кто умер давно и реанимации не подлежит). Показывает есть ли на элемент справочника ссылки в документах, дату последнего документа, ссылающегося на элемент справочника и т.д.
Что потом можно сделать с неугодными - очистить ИНН, пометить на удаление, добавить к названию "(устар)", перебросить ссылки на живого контрагента.
Подробнее можно почитать во встроенной справке.
Тестировалось на конфигурации БП 1.6. По логике вещей должно работать на любой конфе, где есть справочник контрагентов, у которого есть такие реквизиты как НаименованиеПолное, ИНН, КПП, Комментарий.
Примечание. Флажок "пометка" используется только в операции переброса ссылок. Для этого предварительно необходимо эти ссылка найти.
PS Кому нужна обработка гораздо лучше, знающие люди советуют взять у Tormozit //infostart.ru/projects/1134/
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83261 432 171
Информационная безопасность Чистка данных Системный администратор Разработчик Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Платные (руб)
Обезличивает копию рабочей базы 1С перед передачей наружу и возвращает настоящие данные обратно, когда база вернулась. Это обратимая псевдонимизация: соответствия «исходное - псевдоним» пишутся в отдельный зашифрованный датасет, который остаётся у владельца. Работает на любой конфигурации - обходит метаданные и находит персональные данные сам, без списка реквизитов под конкретную базу. Суммы, количества, даты и номера документов не трогает никогда, оборотно-сальдовая до и после совпадает до копейки. Проверено на трёх конфигурациях: 106 031 объект, 215 642 замены, ноль ошибок, возврат 100 процентов.
42700 руб.
18.08.2026 1495 3 0
Чистка данных Системный администратор Разработчик 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Update 2026: добавили многопоточное удаление данных по организациям. Ускорение х6 по сравнению с однопоточным алгоритмом! Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3, УНФ, Розница 3.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.
12139 руб.
16.03.2015 282878 272 84
Поиск данных Инструменты администратора БД Корректировка данных Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Решение для автоматической сверки данных между любыми конфигурациями 1С. Помогает контролировать и проверять обмены, проверять наличие документов при переносах данных, находить изменения в закрытых периодах
9760 руб.
14.11.2025 6171 28 8
Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)
Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.
6000 руб.
25.02.2026 6675 23 1
Задачи пользователя Инструментарий разработчика Корректировка данных Закрытие периода Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта Стажер 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)
Обработка предназначена для поиска, анализа и исправления отрицательных остатков во всех регистрах накопления информационной базы 1С.
6100 руб.
27.02.2026 3202 17 3
Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).
14640 руб.
29.04.2020 52955 145 164
Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)
Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует операцию учета НДФЛ. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты Рассчитывает НДФЛ и сравнивает с исчисленным в программе. На отклонение формирует документ "Перерасчет НДФЛ"
9760 руб.
01.09.2023 10113 325 93
А если по существу виноват я только в том, что ссылку в (2) не нашел. Хотя искал - очень было нужно и быстро. Пришлось быстро написать. Без особых изысков.
Написал, решил поделиться. Может кто-то тоже не найдет (2), но увидит мою.
(3) Уважаемый Абадонна. Я как первы раз попал сюда, сразу понял, что Вы местный гуру. Но нельзя при этом других называть новичками, если они недавно на ИС. Я уже давно не мальчик в 1с. Но далеко не все свои разработки сюда выкладываю, потому как по большей части не считаю их достаточно универсальными - ведь они пишутся под конкретный заказ.
(15) мне советовали и из УПП взять. Теперь вот из УТ. Фишка в том, что для этого надо иметь эти конфигурации и поддерживать их в актуальном состоянии. Вот если бы такая штука была на диске ИТС, тогда то, что я написал было бы полной фигней. А теперь представьте себе пользователей, где нет штатных программистов, которые бы имели весь набор стандартных конфигураций. Ну нет у них под рукой УПП или УТ. Где им взять такую обработку?
Если надо в моей, пишите в личку, сделаю
(5) например, отловить событие перед записью объекта и проверить на существование других элементов с таким же ИНН.
Например такой функцией:
// Проверяет на наличие контрагентов с указанным ИНН
//
// Параметры
// ВыводитьДиалог - <Булево> - выводить список контрагентов с дубликатом ИНН
//
// Возвращаемое значение:
// <Булево> - дубликаты найдены
//
Функция ЕстьДубликатыИНН( ВыводитьДиалог = Истина ) Экспорт
Если ОбменДанными.Загрузка Тогда
Возврат Ложь;
КонецЕсли;
Если ПустаяСтрока(ИНН) Тогда
// в данном случае нечего проверять
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Наименование,
| Контрагенты.НаименованиеПолное,
| Контрагенты.ИНН,
| Контрагенты.КПП
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка <> &Ссылка
| И Контрагенты.ИНН = &ИНН
| И Контрагенты.КПП = &КПП
| И (НЕ Контрагенты.ЭтоГруппа)";
Запрос.УстановитьПараметр("Ссылка", Ссылка );
Запрос.УстановитьПараметр("ИНН", ИНН );
Запрос.УстановитьПараметр("КПП", КПП );
Результат = Запрос.Выполнить().Выгрузить();
#Если Клиент Тогда
Если Результат.Количество() <> 0 И ВыводитьДиалог = Истина Тогда
Предупреждение("Обнаружено " + Результат.Количество() + " эл. справочника с совпадающим ИНН и КПП");
Для каждого СтрокаРезультата Из Результат Цикл
Сообщить(СтрокаРезультата.Наименование + " - " + СтрокаРезультата.НаименованиеПолное );
КонецЦикла;
КонецЕсли;
#КонецЕсли
Возврат Результат.Количество() <> 0;
КонецФункции // ЕстьДубликатыИНН()
и
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ЕстьДубликатыИНН(Истина) Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
// дальнейшие проверки...
КонецПроцедуры
все это в модуле справочника Контрагенты
И что делать? Н уладно я - написал сам и сам себе почистил, а как же другие такие же? Тоже только для себя ваять?
Выдрать из конфы и выложить здесь кто-нибудь хочет? Думаю нет, потому как
1. это будет явный плагиат
2. возможен конфликт в авторстве, лицензиях и т.п. с 1С
Т.е. совет взять в УТ или еще где человеку у которого этого нет равносилен освету найти того, у кого это есть и пусть поделится, а он тоже может не альтруистом оказаться, попросит что-то взамен и т.д.
А человеку нужна маленькая обработочка. И если можно быстро и бесплатно.
Не задумывались ли старожилы ИС о некоем the Best, где и бухгалтеру, и программеру, не имеющему времени кропать своё, было бы легче искать?
Это не потому, что пользователи тупые. Они просто занятые.
А с поиском беда, имхо.
Раз понодобился.... перенумератор :))))))))))))))))))) Лень было копаться в своей файлопомойке, попробовал найти на ИС - фигушки. И свой дома болтался.
Нашел в ExtForms - от старого проггера осталось
(40) Программеры-то ладно, а вот когда бухгалтер ищет инструмент под конкретную задачу, а ему или ничегошеньки, или 10 схожих обработок, тогда сложновато. Особенно когда из 10 похожих неясно, чего выбрать, и выбирается зачастую не самая качественная.
UPD: уехал в магазин, вернулся. За пару часов все ссылки нашлись. Засел за исправления. Как и предыдущим ораторам, мне очень понравилась прозрачность интерфейса. Если в штатной обработке надо, полазив по закладкам, вкурить, как заменить ссылки на правильные, и к тому же это зачем-то делается по всем контрагентам сразу и по-другому нельзя, то здесь - все предельно очевидно, примерно как в приложениях для iOS. Тупануть и сделать что-то не так практически невозможно. За часок выправил все что хотел. Если не считать долгого поиска ссылок - обработка понравилась. Плюсую.
поиск ссылок выполняется штатной процедурой поиска ссылок, которая не предусматривает вывод какого-то прогресса.
Почему она работает медленнее, чем в контроле при удалении - вопрос. Скорее всего дело в том, что контроль перед удалением выполняется всегда в монопольном режиме, а здесь такой режим не выставляется, чтобы не останавливать работу с базой.
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 19802
Создание 28.04.09 17:10
Обновление 30.04.09 10:59
Просмотры 29788
Загрузки 1538
Рейтинг
101
Комментарии 59
Код открыт Не указано
Рубрики Чистка данных Поиск данных Корректировка данных
Кому
Системный администратор
,
Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С:Предприятие 8
Конфигурация
1С:Бухгалтерия 2.0
,
1С:Управление торговлей 10
,
1С:Управление производственным предприятием
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)