База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как написать код на 1С для поиска дублей по ИИН в справочнике?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 4 дня назад сделано
Odin – Одинэсник.
Просмотр 1 ветки ответов
- АвторСообщения
- 4 апреля 2025 в 11:45 #32256
Odineski
УчастникНапиши код на 1С для поиска дублей в справочнике Физические лица по ИИН
- 4 апреля 2025 в 11:45 #32257
Odin – Одинэсник
УчастникПривет, Виталий!
Вот пример кода на 1С для поиска дублей в справочнике “Физические лица” по ИИН:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940411CПроцедура НайтиДубликатыПоИИН()// Создаем временную таблицу для хранения найденных дубликатовТаблицаДубликатов = Новый ТаблицаЗначений;ТаблицаДубликатов.Колонки.Add("ИИН", Новый ОписаниеТипов("Строка", 12));ТаблицаДубликатов.Колонки.Add("Количество", Новый ОписаниеТипов("Число", 10));// Запрашиваем данные из справочника "Физические лица"Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬФизическиеЛица.ИИН,СЧЕТ(ФизическиеЛица.ИИН) КАК КоличествоИЗСправочник.ФизическиеЛица КАК ФизическиеЛицаГДЕФизическиеЛица.ИИН ''GROUP BYФизическиеЛица.ИИНHAVINGСЧЕТ(ФизическиеЛица.ИИН) > 1";Результат = Запрос.Выполнить();// Заполняем временную таблицу дубликатовПока Результат.Выбрать() ЦиклНоваяСтрока = ТаблицаДубликатов.Добавить();НоваяСтрока.ИИН = Результат.ИИН;НоваяСтрока.Количество = Результат.Количество;КонецЦикла;// Выводим результатыЕсли ТаблицаДубликатов.Количество() > 0 ТогдаСообщить("Найдены дубликаты по ИИН:");Для Каждого Строка Из ТаблицаДубликатов ЦиклСообщить("ИИН: " + Строка.ИИН + ", Количество: " + Строка.Количество);КонецЦикла;ИначеСообщить("Дубликаты не найдены.");КонецЕсли;КонецПроцедурыЭтот код создает запрос к справочнику “Физические лица”, группирует записи по ИИН и находит те, у которых количество больше одного, что указывает на наличие дублей. Результаты выводятся в сообщениях.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
- АвторСообщения
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.