Методика избавления от дублей в 1С и пр. программах.

Бывает что за время существования фирмы наименование номенклатуры сотрудники вводили как хотели, ответственного за ввод не было.


Например, «Гвозди», «Гвозди 100х4», «Гвоздь 4*100», «Гвозди (кг) 4/100». Вариантов может быть миллион. Сделать обработку, которая распознает что это одно и тоже, почти не реально. Во-первых для каждой номенклатуры будут свои характеристики: краски, гвозди, панели, мука и т.д. Во-вторых ошибки будут у каждого свои: порядок ввода и сокращение названий, орфографические ошибки, опечатки, «.», «,», пробелы, «/», «\» и пр. 

Если Вы нашли эту статью, значит Вы уже прошли несколько из 5 стадий принятия неизбежного:
1. Отрицание. Главный пользователь программы ведет себя так как будто у него нормативно-справочная информация в порядке. 
2. Гнев. Пользователь считает что программа тупая и не может понять что это одни и те же гвозди.
3. Торг. Пытается самостоятельно запомнить какие номенклатурные позиции использовать, а какие нет и научить других пользователей.
4. Депрессия. Пользователь не желает ни с кем общаться, есть, пить и замыкается в себе. Всё воспринимается в негативном ключе, положительные эмоции исключены.
5. Принятие (смирение). Это встреча с реальностью, признание фактов. Принятие бессилия и своих естественных ограничений. Помогает найти решение в кризисной ситуации.


Вывод и выход: 
Если решение навести порядок принято и вы готовы к солидному объему работу, то можно начинать. Не пугайтесь слов «солидный объем», т.к. даже если делать по 100 позиций в день, то можно перелопатить за 3-4 месяца около 10т. номенклатур. Примечание: я будут использовать слово "программно" если требуется привлечение программиста на данном этапе.


Итак:
1. Определяемся какое из 2х (и более) наименований оставим рабочим. Например, Гвозди 100*4,0 (кг) (разновидности строительные, кровельные, ершёные и пр. не используем, поэтому не актуально)
Единица измерения - учетная (это та в которой удобно принимать и отдавать со склада). Сложнее всего с песком, щебнем и пр. там только те единицы будут в которых отпускается номенклатура, скорее всего тонна, но это уже на усмотрение пользователя.
2. Остальные будут нерабочими дублями, значит в конце наименования будем метить их спецсимволами, не используемыми в других названиях, например "***". Либо еще лучше использовать типовой функционал "не используется", если позволяет программа (например, УНФ 3.0, Розница 3.0, ЗУП 3.1(конечно здесь не про гвозди, а например, про способы отражения в учете, но обычно их разгрести значительно легче)))))) или завести программно новое поле в карточке номенклатуры, например, "не используется", а наименование исправить на рабочее (если в дальнейшем будет самостоятельная замена дублей, но учтите что до окончания процесса чистки, будет несколько одинаковых наименований. Здесь могут возникнуть другие проблемы, но лучше вопросы в личку).
3. В идеале поставить запрет на программном уровне, запрещающий в документе Поступление товаров и услуг выбирать «не используемые» позиции.


Далее будет 2 ветки развития событий.

Первая более сложная с привлечением программиста, но с хорошим результатом в конце. Только учтите что доступна она только для версий ПРОФ и КОРП.
4.1. создаем регистр сведений, где будем хранить данные об "одинаковых" номенклатурах: "Рабочее", и все "не рабочее". Будет пополняться по мере их нахождения.
4.2. в алфавитном порядке начинаем заполнять наш новый регистр сведений, выбирая из справочника номенклатуры Рабочее и Не рабочее наименование. В этом случае, лучше ничего не переименовывать, тогда не придется скакать с буквы на букву и держать в голове кучу информации.
4.3. когда он будет готов, запустить доработанный типовой функционал: удаление дублей. Главное после этого не перепроводить документы, за периоды, по которым отчетность уже сдана, т.к. она может меняться (ведь при списании средняя цена, или по фифо может быть уже другая)
4.4. Удаляем помеченные на удаление объекты и все. Копим новые))). Либо выдаем ручной регламент заполнения нормативно-справочной информации и назначаем ответственного за это, либо программно определяем параметры ввода новых позиций и права на ввод новых позиций и корректировку старых.


Вторая ветка доступна без привлечения программиста:
4.1. Проводим инвентаризацию, например, на конец месяца, «не используемые» обнуляем, переводя количество на Рабочие позиции номенклатуры.
4.2. Сами не используем в приходных документах «не используемые». Если данный флаг был изначально предусмотрен Вашей конфигурацией, то их и так выбрать не удастся.
4.3. В идеале проводим свёртку базы (отсечение движений прошлых лет вводом остатков). Но только надо еще либо чистить номенклатурный состав накладных с «не используемыми» названиями и регистры (если система налогообложения УСН), причем с привлечением программиста. При использовании УСН возникает ряд нюансов. Либо «не используемые» сложить в одну папку и оставить их там.
4.4. Если провелась свертка после инвентаризации, долги покупателей и поставщиков не содержат ссылок на не используемую номенклатуру, то можно удалить помеченные на удаление объекты.