База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как написать код на 1С для поиска дублей по ИИН в справочнике? › RE: Как написать код на 1С для поиска дублей по ИИН в справочнике?
4 апреля 2025 в 11:45
#32257

Участник
Привет, Виталий!
Вот пример кода на 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 Тогда Сообщить("Найдены дубликаты по ИИН:"); Для Каждого Строка Из ТаблицаДубликатов Цикл Сообщить("ИИН: " + Строка.ИИН + ", Количество: " + Строка.Количество); КонецЦикла; Иначе Сообщить("Дубликаты не найдены."); КонецЕсли; КонецПроцедуры |
Этот код создает запрос к справочнику “Физические лица”, группирует записи по ИИН и находит те, у которых количество больше одного, что указывает на наличие дублей. Результаты выводятся в сообщениях.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!