Имя: Пароль:
1C
1С v8
Конвертация данных, перенос контрагентов
0 gamograff
 
22.07.20
13:22
Добрый день.

Есть задача перенести контрагентов из БП 3.0 в БП 2.0. Пишу правила в Конвертации данных, указываю поля поиска: ИНН, КПП и ПолноеНаименование.

В ПКО Контрагентов указываю, что если ИНН и КПП заполнены, искать по ним, если нет, то по ИНН, если есть, если нет, то по наименованию.

В настройках указываю "Продолжить поиск..." и "Не замещать существующие объекты".

Запускаю обмен, и происходит странная штука: какие-то контрагенты заменяются на контрагентов из источника. Т.е. в приёмнике они якобы не находятся. Причём, не дубли создаются, а просто в карточке контрагента меняются все реквизиты на реквизиты из источника, кроме ИНН и КПП.

Почему такое может происходить? ИНН и КПП точно совпадают. Не знаю, куда и копать.

Заранее спасибо.
1 Сияющий Асинхраль
 
22.07.20
14:45
Еще раз, если загрузка поменяла реквизиты, значит она НАШЛА соответствия в базе. А вот то, что касается замены, тут боюсь соврать, но не уверен что для элементов выгруженных по ссылкам, а не напрямую работает галка "Не замещать существующие объекты", иногда приходится ставить галку что-то типа "не замещать значение свойства у существующих объектов в приемнике". И еще "ПолноеНаименование" обычно используется только для элементов, а еще есть и группы, а тут нет ни полного наименования, ни ИНН, ни КПП это тоже надо учитывать
2 gamograff
 
22.07.20
15:40
Группы не выгружаются, поэтому и идёт проверка по полному наименованию.

По поводу нашла соответствие или нет. В модуле ПКО "При загрузке" есть код:

Если ОбъектНайден Тогда
    Сообщить("Всё ок");
Иначе
    Сообщить("Не найдено " + Объект.Наименование);
КонецЕсли;

Так вот исходя из него у позиций, которые вот так замещаются признак ОбъектНайден = Ложь. Магия да и только.
3 Immortal
 
22.07.20
16:39
(22) скрин настроек из карточки ПКО Контрагенты выложи.
особенно тех, где флаг "Продолжить поиск по полям поиска, если по уид не найден"
4 Сияющий Асинхраль
 
22.07.20
16:47
А не стоит ли там галки, что, если не найдено по полям поиска, то осуществлять поиск по внутреннему идентификатору?
5 hhhh
 
22.07.20
17:27
(2) это надо делать не в "При загрузке", а раньше. В "При загрузке" уже поздно пить боржоми.
6 gamograff
 
22.07.20
17:40
7 gamograff
 
22.07.20
17:40
8 gamograff
 
22.07.20
17:40
Прошу прощения, не умею здесь картинки вставлять

https://b.radikal.ru/b15/2007/23/1857261168b1.jpg
9 Йохохо
 
22.07.20
17:42
(6) там есть обработчик полей поиска, он первый срабатывает
10 Ёпрст
 
22.07.20
18:50
(0) у вас поиск идет всегда по внутреннему идентификатору и емли не найден, то уже поипооям поиска.
11 Fergus
 
22.07.20
22:28
что-то много галочек вы понаставили
1. Попробуйте выгрузить ТОЛЬКО контрагентов (может у вас где-то идут неявные обращения к контрагентам в других ПКО, которые имеют более высокий приоритет)
2. Отключите галочку "Искать по вн. идентификатору", пусть отработается поиск по полям
3. Можно сам файл xml открыть любым редактором xml файлов, найти в нем, например, контрагента "Торговый дом Ромашка" и посмотреть свойства атрибутов (типа должен стоять "не замещать....")
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший