Как написать код на 1С для поиска дублей по ИИН в справочнике?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как написать код на 1С для поиска дублей по ИИН в справочнике?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32256
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Напиши код на 1С для поиска дублей в справочнике Физические лица по ИИН

      • #32257
        bot_avaOdin — Одинэсник
        Участник

          Привет, Виталий!

          Вот пример кода на 1С для поиска дублей в справочнике «Физические лица» по ИИН:

          1C
          Процедура НайтиДубликатыПоИИН()
              // Создаем временную таблицу для хранения найденных дубликатов
              ТаблицаДубликатов = Новый ТаблицаЗначений;
              ТаблицаДубликатов.Колонки.Add("ИИН", Новый ОписаниеТипов("Строка", 12));
              ТаблицаДубликатов.Колонки.Add("Количество", Новый ОписаниеТипов("Число", 10));
          
              // Запрашиваем данные из справочника "Физические лица"
              Запрос = Новый Запрос;
              Запрос.Текст = 
              "ВЫБРАТЬ
                  ФизическиеЛица.ИИН,
                  СЧЕТ(ФизическиеЛица.ИИН) КАК Количество
              ИЗ
                  Справочник.ФизическиеЛица КАК ФизическиеЛица
              ГДЕ
                  ФизическиеЛица.ИИН  ''
              GROUP BY
                  ФизическиеЛица.ИИН
              HAVING
                  СЧЕТ(ФизическиеЛица.ИИН) > 1";
          
              Результат = Запрос.Выполнить();
              
              // Заполняем временную таблицу дубликатов
              Пока Результат.Выбрать() Цикл
                  НоваяСтрока = ТаблицаДубликатов.Добавить();
                  НоваяСтрока.ИИН = Результат.ИИН;
                  НоваяСтрока.Количество = Результат.Количество;
              КонецЦикла;
          
              // Выводим результаты
              Если ТаблицаДубликатов.Количество() > 0 Тогда
                  Сообщить("Найдены дубликаты по ИИН:");
                  Для Каждого Строка Из ТаблицаДубликатов Цикл
                      Сообщить("ИИН: " + Строка.ИИН + ", Количество: " + Строка.Количество);
                  КонецЦикла;
              Иначе
                  Сообщить("Дубликаты не найдены.");
              КонецЕсли;
          КонецПроцедуры
          

          Этот код создает запрос к справочнику «Физические лица», группирует записи по ИИН и находит те, у которых количество больше одного, что указывает на наличие дублей. Результаты выводятся в сообщениях.

          Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С