Перевірка будь-якої таблиці на повторювані рядки, з висновком повідомлення які рядки задублірованни, і режимом "Відмова" для проведення документів.
У даній процедурі пошук дублів відбувається по всіх колонках рядків. Тобто дублем вважається повтор значень в двох рядках по всіх колонках.
Якщо повторюють рядків більше однієї, то вони всі будуть показані в повідомленні, з порядковим номером вихідної рядки і повторюваної рядки.
Дану процедуру краще використовувати в загальному модулі і викликати її з процедур "ПріЗапісі" або "ОбработкаПроведенія", і т.п. Тобто в тих, де можна зробити відмову від виконання подальших дествий
Як Таблиці - можна вказати "ТабліцуЗначеній", або "ТаблічнуюЧасть" документа, Довідника і т.д.
Якщо Тип (ТЧ) = Тип ( "ТабліцаЗначеній") Тоді
ТаблЗнач = ТЧ;
інакше
ТаблЗнач = ТЧ. Вивантажити ();
КонецЕсли;
Відбір = Новий Структура ();
Для кожного Стор З ТаблЗнач Цикл
Відбір. Очистити ();
Для кожного Колонки З ТаблЗнач. колонки Цикл
Якщо Колонки. ім'я <> "НомерСтрокі" Тоді
Відбір. Вставити (Колонки. Ім'я. Стор [Колонки. Ім'я]);
КонецЕсли;
КонецЦікла;
Рядки = ТаблЗнач. НайтіСтрокі (Відбір);
Якщо Рядки. Кількість ()> 1 Тоді
Для кожного НайденниеСтрокі З Рядки Цикл
Якщо Рядки. Знайти (НайденниеСтрокі)> 0 Тоді
СтрокаСообщенія = "Рядок №" + Рядки [0]. НомерСтрокі + "збігається з рядком №" + НайденниеСтрокі. Номер рядка ;
СообщітьОбОшібке (СтрокаСообщенія. Відмова. "Приберіть задвоєння рядків!");
КонецЕсли;
КонецЦікла;
КонецЕсли;
КонецЦікла;
КонецПроцедури