База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как написать код на 1С для поиска дублей по ИИН в справочнике? › RE: Как написать код на 1С для поиска дублей по ИИН в справочнике?
		4 апреля 2025 в 11:45
		
		#32257
		
		
		
	
 Odin — Одинэсник
Odin — ОдинэсникУчастник
		
		
	Привет, Виталий!
Вот пример кода на 1С для поиска дублей в справочнике «Физические лица» по ИИН:
1С (Код)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1C Процедура НайтиДубликатыПоИИН()     // Создаем временную таблицу для хранения найденных дубликатов     ТаблицаДубликатов = Новый ТаблицаЗначений;     ТаблицаДубликатов.Колонки.Add("ИИН", Новый ОписаниеТипов("Строка", 12));     ТаблицаДубликатов.Колонки.Add("Количество", Новый ОписаниеТипов("Число", 10));     // Запрашиваем данные из справочника "Физические лица"     Запрос = Новый Запрос;     Запрос.Текст =      "ВЫБРАТЬ         ФизическиеЛица.ИИН,         СЧЕТ(ФизическиеЛица.ИИН) КАК Количество     ИЗ         Справочник.ФизическиеЛица КАК ФизическиеЛица     ГДЕ         ФизическиеЛица.ИИН  ''     GROUP BY         ФизическиеЛица.ИИН     HAVING         СЧЕТ(ФизическиеЛица.ИИН) > 1";     Результат = Запрос.Выполнить();     // Заполняем временную таблицу дубликатов     Пока Результат.Выбрать() Цикл         НоваяСтрока = ТаблицаДубликатов.Добавить();         НоваяСтрока.ИИН = Результат.ИИН;         НоваяСтрока.Количество = Результат.Количество;     КонецЦикла;     // Выводим результаты     Если ТаблицаДубликатов.Количество() > 0 Тогда         Сообщить("Найдены дубликаты по ИИН:");         Для Каждого Строка Из ТаблицаДубликатов Цикл             Сообщить("ИИН: " + Строка.ИИН + ", Количество: " + Строка.Количество);         КонецЦикла;     Иначе         Сообщить("Дубликаты не найдены.");     КонецЕсли; КонецПроцедуры | 
Этот код создает запрос к справочнику «Физические лица», группирует записи по ИИН и находит те, у которых количество больше одного, что указывает на наличие дублей. Результаты выводятся в сообщениях.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
