Здравствуйте, уважаемые участники форума. Отредактировал код обработчика "Поля поиска" в ПКО "Контрагенты" в штатных правилах обмена. Но никак не хочет отрабатывать как надо. Во всех случаях в приемнике находится один и тот же контрагент с пустым ИНН. В источнике создаю нового, то есть совпадения по идентификатору исключены. Также очищаю соответствия в регистре "Соответствие объектов информационных баз". В настройках ПКО галку "Продолжить поиск по полям поиска, ..." поставил. Цель - исключить контрагентов с пустым ИНН.

Пробовал и такой вариант

```1c
    Если НомерВариантаПоиска = 1 тогда
    Если СвойстваПоиска["ИНН"] <> " Тогда
    СтрокаИменСвойствПоиска = "ИНН, КПП";
    КонецЕсли;
    КонецЕсли;
```

и такой

```1c
    Если НомерВариантаПоиска = 1 тогда
    Если СвойстваПоиска.Получить("ИНН") <> " Тогда
    СтрокаИменСвойствПоиска = "ИНН, КПП";
    КонецЕсли;
    КонецЕсли;
```

и такой

```1c
    Если НомерВариантаПоиска = 1 тогда
    Если ЗначениеЗаполнено(СокрЛП(СвойстваПоиска.Получить("ИНН"))) Тогда
    СтрокаИменСвойствПоиска = "ИНН, КПП";
    КонецЕсли;
    КонецЕсли;
```

Отладкой правил для синхронизации пользоваться не умею. В универсальный обмен штатные правила загружаться не хотят.
---
Разобрался. Надо было измененные правила положить не только в источник под именем ExchangeRules, но и в приемник под имененм CorrespondentExchangeRules. Видимо при прямом подключении достаточно обновить правила источника, но при подключении через FTP нужны на стороне источника и приемника.
---
Отключили поиск по уид?
---
Нет, поиск по УИД оставил. Просто поставил вторую галку "Продолжить поиск по полям поиска, ..."
Интересная штука. Сделал копии баз, там все работает как надо. Причем любой из вариантов, который я написал. Что я не учел? Почему на рабочих базах может не работать?
---
Странная фигня. При подключении через FTP не отрабатывают мои измененные правила. При прямом подключении все ок. В чем может быть дело? Какая разница какой тип подключения?
---
возможно в номерах сообщений. Обмен должен быть последовательный, если из одной базы будет выгрузка чаще чем из другой, то это не есть хорошо.
(3)все таки попробуйте его отключить.
---
У меня из одной базы в расписании действительно обмен настроен чаще. А что с этим делать? Номера сообщений совпадают.
Заметил, что не работает еще одно изменение, которое я делал какое-то время назад (совсем не связанное с текущим). Причем совсем ранние изменения отрабатывают нормально. Почистил все кеши, которые только можно. В регистре "соответствия объектов информационных баз" этих элементов нет.

Еще такой момент. Правильно ли я делаю, что правлю ExchangeRules.xml в источнике? Нужно ли править CorrespondentExchangeRules.xml в приемнике?

Отключить поиск по UID попробовал. Ничего не изменилось
---
как то у вас все в куче. Вы правили поля поиска в ПКО правил обмена. Насколько я понимаю правила из последнего поста - это правила регистрации изменений. Все таки где и что вы правите?
Расписание я всегда настраиваю со сдвигом времени, что бы не было наложений выгрузки/загрузки.
А правите правила в конвертации?
---
Все верно, правлю поля поиска в ПКО правил обмена (файл ExchangeRules.xml из УТ). Правила регистрации - это RegistrationRules.xml, я его не трогаю. В архиве с правилами есть еще третий файл, CorrespondentExchangeRules.xml.

А вопрос собственно про комплект правил в приемнике (БП). Нужно ли править какой-то из этих файлов в приемнике (БП)? Ведь там есть свой комплект правил (CorrespondentExchangeRules, ExchangeRules, RegistrationRules). Используются ли они в моем случае, если обмен идет через FTP?

Я так понял, что ExchangeRules источника (УТ) повторяется в CorrespondentExchangeRules приемника (БП). Для чего это?

Да, правлю в конвертации.
---
Разобрался. Надо было измененные правила положить не только в источник под именем ExchangeRules, но и в приемник под имененм CorrespondentExchangeRules. Видимо при прямом подключении достаточно обновить правила источника, но при подключении через FTP нужны на стороне источника и приемника.