Сравнение элементов справочников двух баз по COM соединению. Теперь на управляемых формах.

11.07.19

Интеграция - Обмен между базами 1C

Сравнение идентичности элементов справочников по выбранным реквизитам в двух базах по COM соединению. Обработка может запускаться в режиме обычного и управляемого приложения.

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

Наименование Файл Версия Размер
Сравнение справочников в разных базах УФ
.epf 50,17Kb
239
.epf 50,17Kb 239 Скачать
Сравнение справочников в двух базах
.epf 31,28Kb
529
.epf 31,28Kb 529 Скачать

После переноса данных в новую базу возникла задача сравнить справочники между исходной и новой базами. Какие-то элементы не были перенесены по ссылкам, у каких-то элементов за время переноса изменились какие-либо реквизиты и т.д и т.п. В результате родилась эта обработка. Элементы ищутся по UUID и сравниваются по выбранным реквизитам. Частично код заимствован (функции поиска COM объектов) из аналогичной публикации //infostart.ru/public/21382/ , за что автору огромное спасибо (плюс я поставил Laughing).

Подробности можно узнать из встроенной справки и/или посмотреть код обработки. Код открыт и комментирован, поэтому в обработку легко можно добавить, например, сравнение документов.

Управляемые формы не используют процедуры и функции из модуля объекта. Ни одна процедура из модуля объекта не пострадала Laughing

10.12.2010 Вер. 1.0.2

1) Добавлена возможность соединения с базами на платформе 8.2

2) Исправлена ошибка при выборе справочника, содержащего табличные части.

3) Косметические изменения.

 19.02.2011 Вер.1.0.3

1) Исправлена ошибка при выборке реквизитов справочников.

2) Исправлена ошибка - отсутствовала процедура "СообщитьИнформациюПользователю". Перенесена из общего модуля в модуль объекта.

19.02.2011 Вер. 1.0.4

1) Косметические изменения.

 10.04.2012 Вер.1.0.2 УФ

1) добавлена возможность запуска режиме УФ

11.07.2019 Вер 1.0.3 УФ

Исправлена ошибка при создании элементов формы динамического списка.

См. также

SALE! 20%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

45650 36520 руб.

04.08.2015    159680    363    267    

345

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134932    722    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68417    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 34760 руб.

03.12.2020    34168    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46289    196    64    

158

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

Обмен между базами 1C Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    231399    124    327    

296

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9207    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    20246    132    38    

90
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. OBEH 08.12.10 13:23 Сейчас в теме
"Идентичность" - Это код и наименование в справочниках разных конф?
2. ediks 335 08.12.10 21:49 Сейчас в теме
(1)Я вроде написал, что сравнение идет по выбранным реквизитам. Кнопка "Настройка" открывает форму выбора реквизитов.
3. OBEH 09.12.10 15:11 Сейчас в теме
(2)Я еще не смотрел обработку. Просто вопрос возник.
Если, например, по коду можно, то дело стоящее.
А если, например, одна база на платформе 8.1, а другая база на платформе 8.2?
И еще. Идея. Мне кажется, коль пошла такая пьянка, может быть стоит добавить
на форму кнопку, которая формирует отчет по несовпадающим элементам?
4. ediks 335 09.12.10 17:01 Сейчас в теме
(3)

1) Сравнение идет в том числе и по коду, если он используется у справочника и если он выбран для сравнения.
2) Добавить поддержку 8.2 достаточно легко - в списке выбора нужно добавить 8.2 так, как это сделано для 8.1. Но основное предназначение обработки - сравнение элементов справочников для баз, являющихся родственными. Например, в новую базу переносили данные и нужно проверить несовпадающие элементы.
3) В табличную часть выводятся только несовпадения. Во встроенной справке это описано. Если в контестном меню выбрать пункт "Вывести список", то получим отчет по несовпадениям. В моем случае я выводил коды несовпадающих элементов и перегружал их из исходной базы.
5. OBEH 09.12.10 17:47 Сейчас в теме
(4)Ну, так скоро и будет, переходы на "родственные" базы, но 8.1 на 8.2
Я так думаю, к новому году все потянутся на 8.2
6. OBEH 09.12.10 18:45 Сейчас в теме
Поверил человеку. А тут, оказывается, с 8.2 не работает
9. ediks 335 09.12.10 20:40 Сейчас в теме
(6) Насчет 8.2: я написал что нужно сделать на форме - добавить в список выбора строку 8.2. И ничего не нужно конвертировать - из под 8.1 прекрасно соединяется с 8.2.
(7) Процесс вывода занимает сравнительно небольшое время по сравнению с поиском COM объектов. Но код открыт - все в твоих руках.
(8) Попробуй уменьшить число сравниваемых реквизитов или задать фильтры в отборе. По умолчанию, сравнивается по всем реквизитам. Соответственно, если справочник содержит много реквизитов, то выборка получается очень большая. На 8 гигах оперативки при минимальном количестве сравниваемых реквизитов (1 - :D ) удавалось сравнить справочник договоров в 500-600 тыс. записей.
10. OBEH 10.12.10 09:29 Сейчас в теме
(9)У меня не получилось установить выбор на 8.2
Там показывалось только 8.1(по умолчанию) и 8.0
8.2, вообще, даже вручную, не проходит. Тем более "прекрасно" не соединяется с 8.2
Процесс вывода можешь сам проверить, установив шаг, например, сто.
Будешь удивлен.
Количество сравниваемых реквизитов я сделал два - Код и Наименование.
Меньше нет смысла, а больше не надо.
По поводу того, что все в моих руках - конечно, могу код править,
но, пока не вижу смысла большого
11. ediks 335 10.12.10 10:56 Сейчас в теме
(10) Добавлять в список выбора 8.2 нужно в режиме конфигуратора.
7. OBEH 09.12.10 19:02 Сейчас в теме
Переконвертировал под 8.2. Вроде, заработало.
Вот только шаг счетчика, наверное, надо бы на больших объемах ставить, например, 100
А то тормозит очень на выводе строки счетчика. Неужели не встречался с такой пакостью ни разу?
8. OBEH 09.12.10 19:06 Сейчас в теме
Во! Рухнула задача по ошибке "Недостаточно памяти".
Примерно, на 40 тысяче записи.
И чего делать?
12. Virsy 10.12.10 12:48 Сейчас в теме
Выпала ошибка при сравнении реквизитов табличной части справочника:
{ВнешняяОбработка.СравнениеСправочниковВРазныхБазах(32)}: Ошибка при установке значения атрибута контекста (Текст): {(41, 14)}: Поле не найдено "Справочники.НомерСтроки"
Справочники.<<?>>НомерСтроки,
Построитель.Текст = СформироватьТекстЗапроса(1, КоличествоВВыборке);
по причине:
{(41, 14)}: Поле не найдено "Справочники.НомерСтроки"
Справочники.<<?>>НомерСтроки,
13. ediks 335 10.12.10 12:55 Сейчас в теме
(12) Табличные части не сравниваются. Это описано во встроенной справке.
14. Virsy 10.12.10 13:16 Сейчас в теме
(13) тогда неплохо бы их не добавлять в список реквизитов
15. ediks 335 10.12.10 14:19 Сейчас в теме
(14) Был такой глюк :D . Исправился. Спасибо за наводку.
16. Tokiy 131 09.02.11 20:14 Сейчас в теме
Ешчо один "глюк": когда есть две табличные части, например "Образование" и "ДопОбразование", то в этом куске
//
// выкусим наименования табличных частей
Для каждого ТабличнаяЧасть Из Метаданные.Справочники[ТипОбъекта].ТабличныеЧасти Цикл
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ТабличнаяЧасть.Имя + ".", "");
КонецЦикла;

//
в слове "ДопОбразование." он обрезает "Образование." и потом ругается на слово "Доп":

{(25, 14)}: Поле не найдено "Справочники.Доп"
Справочники.<<?>>Доп

Т.е. не совсем корректный подход к определению реквизитов. Почему бы просто не перебрать реквизиты метаданных?
19. ediks 335 19.02.11 17:13 Сейчас в теме
(16) Спасибо за наводку. Вроде исправил.
Насчет корректности подхода: простой перебор реквизитов по метаданным не дает таких реквизитов, как Владелец, Родитель, Код, Наименование, Пометка удаления, Предопределенный и т.д. Соответственно, их наличие необходимо анализировать дополнительно. Мне показалось это несколько неудобным.
Конструктор запроса делает этот анализ за меня, корректно выбирая все реквизиты.
17. Tokiy 131 09.02.11 20:17 Сейчас в теме
А вообще качал в надежде что обрабатывает табличные части..
18. v_id 106 19.02.11 12:13 Сейчас в теме
{ВнешняяОбработка.СравнениеСправочниковВРазныхБазах(583)}: Метод объекта не обнаружен (СообщитьИнформациюПользователю)
ОбщегоНазначения.СообщитьИнформациюПользователю("Количество записей внешней базы: " + Количество);

8.1 Две УТ 10.3
20. ediks 335 19.02.11 17:20 Сейчас в теме
(18) Исправил этот глюк. Действительно, в УТ нет такой процедуры. Спасибо, что подсказали.
21. v_id 106 19.02.11 19:42 Сейчас в теме
Я конечно придираюсь, но "1" и "-1" не очень наглядно, может использовать раскраску типа зеленый есть в текущей нет в копии, красный наоборот?
22. ediks 335 19.02.11 23:12 Сейчас в теме
(21) Добавил "цветовую дифференциацию штанов строк" :D , попросту говоря, раскраску. А вообще я сразу делаю отбор по реквизиту "Свертка", вывожу список и копирую отобранные коды в какую-нибудь обработку обмена.
23. powerpc 225 22.09.11 09:51 Сейчас в теме
А для сравнения документов можно сделать такую же обработку ? Особенно необходимо для сравнения выгрузки УТ в Бухгалтерию. Спасибо заранее
24. pantera190 23.09.11 13:50 Сейчас в теме
25. slav4ek 19.10.11 08:23 Сейчас в теме
26. bar_s 20.11.11 16:28 Сейчас в теме
27. RTA 15 24.01.12 11:22 Сейчас в теме
кто может дать на нее прямую ссылку?
28. rasswet 82 11.04.12 12:35 Сейчас в теме
обычная форма. где там закладка "расхождения"? или таковой нет?
выбрал справочник валюты. в настройках указал "код, наименование" в итоге три строки с одной базы под ними три строки с другой базы, это не наглядно.
29. ediks 335 11.04.12 13:00 Сейчас в теме
(28)
1) В обычной форме нет закладки "Расхождения" - данные выводятся в табличной части ниже, под отбором.
2) Каждая строка идентифицируется полем ГУИД и свертка. -1 означает, что объект находится во внешней базе. Соответственно, у Вас получается, что элементы справочника различаются, например, по полю ГУИД, если у них одинаковые код и наименование. Это возможно, например, если в базах элементы заводились вручную.

В управляемой форме то же самое, но нет раскраски строк.
30. пользователь 11.05.12 05:50
Сообщение было скрыто модератором.
...
31. lees 14.05.12 15:41 Сейчас в теме
Спасибо! В хозяйстве пригодилось. Еще б была возможность сравнивать 8 с 7.7, тогда было б ваще круть.
32. www2007 23.10.12 17:32 Сейчас в теме
Спасибо, пригодилось, и времени сэкономило немало... Полезная вещь..
33. SkorikA 83 10.01.13 09:17 Сейчас в теме
Ошибочка:
{ВнешняяОбработка.СравнениеСправочниковВРазныхБазах.МодульОбъекта(60)}: Ошибка при вызове метода контекста (Добавить)
Построитель.Отбор.Добавить("Владелец",, "Владелец");
по причине:
Недопустимое значение параметра (параметр номер '1')
Я так понимаю, если справочник подчинен владельцу и его не выбрал - то не работает?
34. ediks 335 10.01.13 10:31 Сейчас в теме
(33) Попробовал воспроизвести ошибку - не получилось. Не могли бы Вы подробнее описать условия возникновения ошибки: какая конфигурация, какой справочник, в какой момент возникает (при выборе типа объекта, при нажатии на кнопку "Настройка" и т.д.)?
Светлый ум; +1 Ответить
35. Светлый ум 406 05.05.16 13:36 Сейчас в теме
{ВнешняяОбработка.СравнениеСправочниковВРазныхБазах.МодульОбъекта(577)}: Ошибка при установке значения атрибута контекста (Текст)
КомПостроитель.Текст = СформироватьТекстЗапроса(-1, КоличествоВВыборке);
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.19.121): {(18, 14)}: Поле не найдено "Справочники.ФактическийАдресУдалить"
Справочники.<<?>>ФактическийАдресУдалить,
36. Светлый ум 406 05.05.16 14:10 Сейчас в теме
(35) Светлый ум,

Ошибка возникала при работе с Розница 1.0 --> БП 2.0
(сравнение справочника Контрагенты)

Поправил текст процедуры и заработало:
Функция СформироватьТекстЗапроса(пСвертка = 1, пКоличествоВВыборке = 0)

	Если НЕ ЗначениеЗаполнено(ТипОбъекта) Тогда	Возврат "" КонецЕсли;
	
	УсловиеПоКоличеству = ?(пКоличествоВВыборке = 0, "", "ПЕРВЫЕ " + Формат(пКоличествоВВыборке, "ЧГ=0"));
	ТекстЗапроса = 
	"ВЫБРАТЬ " + УсловиеПоКоличеству + "
	|	" + пСвертка + " КАК Свертка,
	|	Выразить("""" КАК Строка(36)) КАК ГУИД, Справочники.Ссылка КАК Ссылка, ";
	Для каждого СтрокаТЧ Из РеквизитыОбъекта Цикл
		
		Если Не Прав(СтрокаТЧ.Имя,7)= "Удалить" 
			И Не СтрокаТЧ.Имя = "БанковскиеРеквизиты"
			И Не СтрокаТЧ.Имя = "ГруппаПолучателейСкидки" 
			И Не СтрокаТЧ.Имя = "ПодписьДолжность" 
			И Не СтрокаТЧ.Имя = "ПодписьФИО"
			И Не СтрокаТЧ.Имя = "ГоловнаяОрганизация"  Тогда	
			
			Если СтрокаТЧ.Пометка Тогда
				ТекстЗапроса = ТекстЗапроса + "
				|	Справочники." + СтрокаТЧ.Имя + ",";
			КонецЕсли;
		КонецЕсли;
		
	КонецЦикла; 
	ТекстЗапроса = ЛЕВ(ТекстЗапроса, СтрДлина(ТекстЗапроса) - 1) + "
	|ИЗ
	|	Справочник." + ТипОбъекта + " КАК Справочники";
	
	Возврат ТекстЗапроса;

КонецФункции // СформироватьТекстЗапроса()
Показать
37. Yran 10.07.19 21:07 Сейчас в теме
Скачал, попробовал запустить на БП 3.0 - выдала ошибку: Основная таблица динамического списка задана не верно. Не задан ни текст запроса, ни основная таблица динамического списка.
При открытии зачем спрашивает?
38. ediks 335 11.07.19 09:50 Сейчас в теме
(37) Исправил, спасибо за информацию. Попробуйте скачать еще раз. Если возникнут проблемы, пишите, вышлю в личку.
39. echo77 1868 22.04.21 17:16 Сейчас в теме
Вариант подключения для 8.3 не пора ли добавить?
40. echo77 1868 22.04.21 18:43 Сейчас в теме
И было бы здорово иметь отчет, который показывает сгруппированные данные и подсвечивает что изменилось
Оставьте свое сообщение