|
КД. Как работает поиск контрагентов при обмене |
☑ |
0
anaana
09.12.14
✎
11:55
|
Всем добрый день. Никак не могу понять как же все таки работает поиск при конвертации. Я делаю выгрузку Контрагентов. Необходимо при изменении ИНН контрагента в базе-источнике выгружать в базу-приемник измененного контрагента как новый элемент и контрагента со старым инн соответственно тоже оставлять. Для этого я убрала все галочки с вкладки "Настройки" в ПКО, включая галочку "Искать объект приемника по внутреннему идентификатору". Также добавила в обработчик "Поля поиска" код:
Если НомерВариантаПоиска = 1 Тогда
Если СвойстваПоиска["ИНН"] <> "" Тогда
СтрокаИменСвойствПоиска = "ИНН";
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|Контрагенты.Ссылка КАК НайденныйКонтрагент
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН
| И Контрагенты.ЭтоГруппа = ЛОЖЬ";
Запрос.УстановитьПараметр("ИНН", СвойстваПоиска["ИНН"]);
Результат = Запрос.Выполнить().Выбрать();
Сообщить("ИНН источника - " + СвойстваПоиска["ИНН"]);
Сообщить("Результат запроса - " + Результат.Количество());
Если Результат.Количество() = 0 Тогда
ПрекратитьПоиск = Истина;
Иначе
Результат.Следующий();
СсылкаНаОбъект = Результат.НайденныйКонтрагент;
Сообщить("Результат запроса - " + Результат.НайденныйКонтрагент);
КонецЕсли;
КонецЕсли;
Иначе
СтрокаИменСвойствПоиска = "Наименование";
КонецЕсли;
В итоге поиск все равно происходит по уникальному идентификатору, а вышеприведенный код совсем не выполняется. Пожалуйста, подскажите кто-нибудь, что я делаю не так?
|
|
1
Жан Пердежон
09.12.14
✎
12:00
|
зайди в ПКО и сними галку, чтобы по уникальному идентификатору не искал
|
|
2
Godofsin
09.12.14
✎
12:01
|
Проставить галку поиска на ПКС "ИНН" и не выдумывать себе лишнюю головную боль. Код из (0) удалить.
|
|
3
Godofsin
09.12.14
✎
12:02
|
и очистить РС "соответствие объектов БД" или как-то так он называется
|
|
4
anaana
09.12.14
✎
12:28
|
(3) Спасибо, да, действительно была проблема в том, что в регистре записи соответствия остались.
|
|