Доброго времени суток.
Мне достались базы «Бухгалтерия предприятия 2.0» и «Управлние торговлей 10.3», между которыми настроен обмен. Пользователи заметили, что есть контрагенты, которые в разных базах имеют разные коды 1С, орфографически разные наименования, но при выгрузке документов, машина каким то образом понимает что контрагент «ИП Иванов» с кодом Б0001 в «Бухгалтерии» соответствует контрагенту «Иванов И.И.» с кодом Т0002 в «Торговле». Попросили разобраться почему такое происходит.
Ответ конечно лежит на поверхности. GUID у этих объектов в «Торговле» и в «Бухгалтерии» одинаковый. Для того чтобы понять как исправлять данную ситуацию, было решено получить список объектов, у которых GUID одинаковый, а код и/или наименование не совпадают.
Собственно эту адачу и решает представленная в этой публикации обработка.
Как пользоваться:
1. открываем обработку в двух базах.
2. Выбираем Справочник, который будем сарвнивать, и кликаем на кнопке «Выполнить»
3. Если необходимо пользуемся отбором.
4. Кликаем по кнопке «Заполнить т отчета».
5. Выделяем заполненную таблицу отчета в одной из баз, и через буфер обмена переносим ее во вторую базу в таблицу для сравнения.
6. Кликаем по кнопке «Сравнить», получаем заполненную таблицу — резултат сравнения. Если результ сравнения необходимо вывести на печать, вызываем контекстное меню, кликнув правой кнопкой мыши на таблице «Результат сравнения», выбираем «Вывести список».
Имея список несовпадений, можно уже решать что с ними делать.
Все.
P.S. Как такая ситуация могла возникнуть я ответить затрудняюсь, т.к. после изменения кода или наименования в одной базе, при обмене эти изменения должны реплицироваться в другую… короче не очень понятно, если у кого-нибудь есть предположения как такое могло произойти, поделитесь в комментариях.
А в РС «СоответствиеОбъектовДляОбмена» смотрели?
(1)если выгрузка идет не через план обмена, то там вряд ли что-то можно увидеть.
полезная может быть вещь…
(2) SpartakM, а при чем план обмена?
(3)а как по Вашему данные попадают в этот регистр?
и к чему идет привязка объектов в этом регистре?
Обработка.ОбменДаннымиXML.Модуль
Показать
Вот так можно данные туда записать.
УзелОбменаЗагрузкаДанных — узел плана обмена. Используется для логического разделения данных между базами, с которыми осуществляется обмен.
КлючВИсточнике — ГУИД объекта в базе источнике.
СсылкаНаОбъект — Ссылка на объект в базе приемнике.
ИмяТипаВИсточнике — строковое представление типа объекта в базе источнике, для более удобного получения доп информации о загружаемом объекте из файла переноса данных.
(3) kasper076,
обмен не всегда делается через план обмена, представляешь? Бывает, люди сами пишут правила в КД.
И в этом случае РС СоответствиеОбъектовДляОбмена не используется вообще.
(6) EarlyBird, представляю. Потому и не понимаю при чем тут план обмена. Я использую этот РС в самописном обмене без использования плана обмена.
(7)Пример:
из разных УТ, в базу БП должны загружаться данные. План обмена не используется.
ТоварА — в баз УТ1 называется как ТоварА, а в Базе УТ2 — ТовА. в БП уже есть этот товар, как ТоварА (ссылка совпадает с УТ1).
что запишется в твой регистр а этом случае?
(8) SpartakM, зависит от того, по какому ключу синхронизирутся данные. Может у них Коды одинаковые.
(9)коды, ссылки и наименование — разные.
(10) SpartakM, и как в этом случае поможет план обмена?
(10) Вот что запишется
Показать
(11) вообще-то к узлу обмена идет привязка…
каждому узлу — свое соответствие объектов…
(13) SpartakM, это же справочник. Так? Соответственно разделение его по узлам не требуется. Он один для всех баз. Данных записанных в этот РС хватит для идентификации объекта в приемнике.
(13) SpartakM, как я понимаю, речь шла о том, чтобы не использовать план обмена для регистрации объектов и их выгрузки, используя стандартные механизмы…
(15) DeepSnorkler, вообще изначально речь шла о том, почему элемент справочника в одной базе, соответствует элементу справочника в другой, не смотря на то, что у них разные коды. Автор решил, что такое возможно только при одинаковых ГУИДах у этих объектов. А я с ним не согласился.
(16) kasper076, описанное изначально могло случиться по разным причинам. Например, сделали обмен БП=>УТ, ручками или обработкой поменяли у контрагента Иванов код в УТ, в правилах обмена прописано искать контрагента по уникальному идентификатору, с документом переносится ссылка, контрагент не переписывается, а берется из справочника в УТ, а там стоит код Т0002… Ну как-то так…
(16) kasper076, и таки да — вы правы, виноват в таком случае РС «СоответствиеОбъектовДляОбмена»…
(18) DeepSnorkler, да вариантов получения такой ситуации может быть несколько. Я лишь предложил один из возможных.
Супер нужная вещь. Не могли Бы Вы мне прислать на chmv2005@mail.ru
Заранее огромное спасибо
А как обработку развернуть на весь экран?
Чето обработка вообще не соответсвует картинкам и описанию. Или я Туплю…
А если необходимо сравнить не по GUID’ам, а сопоставить иные реквизиты? Данная обработка уже не поможет. Зато придет на помощь обработкаhttp://infostart.ru/public/257211/ позволяющая делать это и многое другое.