УДАЛЕНИЕ ДУБЛИКАТОВ В СПРАВОЧНИКАХ
1. Причины возникновения дубликатов в справочниках
Проблема дубликатов в справочниках возникает во всех базах данных, не исключение и 1С (ИБ - информационные базы в терминах 1С). Основные причины возникновения дубликатов в справочниках следующие:
- Человеческий фактор
- Ошибки политики обмена
При больших базах данных и большом количестве пользователей дублирование элементов справочника неизбежно. Чаще всего это происходит из-за отсутствия регламентных документов: за какие справочники кто должен отвечать и как эти справочники контролировать. Чаще всего ИБ – продукт коллективного творчества, за работу которой никто не несет ответственности. Это тема отдельной статьи.
Рассмотрим возникновение дубликатов справочников на примере конфигурации «Бухгалтерия предприятия 8» (БП). Наиболее «захламленные» справочники это «Контрагенты» и «Номенклатура». Это естественно, т.к. с этими справочниками работают практически все пользователи.
Простые повседневные примеры из работы небольшого предприятия.
- Справочник номенклатуры достигает сотен тысяч наименований. Если он плохо структурирован, дубликаты неизбежны. Пришел товар на склад. Кладовщик не смог правильно выбрать товар из справочника (новый неопытный кладовщик или старый раздолбай). Заводит новую позицию в справочнике. Особенно актуально, когда складов много, работают с одной (не дай бог, распределенной) базой данных. В центральном офисе концы с концами свести не могут. Пример навскидку из реальной ИБ. Сравните номера 3148 и 3150. Найдите различия.
|
|
|
|
00000003146 |
Лист оцинк. плоский 0.7*1250*2500 |
Лист оцинк. плоский 0.7*1250*2500 |
л. |
00000003148 |
Лист оцинкованный |
Лист оцинкованный |
шт |
00000003147 |
Лист оцинкованный |
Лист оцинкованный |
м2 |
00000003149 |
Лист оцинкованный кг |
Лист оцинкованный кг |
кг |
00000003150 |
Лист оцинкованный шт |
Лист оцинкованный шт |
шт |
00000003151 |
Лист оцинкованный 2,0-0,5 м |
Лист оцинкованный 2,0-0,5 м |
шт |
- Справочник клиентов достигает десятков тысяч наименований. Сотрудников, которые продают товар, почему-то везде называют «менеджеры», хотя слово «менеджер» переводится как «управляющий» - «приказчик» по-русски. По моим наблюдениям у этой категории сотрудников самая большая текучесть кадров. У хорошего менеджера есть свои клиенты. И фирмы переманивают успешных менеджеров с его клиентами. Новый сотрудник, плохо ориентируясь в новой для него ИБ, наплодит массу дубликатов. Без комментариев.
|
|
|
|
000006108 |
КАМАЗ-ЛИЗИНГ-Сервис-Ногинск ОО |
ООО "КАМАЗ-ЛИЗИНГ-Сервис-Ногинск" Ногинское ОСБ 2557 г.Ногинск |
5031079232 |
000006028 |
КамАз-Лизинг-Сервис-Ногинск ООО |
ООО "КамАз-Лизинг-Сервис-Ногинск" |
|
- При обмене информацией между двумя ИБ должна строго соблюдать технология обмена данными. Для примера возьмем две самые распространенные конфигурации БП и ЗУП. Ввод в справочники и обмен данными между конфигурациями должен быть строго регламентирован. Если одновременно ввести два совершенно одинаковых элемента в справочники в обоих этих конфигурациях (например, в справочник «Физические лица»), а затем произвести обмен между конфигурациями, то произойдет дублирование элементов справочника. Причина в том, что каждая запись в 1С8 имеет свой уникальный идентификатор. Сравнение записей происходит по нему, а не по содержанию как в 1С7. Поэтому две совершенно идентичные с точки зрения пользователя записи для системы 1С8 будут различными. Сотрудник введен одновременно в БП и ЗУП (это видно по разной кодировке в конфигурациях).
|
|
4536-0028 |
Комаров Юрий Николаевич |
00004717 |
Комаров Юрий Николаевич |
2. Поиск и замена дубликатов
Для поиска дубликатов существует много обработок, в частности на сайте Инфостарт (выбраны только для 1С8):
Универсальная обработка для поиска дубликатов по любому справочнику и любому реквизиту |
|
Поиск дубликатов по справочнику «Физические лица» с учетом дней рождения |
|
Поиск дубликатов по справочнику «Контагенты» с учетом ИНН |
|
Поиск дубликатов по справочнику «Контагенты» с учетом реквизитов |
|
Поиск и замена дубликатов в справочниках |
Чистку справочников от дубликатов необходимо производить регулярно. Настоятельно рекомендую это делать хотя бы один раз в месяц перед закрытием месяца.
Предлагается следующая последовательность действий для каждого актуального справочника:
- Поиск дубликатов с помощью вышеперечисленных обработок
- Анализ каждого дубликата справочника. Для каждого задублированного элемента справочника нужно оставить один экземпляр, остальные пометить на удаление. Например, два задублированных элемента справочника. Один старый, основной, с которым давно работали. Второй введен недавно, случайно, по ошибке. Оставляем первый, второй помечает на удаление.
- Заменить ссылки с помеченных на удаление объектов на основные. Новый, ошибочный элемент введен не просто так, скорее всего на него ссылается один из новых документов. Поэтому в этом документе ссылку с нового, задублированного элемента справочника необходимо изменить на основной, правильный элемент справочника.
- Выполнить удаление помеченных объектов, т.е. удалить их из ИБ для избежания путаницы.
Эти операции необходимо производить с помощью обработок, находящихся на диске ИТС, их список находится //infostart.ru/public/22234/ .
Замена ссылок производится с помощью обработки «ПоискИЗаменаЗначений.epf».
Внимание! Эта обработка универсальная. Она меняет любые ссылки! Пользоваться ей нужно очень аккуратно (граната в руках обезьяны)!!! Потренируйтесь на тестовой ИБ.
Запускаем обработку через основное меню «Файл/Открыть». На экране появится форма обработки. На ней жмем на значок «Добавить» (или на клавишу Insert). Добавится строка замены, в которой будем указывать «что заменять» и «на что заменять». Таких строк можно добавить несколько, но лучше не рисковать и менять ссылки по одной.
В верхнем окне обработки появится строчка. Настроим раздел «Что заменять». Жмем на кнопку «Т» - выбор таблицы.
Появится окно с объектами конфигурации ИБ (справочники, документы). Выберем справочник «Контрагенты» для удаления из него дубликатов.
Аналогично настроим раздел «На что заменять». Щелкаем по пустому полю. Появляются аналогичные кнопки. Жмем на «Т», выбираем справочник «Контрагенты».
Вернемся в раздел «Что заменять». В окне кнопка «Т» сменилась на кнопку «…» - выбор записи из справочника «Контрагенты»:
Жмем на нее и в списке выбираем помеченные нами ранее объекты. Ранее был проведен анализ «ненужных» записей и они были помечены к удалению. В приведенном примере в названии четырех организаций встречается слово «Вега». Два элемента справочника полностью совпадают. Это подтверждает не только одинаковые названия, но и одинаковые ИНН. Помечен к удалению новый элемент с большим кодом, т.к. считаем, что у более старого элемента уже имеется своя история
Выбираем элемент 6158. Система предупредит, что мы выбрали элемент, помеченный на удаление. Соглашаемся.
На форме обработки в разделе «Что заменять» появится название контрагента.
Переходим в раздел «На что менять» (щелкаем по пустому полю). Появляются аналогичные кнопки. Жмем на «…». Выбирает основной элемент справочника:
Экран обработки принял следующий вид:
Жмем на кнопку «Найти ссылки». Получим ссылки всех объектов ИБ на элемент, находящийся в разделе «Что заменить». В нижнем окне обработки появится список этих объектов.
Тщательно проверьте список! При нажатии на элемент этого списка, откроется соответствующий документ. Для замены ссылок, нажмите на кнопку «Выполнить замену значений».
Если случай «не запущенный», то произойдет изменение ссылок всех объектов из списка на «правильный» элемент справочника. Если с ошибочным объектом уже «плотно» поработали, то необходимы дополнительные действия.
Например, если у справочника есть подсправочник (например «Договоры контрагентов») и эти договора участвовали в операциях, то необходимо вместе с контрагентом менять и договор. Для этого в верхней части обработки добавляем еще одну строку, в которую выбираем объект из справочника «Договоры контрагентов» для этого контрагента.
В разделе «Что заменять» находится договор удаляемого контрагента, в разделе «На что заменять» - договор основного контрагента. При этой операции будут перекинуты не только ссылки справочника «Контрагенты», но и справочника «Договоры контрагентов».
Замену лучше производить последовательно. Сначала выполняем замену для договора – снимаем «галочку» с первой строки.
Жмем «Найти ссылки», «Выполнить замену значений». Затем установить «галочку» на первой строке, снять со второй и выполнить те же операции.
Для того, чтобы проверить выполнение операции можно повторно нажать кнопку «Найти ссылки». Список объектов должен остаться пустым.
Таким образом, мы перевели все ссылки с ошибочного объекта на «правильный». Контроль справочников нужно делать регулярно, чтобы не возникали сложные исправления.
Чтобы больше не путаться с ошибочным объектом, необходимо его удалить из ИБ. Для этого служит обработка на диске ИТС «Удаление помеченных объектов.epf». В отличие от встроенной в конфигурацию обработки, эта позволяет удалять объекты без блокировки ИБ.
Запускаем обработку. Будет выдано предупреждение о том, что «Обработка может долго работать». Соглашайтесь. Обработка выберет все объекты, помеченные к удалению, и выведет их список в верхнем окне.
По умолчанию помечены к удалению все объекты. Можно «галочками» выбрать необходимые. Нажмите на кнопку «Контроль». Будет выдано сообщение:
Если сказать «Да» обработка попытается удалить помеченные объекты. Удаление произойдет, если на удаляемые объекты не имеется ссылок. Если сказать «Нет», то после контроля будет выведен список ссылок для каждого объекта, который можно просмотреть и проанализировать.
Например для нашего контрагента «ВЕГА-М» ссылок не найдено и объект может быть удален из ИБ. Это отмечено зеленой «галочкой», список ссылок в нижнем окне пуст.
Объекты с красной «галочкой» удалить из ИБ невозможно. В нижнем окне показаны документы, ссылающиеся на этот объект. Так для контрагента «Техдиалстрой» имеется 15 ссылок.
Для этого контрагента необходимо проделать такие же операции, какие были проделаны для контрагента «ВЕГА-М».
Для удаления объектов из ИБ необходимо нажать на кнопку «Удалить». Будут удалены все объекты, помеченные к удалению, на которые не имеется ссылок.
В заключение еще раз напоминаю, что описанные операции производят необратимые изменения в ИБ. Пользоваться указанными обработками можно только имея хорошее понимание выполняемых действий и хороших навыков.