Удаление дубликатов из справочников в 1С8

03.11.09

Задачи пользователя - Инструкции пользователю

   Подробно описана процедура удаления дубликатов в справочниках 1С.
   Можно рассматривать как пример применения универсальных обработок с диска ИТС http://infostart.ru/public/22234/
   Эта жа статья в формате WORD в "прицепленом" файле.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Статья с картинками
.rar 142,38Kb
624
624 Скачать бесплатно

 УДАЛЕНИЕ ДУБЛИКАТОВ В СПРАВОЧНИКАХ

 

                        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/14880/

Поиск дубликатов по справочнику «Физические лица» с учетом дней рождения

//infostart.ru/public/21380/

Поиск дубликатов по справочнику «Контагенты» с учетом ИНН

//infostart.ru/public/19802/

Поиск дубликатов по справочнику «Контагенты» с учетом реквизитов

//infostart.ru/public/21386/

Поиск и замена дубликатов в справочниках

//infostart.ru/public/14986/

 

            Чистку справочников от дубликатов необходимо производить регулярно. Настоятельно рекомендую это делать хотя бы один раз в месяц перед закрытием месяца.

 

            Предлагается следующая последовательность действий для каждого актуального справочника:

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

            Эти операции необходимо производить с помощью обработок, находящихся на диске ИТС, их список находится //infostart.ru/public/22234/ .

 

            Замена ссылок производится с помощью обработки «ПоискИЗаменаЗначений.epf».

 

            Внимание! Эта обработка универсальная. Она меняет любые ссылки! Пользоваться ей нужно очень аккуратно (граната в руках обезьяны)!!! Потренируйтесь на тестовой ИБ.

 

            Запускаем обработку через основное меню «Файл/Открыть». На экране появится форма обработки. На ней жмем на значок «Добавить» (или на клавишу Insert). Добавится строка замены, в которой будем указывать «что заменять» и «на что заменять». Таких строк можно добавить несколько, но лучше не рисковать и менять ссылки по одной. 

            В верхнем окне обработки появится строчка. Настроим раздел «Что заменять».  Жмем на кнопку «Т» - выбор таблицы. 

 

     Появится окно с объектами конфигурации ИБ (справочники, документы). Выберем справочник «Контрагенты» для удаления из него дубликатов. 

 

     Аналогично настроим раздел «На что заменять». Щелкаем по пустому полю. Появляются аналогичные кнопки. Жмем на «Т», выбираем справочник «Контрагенты»



     Вернемся в раздел «Что заменять». В окне кнопка «Т» сменилась на кнопку «…» - выбор записи из справочника «Контрагенты»


 

 

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

 

    Выбираем элемент 6158. Система предупредит, что мы выбрали элемент, помеченный на удаление. Соглашаемся. 

 

    На форме обработки в разделе «Что заменять» появится название контрагента. 


 

    Переходим в раздел «На что менять» (щелкаем по пустому полю). Появляются аналогичные кнопки. Жмем на «…». Выбирает основной элемент справочника:   

    Экран обработки принял следующий вид:  

     Жмем на кнопку «Найти ссылки». Получим ссылки всех объектов ИБ на элемент, находящийся в разделе «Что заменить». В нижнем окне обработки появится список этих объектов. 

 

    Тщательно проверьте список! При нажатии на элемент этого списка, откроется соответствующий документ. Для замены ссылок, нажмите на кнопку «Выполнить замену значений».

 

    Если случай «не запущенный», то произойдет изменение ссылок всех объектов из списка на «правильный» элемент справочника. Если с ошибочным объектом уже «плотно» поработали, то необходимы дополнительные действия.

 

    Например, если у справочника есть подсправочник (например «Договоры контрагентов») и эти договора участвовали в операциях, то необходимо вместе с контрагентом менять и договор. Для этого в верхней части обработки добавляем еще одну строку, в которую выбираем объект из справочника «Договоры контрагентов» для этого контрагента.  

 

    В разделе «Что заменять» находится договор удаляемого контрагента, в разделе «На что заменять» - договор основного контрагента. При этой операции будут перекинуты не только ссылки справочника «Контрагенты», но и справочника «Договоры контрагентов».

           

    Замену лучше производить последовательно. Сначала выполняем замену для договора – снимаем «галочку» с первой строки. 


 

 

    Жмем «Найти ссылки», «Выполнить замену значений». Затем установить «галочку» на первой строке, снять со второй и выполнить те же операции.

 

   Для того, чтобы проверить выполнение операции можно повторно нажать кнопку «Найти ссылки». Список объектов должен остаться пустым.

 

    Таким образом, мы перевели все ссылки с ошибочного объекта на «правильный». Контроль справочников нужно делать регулярно, чтобы не возникали сложные исправления.

 

    Чтобы больше не путаться с ошибочным объектом, необходимо его удалить из ИБ. Для этого служит обработка на диске ИТС «Удаление помеченных объектов.epf». В отличие от встроенной в конфигурацию обработки, эта позволяет удалять объекты без блокировки ИБ.

 

    Запускаем обработку. Будет выдано предупреждение о том, что «Обработка может долго работать». Соглашайтесь. Обработка выберет все объекты, помеченные к удалению, и выведет их список в верхнем окне.  

 

 

    По умолчанию помечены к удалению все объекты. Можно «галочками» выбрать необходимые. Нажмите на кнопку «Контроль». Будет выдано сообщение: 



     Если сказать «Да» обработка попытается удалить помеченные объекты. Удаление произойдет, если на удаляемые объекты не имеется ссылок. Если сказать «Нет», то после контроля будет выведен список ссылок для каждого объекта, который можно просмотреть и проанализировать.

 

     Например для нашего контрагента «ВЕГА-М» ссылок не найдено и объект может быть удален из ИБ. Это отмечено зеленой «галочкой», список ссылок в нижнем окне пуст. 

 

    Объекты с красной «галочкой» удалить из ИБ невозможно. В нижнем окне показаны документы, ссылающиеся на этот объект. Так для контрагента «Техдиалстрой» имеется 15 ссылок. 

 

     Для этого контрагента необходимо проделать такие же операции, какие были проделаны для контрагента «ВЕГА-М».

 

     Для удаления объектов из ИБ необходимо нажать на кнопку «Удалить». Будут удалены все объекты, помеченные к удалению, на которые не имеется ссылок.

 

     В заключение еще раз напоминаю, что описанные операции производят необратимые изменения в ИБ. Пользоваться указанными обработками можно только имея хорошее понимание выполняемых действий и хороших навыков.

 

См. также

Инструкции пользователю Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Модуль освобождает руководителя от постоянных вопросов сотрудников за счет создания полных должностных инструкций и базы знаний, а также показывает распределение зарплаты по функциям компании для оптимизации чистой прибыли и снижения издержек.

8400 руб.

05.08.2022    7953    3    0    

47

Инструментарий разработчика Инструкции пользователю Бесплатно (free)

Макропад — это программируемая мини-клавиатура, позволяющая назначить на его кнопки выполнение каких-то действий: от управления громкостью медиа проигрывателя и до ввода макросов для автоматизации каких-то действий, например, для ввода с клавиатуры шаблонов кода 1С. Все участники конференции INFOSTART TECH EVENT 2024 получили в комплекте участника такое устройство. В этой статье - необходимые файлы и инструкции по настройке.

10.10.2024    4788    kuntashov    55    

14

Инструкции пользователю Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Практические советы пользователям по настройке отчетов на СКД. Такие отчеты - как встроенные, так и внешние - используются в современных типовых конфигурациях: УТ 11, КА 2, БП 3.0, ЗУП 3.1 и других.

2 стартмани

11.03.2024    4767    50    accounting_cons    1    

17

Инструкции пользователю СКД Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простые приемы работы с отчетами на СКД. Что нужно знать пользователю про настройку отчетов, чтобы использовать их на полную катушку, – продолжение.

16.10.2023    14020    accounting_cons    9    

13

Взаиморасчеты Инструкции пользователю Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Бесплатно (free)

Обзор типовых возможностей «1С:Бухгалтерии» по контролю за оплатой счетов, а также примеры использования регистров типовой конфигурации для создания собственных отчетов.

16.05.2023    12189    accounting_cons    4    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gutentag 253 23.10.09 22:36 Сейчас в теме
2. tormozit 7229 24.10.09 13:15 Сейчас в теме
Кстати дубликаты возникают не только в справочниках. На практике часто встречал еще и в планах видов характеристик.
3. itmind 308 25.10.09 03:14 Сейчас в теме
Документ не открывается
4. rasswet 82 28.10.09 09:42 Сейчас в теме
(3) архив. zip rar ? указываете расширение файла. статья хорошая.
5. daulberg 502 28.10.09 10:36 Сейчас в теме
6. Abadonna 3968 30.10.09 17:55 Сейчас в теме
Причина в том, что каждая запись в 1С8 имеет свой уникальный идентификатор. Сравнение записей происходит по нему, а не по содержанию как в 1С7.

В 1С7 сравнение записей тоже производится по уникальному идентификатору. ;)
7. susorov 94 27.12.09 19:16 Сейчас в теме
Большое спасибо! С удовольствием распечатал статью и раздал своим инженерам и операторам Бюро справочников (НСИ).
8. Abadonna 3968 19.08.10 10:25 Сейчас в теме
Основная, имхо, причина: использование иерархии в справочниках.
Особо меня бесит деление Контрагентов на Поставщиков и Покупателей. Как будто Контрагент не может быть и тем, и другим. Поэтому при вводе в папке Поставщики бухгалтер прихода (мат. группа, например), в упор не видит, что такой уже есть в папке Покупатели (если не отключил иерархию в форме списка).На мой взгляд: распихивание по разным (да еще и вложенным) папкам создает больше проблем, чем удобств.
Редко я встречал, чтобы особо был нужен (действительно нужен, не обойтись!) отчет по группе товара
10. detec 136 19.08.10 11:36 Сейчас в теме
(8)
Для покупателей внутри страны при добавлении новой записи можно делать контроль уникальности по ИНН, ЕГРПОУ.

Для поставщиков и вообще любых справочников можно определить ключ уникальности и отбрасывать дубли в процедуре ПередЗаписью.

Может поэтому мы не сталкивались с проблемой дублей по причине папок контрагентов, товаров.
11. Abadonna 3968 19.08.10 11:39 Сейчас в теме
(10) Могу привести примеры, когда контроль по реквизиту вообще невозможен.
Пришла накладная на материалы (на завод, например), в накладной только наименование и ТЧ. Всё остальное будет позже в сч-факт. А приходовать надо сейчас
P.S. И заводить его будет именно бухгалтер (никакой не менеджер), но все равно полупустышку будет вынужден завести
12. detec 136 19.08.10 14:28 Сейчас в теме
(11)
Речь идёт о накладной в бумажном виде? Если речь идёт о том, что пользователи не умеют идентифицировать товар в бумажках и товар в справочнике и плодят дубли (при условии, что обязанности более-менее чётко распределены), то наказывать нужно таких пользователей. Возможно, многое зависит от используемых традиций учёта, но разве под упомянутую накладную не составлялся заказ поставщику в учётной системе? Или каждый раз приходит совершенно разная номенклатура?
13. Abadonna 3968 19.08.10 14:31 Сейчас в теме
(12) Скажи честно - ты с торгашами работаешь? С заводами работал?
Какие, на фиг, заявки? У кого урвали сей момент металл или пластмассу - у того и взяли.
Сегодня нужен алюминий А7, а завтра фибра такая-то...
P.S. У завода оборачиваемость оборотных средств чуть не на порядок ниже, к тому же необходимость в материалах сильно зависит от наличия заказов, никакой завод впрок их покупать не будет
14. detec 136 19.08.10 16:38 Сейчас в теме
(13) Работаю с торгашами. Со спецификой заводов не знаком, если честно.
15. tango 545 19.08.10 17:18 Сейчас в теме
+(13) оборотные средства у завода (если это не фасовка жареных семечек) - вещь вообще виртуальная
16. tango 545 19.08.10 17:19 Сейчас в теме
+(13) же. а вот "урвали" - не понял. неужели есть какой-то дефицит? проблема продать - да. но проблема купить? дасисфантасиш
9. detec 136 19.08.10 11:31 Сейчас в теме
Довольно интересная статья. В конторе, где я работаю, дубли возникают осознанно, когда необходимо вести отдельный баланс по дубликатам. Чтобы не возникали дубли товара и контрагентов стихийно, у нас действуют жёсткие ограничения на добавление карточек. У нас недопустима ситуация, когда кладовщик своими руками добавляет в справочник новую запись. Это делают закупщики по принесённым бумажкам.
То же самое касается и контрагентов. Никакой менеджер по продаже не может просто так взять и завести нового контрагента. Контрагента заводят бухгалтера по предоставлению клиентом своих регистрационных данных и договора.
Такая политика позволяет минимизировать воровство на складе и воровство с помощью левых отгрузок.
17. maria-goncharova@mail.ru 21.09.11 14:46 Сейчас в теме
18. galyausik1 3 23.09.11 10:48 Сейчас в теме
19. zdrastvyitejorj 17.11.11 15:45 Сейчас в теме
Спасибо, отличная статья, прояснилось как быть с дублями контрагентов. Но есть один вопрос: нельзя ли как-либо ускорить возню с договорами в контрагентах?Нет ли какой-либо обработки которая автоматически бы меняла ссылки на договора, например если договор с таким же названием и свойствами уже есть, меняла бы ссылки на него, если же такого нету, то просто добавляла.
20. 1C_tradeomsk 105 19.04.12 09:38 Сейчас в теме
И что? Рассказать всем о том что все и так знают, а после этого бросить ссылки на несколько обработок. Обалдеть. И кто-то ещё плюсы ставит! Я наверное напишу пару заметок - "один эс желтая", Alt-F4 и 1С, ИТС диски - куда их вставлять ... после твоего шедевра меня заплюсуют на фиг ...

Сорри. Эмоции. Слабо!
user1681949; +1 1 Ответить
21. ATimofeev1979 26.01.16 12:58 Сейчас в теме
Странно, я как программер со стажем, но не в 1С продуктах, а в SQL системах построенных на базе MSSQL, FireBird/InterBase, MySQL и т.п. никогда не встречался с дублированием записей в справочниках ибо всегда спасали ключи уникальности, работавшие наравне с первичным ключем. А в 1С это честно говоря вызвало шок.
Оставьте свое сообщение