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

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

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

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

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

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

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

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

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

См. также

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

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

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

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