gifts2017

Сравнение и сопоставление справочников через COM-соединение по реквизитам и/или GUID

Опубликовал Павел Сюткин (amurimpulse) в раздел Администрирование - Чистка базы

Сравнение/Сопоставление справочников через COM-соединение по реквизитам и/или GUID

Назначение
Сравнение через COM-соединение и сопоставление в регистре сведений "СопоставлениеОбъектовДляОбмена" справочников двух разных баз данных платформ 8.2-8.3(на 8.1 не проверял) на неуправляемых формах.
Возможности
* Сравнение любых справочников даже если они называются по разному
* Настройка вывода результата сравнения
* Установка отбора для местного справочника
* Сравнение любых примитивных реквизитов и примитивных реквизитов не примитивных реквизитов даже если они называются по разному (выбирается в дереве)
* В результате сравнения можно посмотреть сопоставлен ли объект из другой базы данных с местным справочником в регистре "СопоставлениеОбъектовДляОбмена"
* Настройка заполнения регистра сведений "СопоставлениеОбъектовДляОбмена"
* Запись в регистр сведений "СопоставлениеОбъектовДляОбмена" происходит после сравнения и после нажатия кнопки "Записать в регистр", после чего создается запись в регистре для местной ссылки, выбранной записи и выбранного узла обмена, а все старые записи для них удаляются
Известные проблемы
* Работает только в файловом варианте
* Не предвидена ситуация когда реквизит не примитивный и не справочник
* Если в конфигурации предусмотрено несколько владельцев подчиненного справочника, то сравнить по владельцу или его реквизиту нельзя
Планируемое
* Исправить/Доработать Известные проблемы
* Добавить кнопку сопоставить все одноименные реквизиты для реквизитов сравнения
* Выделять в отчете сравнения реквизиты по которым происходит сравнение

Нашли ошибку, есть пожелания или идеи -> пишите

Перед сопоставлением не забудьте сделать резервную копию базы! Изменения необратимы!

Код открыт (хотя закрытый код сегодня не проблема)

Скачать файлы

Наименование Файл Версия Размер
Сравнение и сопоставление справочников через COM-соединение 108
.epf 42,60Kb
18.10.14
108
.epf 42,60Kb Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
Комментарии
1. Макас (makas) 12.12.13 12:25
(0) Ваша корректно сопоставит справочники между базами УТ 10.3 и БП 2.0 ?
2. Павел Сюткин (amurimpulse) 13.12.13 12:58
Изменил название и описание! Теперь должно быть понятно, что она делает!
Прикрепленные файлы:
3. OBEH (OBEH) 18.12.13 03:57
"ранее никогда не обменивающихся!!"
А что будет, если они ранее когда-то обменивались?
Вообще, как определяется, что они "обменивались"?
4. Павел Сюткин (amurimpulse) 18.12.13 04:34
(3) OBEH,
если обмен уже происходил (стандартным механизмом), то поиск объектов производится по GUID!
т.е.
смысла в этой обработке в этом случае нет(ну почти нет)!
Просто мне пришлось настраивать обмен с базами ""ранее никогда не обменивающихся!!"", а справочники как-бы одинаковые должны быть(потому-что одна контора), а при обмене, если не править правила обмена справочники задвоятся!
РЕШЕНИЕ:
Сопоставил вручную коды справочников с помощью этой обработки
+
подкорректировал правила обмена!
вот
5. Евгений Банщиков (jonybanchicov) 18.12.13 13:14
6. Евгений Банщиков (jonybanchicov) 18.12.13 17:26
Собственно о чём:
Имеется две одинаковых базы, допустим речь идет про справочник номенклатура.
Только часть синхронизирована по вн.индентификатору, остальная расходится. Вот собственно вопрос?
Хотелось бы сначала посмотреть что сопоставлено по вн.индентификатору?

7. Павел Сюткин (amurimpulse) 19.12.13 03:32
(6) jonybanchicov,
не нашёл возможности получить GUID из другой базы по средству COM-соединения!
рассматривал вариант через XML, но запускать обработку пришлось бы из обеех баз!
+
критической надобности в этом не было!
Если есть соображения по этому поводу могу дописать ...
Прикрепленные файлы:
8. Павел Сюткин (amurimpulse) 19.12.13 04:08
(7) amurimpulse,
попробую чего-нибудь придумать ...
Прикрепленные файлы:
9. Евгений Банщиков (jonybanchicov) 19.12.13 08:55
Если получится сделайте . Очень нужно. Самому некогда.
10. Павел Сюткин (amurimpulse) 24.12.13 10:10
(9) jonybanchicov,
добавил функционал сравнения по GUID ...
11. Вадим Никонов (V.Nikonov) 25.12.13 17:14
Есть Вопросики:
1) А подключение только к Файловым БД? Если понадобится Клиент-Сервер, то допиливать самому?

2) Если Базы обменивались двунаправлено и штатно, то должны быть заполнены регистры "СоответствиеОбъектов..." Эти регистры можно задействовать для Сопоставления?
12. Павел Сюткин (amurimpulse) 26.12.13 01:30
(11) V.Nikonov,
1) Да. Да (у меня нет возможности отладить на системе "клиент-сервер").
2) Нет.
13. Олег К. (kiberiq) 11.02.14 21:31
Вот обработка, которая позволяет сравнивать справочники в разных конфигурациях, и даже в случае отличающихся наименований реквизитов http://infostart.ru/public/257211/
14. Павел Сюткин (amurimpulse) 12.02.14 05:38
(13) kiberiq,
у меня много идей дописать всякое(в том числе и "даже в случае отличающихся наименований реквизитов")!
просто нет времени :((
а на тот момент мне имеющегося функционала хватало ...
PS
не активна публикация! хочу посмотреть!
15. Олег К. (kiberiq) 12.02.14 20:29
Такая возможность уже есть. Публикация снова активна ) Адрес тот же http://infostart.ru/public/257211/
16. Павел Сюткин (amurimpulse) 13.02.14 02:49
(15) kiberiq,
Не пробовал, но выглядит прилично! Зачет!
Но я так понял исходя из свежести твоей обработки, что идею ты заплогиатил!!
+
Настроек у тебя куча! Не опытный пользователь запутается!
...
Да и вообщем решать не мне, что лучше!
Дерзайте!
17. Олег К. (kiberiq) 13.02.14 21:37
Думаю вряд ли кто-то обладает авторским правом на сравнение двух вещей.
А создание обусловлено необходимостью.
Да и все сравнение можно провести в несколько кликов.
18. Павел Сюткин (amurimpulse) 14.02.14 04:14
(17) kiberiq,
я на авторское право не претендую!
19. Олег К. (kiberiq) 14.02.14 22:20
(16) amurimpulse, тем не менее спасибо за оценку. )
20. Павел Сюткин (amurimpulse) 25.03.14 11:16
убедительная просьба плагиаторам:
- не выкладывайте здесь ссылки на свои публикации
21. Павел Сюткин (amurimpulse) 16.04.14 05:27
исправил ошибку при обработке ненайденых справочников
22. Александр Журавлев (apostal86) 24.04.14 16:29
Прочитал, что обработка может делать записи в регистр сведений "СоответствиеОбъектовДляОбмена" А Ваша обработка может проверить правильность соответствия элементов справочников используя этот регистр?
23. Павел Сюткин (amurimpulse) 25.04.14 03:14
(22) apostal86, в описании про это написано!
пока нет! скоро отпуск, так что скоро сделаю ))
24. Александр Журавлев (apostal86) 29.08.14 14:06
(23) amurimpulse, а что за "!" - они что выражают? Возмущение или удивление? Здесь на инфостарте полно разработок и описания к ним порой просто оставляют желать лучшего. Потому и задаю такой вопрос. То что ничего не написано - ничего не говорит, я же не могу знать, насколько полно Вы изложили описание к разработке.
25. Павел Сюткин (amurimpulse) 29.08.14 10:28
(24) apostal86, да у меня привычка ставить "!" вместо точки
отучиваюсь потихоньку
про описание вы правы
надо сделать
26. Олег К. (kiberiq) 01.09.14 23:41
Преимущества моей разработки:
  • 1. Работа как с файловой, так и с клиент-серверной архитектурой;
  • 2. Удобный интерфейс для выбора базы;
  • 3. Возможность Windows-аутентификации;
  • 4. Вывод результата сравнения в СКД. А это значит полностью настраиваемый вариант, с любыми группировками, отборами и сортировкой!!!

подробнее смотрите тут http://infostart.ru/public/257211/
27. Павел Богачев (pvb2003) 10.09.14 10:38
На Управляемых Формах вариант будет ? Или поставлю вопрос по другому как запустить под УТ 11.1.7....
28. Павел Сюткин (amurimpulse) 10.09.14 04:22
(27) pvb2003, на УФ не взлетит. Сначала разберусь с известными проблемами, а потом на УФ сбацаю.
29. Константин Куликов (Светлый ум) 10.03.16 21:09
Солидный инструмент +1

- Разобрался не сразу, необходимо выставить все галки чтобы всё в отчет вывелось.
Конструктор автоматически формирующий запрос очень вкусно сделан.