// !!! Павел С.С. 2 июня 2011 г. 17:49:14
// Проверка любой таблицы на повторяющиеся строки
// Данную процедура лучше использовать в процедурах ПриЗаписи, ОбработкаПроведения, и т.п. Тоесть в тех, где можно сделать отказ от выполениядальнейших дествий
// Параметры:
// ТЧ - можно указать "ТаблицуЗначений", либо "ТабличнуюЧасть" документа
// Отказ - параметр "Отказ" или "Истина", "Ложь"
Процедура ПоискДублейСтрокВТабЧасти(ТЧ, Отказ) Экспорт
Если Тип(ТЧ) = Тип("ТаблицаЗначений") Тогда
ТаблЗнач = ТЧ;
Иначе
ТаблЗнач = ТЧ.Выгрузить();
КонецЕсли;
Отбор = Новый Структура();
Для каждого Стр Из ТаблЗнач Цикл
Отбор.Очистить();
Для каждого Колонки Из ТаблЗнач.Колонки Цикл
Если Колонки.Имя <> "НомерСтроки" Тогда
Отбор.Вставить(Колонки.Имя, Стр[Колонки.Имя]);
КонецЕсли;
КонецЦикла;
Строки = ТаблЗнач.НайтиСтроки(Отбор);
Если Строки.Количество() > 1 Тогда
Для каждого НайденныеСтроки Из Строки Цикл
Если Строки.Найти(НайденныеСтроки) > 0 Тогда
СтрокаСообщения = "Строка № " + Строки[0].НомерСтроки + " совпадает со строкой № " + НайденныеСтроки.НомерСтроки;
СообщитьОбОшибке(СтрокаСообщения, Отказ, "Уберите задвоения строк!");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Готовое решение
Быстрый поиск дублей в 1С: 8.1-8.3
Быстрый поиск дублей в 1С с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3. В 5 раз быстрее штатной обработки 1С.