Перейти к основному содержанию
`Ctrl`+`K`

# Удаление дубликатов записей после переноса конфигурации

Используется для удаления избыточных дублирующихся записей, которые могут возникнуть при некорректной настройке ключа сопоставления в задачах переноса конфигурации. Скрипт оставляет последнюю версию записи по максимальному `id` для каждого уникального значения ключевого поля и удаляет остальные.

Место применения: `Настройки и сервисы > Управление конфигурацией > Менеджер конфигурации > [Нужная конфигурация] > Вкладка "Задачи" > [Нужная задача] > Вкладка "Состав задачи" > Тип: JEXL-скрипт`

Внимание

Требует адаптации под конкретный класс и ключ сопоставления. Перед запуском проверьте имя таблицы, поле группировки в `partition by` и API-класс, через который выполняется удаление записей.

Тип: JEXL-скрипт

    var l = sql(`select t.id
    from ( select id, row_number() over (
    partition by idAdvRepItem
    order by id desc
    ) as row_num from Bs_AdvRepItemDetType
    ) as t
    where row_num > 1`).asList();
    for (w:l){
    Bs_AdvRepItemDetTypeApi.delete(Bs_AdvRepItemDetTypeApi.load(w.id))
    }
    commit();