Показать сообщение отдельно
Старый 23.11.2007, 12:53   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Arahnid Посмотреть сообщение
Я не знаю, как в теории проверить, что строки полностью идентичны. Может есть какая-то функция или вообще, какая должна быть логика?
Проверять вообще все поля нет необходимости. Надо проверить только те, в которых контролируется уникальность значений. Т.е. посмотреть список полей, входящих в индексы со свойством

AllowDuplicates = No

Далее по этим полям строишь запрос вида

X++:
CustTable custTable;
;

while select count(recId) from custTable group by zipCode
{
    if (custTable.recId > 1)
    {
        info(strFmt("zipCode %1 количество %2", custTable.zipCode, custTable.recId))
    }
}
Т.е. в group by надо перечислить все поля, входящие в такие индексы.

Кстати, вовсе не факт, что дубликаты существуют. Я не знаю, что именно Вы вкладываете в понятие "повторная загрузка классификатора", но если этот процесс сам не контролирует возможные дубли, то надо подправить его код (если это какой-то класс). Нельзя же загружать то, что уже есть.