Возможности консоли:
- Поддерживается дерево для хранения данных, есть возможность сохранять на внешний диск.
- «Конструктор запросов» для внешней базы автоматически открывает внешнюю базу и открывает конструктор запросов с дальнейшим возвратом результата.
- Гибкая настройка параметров как для текущей, так и для внешней базы данных.
- Для выведенных табличных документов есть ряд удобных настроек на форме, это сохранение, фиксация области, поиск по названию, суммирование ячеек, вывод выделенного текста в поле.
- На странице «Результат сравнения данных и настройки»:
Указываем как связывать таблицы источника (А) и (Б), это левое, правое, внутреннее или внешнее соединение,
Для условия связи, выбираем поля из выпадающего списка. Для ссылочных типов обязательно указываем «Сравнивать по УИД» (иначе ссылка внешней базы будет конвертироваться в строковое представление). Если поставить галочку «Выводить поле как УИД», тогда для этого поля в табличном документе будет выводится УИД ссылки, иначе выводится ссылка для текущего источника данных и представление для внешнего источника данных,
Условия отбора устанавливаются из выпадающего списка полей источника (А) и (Б), логический оператор устанавливается для каждой строки для связи со следующей строкой (по умолчанию устанавливается "И"),
Поля для группировки можно устанавливать из полей источника (А) и (Б).
- В выведенном результате сравнения данных отличающиеся строки, которые имеют тип число подсвечиваются серым цветом и строки для которых со стороны источника (А) или (Б) отсутствуют данные, также будут подсвечиваться серым цветом.
Это консоль будет помогать вам при переходах, когда нужно будет сравнивать данные между старой и новой базой по вашему условию или если вы уже работаете с базами, между которыми настроены обмены и нужно проанализировать отличие в данных.
Тестировалась на платформе 8.3.13.1644, 8.3.15.1534.
Для сравнения данных между базами они должны работать на одной платформе, это касается как файловой, так и серверной.
Мне очень нравится визуальное оформление автора консоли запросов //infostart.ru/public/335504/, поэтому такое же оформление частично использовал и у себя. Основной логикой этой обработки является гибкое сравнение данных между базами.
Возможные ошибки:
- «Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса»
Первое что необходимо сделать — зарегистрируйте на компьютере COM объект V83.COMConnector, пример строки регистрации (измените путь на нужную версию):
для 32 разрядной платформы
regsvr32 "C:Program Files (x86)1cv88.3.15.1534incomcntr.dll"
для 64 разрядной платформы
C:WindowsSystem32
egsvr32 "C:Program Files1cv88.3.15.1534incomcntr.dll"
Выполните данную команду от имени Администратора.
Если регистрации компоненты не помогла, на этом сайте подробно расписано, как решить проблему при помощи регистрации библиотеки в ручную https://efsaver.ru/docs/reshenie-problemy-nedopustimaya-stroka-s-ukazaniem-klassa.html
Другие разработки:
- Перенос данных из КА 1.1 в БП 3.0. Переносятся документы (обороты за период) и справочная информация
- Перенос данных из КА 1.1 в КА 2.4. Переносятся документы (обороты за период), справочная информация и остатки
- Универсальный обмен данными XML (1.8) 8.3 (управляемые формы) и 8.2 (обычные формы) с возможностью подключения самописных правил и добавлением во внешние обработки
- Количество документов и справочников с отбором по организации для обычных и управляемых форм
- Сравнение объектов между собой (справочников и документов) и вывод в табличный документ (управляемые формы)
- Очистка и перезаполнение видов запасов с перепроведением документов в КА 2.4 и ERP 2.4
Сравнение версий
Описание изменений и исправления ошибок:
- 09.10.2024 — Добавлена возможность заполнения данных источника (Б) запросом и параметрами из источника (А). Теперь корректно работает копирование и удаление строк из дерева запросов и исправлены др. небольшие замечания.
(0) Скажите это нормально когда берут код и формы другой обработки дорабатывают публикуют как свою?
Как минимум ссылку на оригинал добавить, согласовывать с автором
(1) Эту обработку делал давно, руководствовался несколькими и обработками, и многими процедурами БСП. Функционал именно сравнения данных разрабатывал сам, сама логика гибкого сравнения на 90% моя, касательно вывода и визуального оформления обработки 50% на 50% получилось, точно тяжело сказать. В этой обработке ещё не делал чистку от ненужных реквизитов, процедур и функций, который остались с момента создания и которые уже не используются. И по поводу форму, её я тоже сам вырисовывал и все размещал. Сейчас даже не знаю, как правильно сделать, указывать чем руководствовался или нет. Мне очень нравится визуальное оформление автора обработкиhttps://infostart.ru/public/335504/ , которым использовал и у себя.
Эту обработку первоначально разрабатывал под свои нужды, так как много работаю с обменами, РИБами и переносами данных, хотелось создать гибкий и простой механизм без лишних настроек и галочек. Вроде он получился, хотя я думаю его ещё можно дальше развивать.
(2) Разработка принадлежит автору, вы публикуете чужое со своими доработками
при попытке открыть «Конструктор заапроса» для другого источника данных пишет :
«Ошибка при подключении к внешней базе: {ВнешняяОбработка.КонсольЗапросовСВозможностьюСравненияДанныхМеждуБазами.Форма.Форма.Форма(729)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса » , хотя при проверке соединения по кнопке пишет, что все «OK»
Пробовал на однотипных базах (УТ-УТ) и на разных (УТ-БП)
Эти базы они обе серверные? Они на одной платформе работают? И можно номер платформы, попробую на ней?
(4) Попробуйте исправить ошибку как написано в описание, через регистрацию компоненты.
Раз выполняется подключение по кнопке, попробуйте во внешней базе написать запрос, скопировать его в обработку, если есть параметры, нажать кнопку на форме «Перезаполнить параметры» и выполните запрос. Если отработает, можете сравнивать данные.
А так, в обработке используются 2 конструктора для соединения с внешней базе «Новый COMОбъект(V83(2).COMConnector)» и «Новый COMОбъект(V83(2).Application)»
(5) Обе базы серверные, находятся на одном сервер, хотя пробовал и на разных — ошибка та же
Пробовал перерегистрировать компоненту — тоже самое.
Обмены между УТ->БП, через COM работают
EVSAVER использую для бекапа баз.
Пользователей он выкидывает исправно, а он вкидывает тоже через COM
Запрос сделать во внешней базе и использовать его здесь попробую, но тогда теряется весь «цимус» обработки
У меня есть обработка которая сравнивает документы в двух базах, но там все жестко и чтобы делать что-то свое надо переписывать, а хотелось что-то для быстрой выборочной проверки
платформа — 8.3.14.1779
О, какая обработка. И ни слова об этой:https://infostart.ru/public/581794/ .
Я не скачивал, чтобы посмотреть код, но, как минимум дизайн с кругами Эйлера и картинками из макетов, идея с условиями вывода и условиями запрета вывода придумана лично мной.
Так можно?
(8) Чтобы не было вопросов к моей обработке, сменил дизайн на свой.
А алгоритм сравнения в обработке мой, делал чтобы он был гибким и простым без лишних настроек и галочек.