Крючков Владимир | Начальник сектора разработки | ООО "Группа Полипластик"

«Как мы разрабатываем в EDT»

1. Ответим на вопрос как мы переходили на разработку в EDT. Где было больно и что стало лучше? Где светлое будущее? 2. Расскажем про использование процессов разработки для коммерческих продуктов и open source. Что такое «Git Flow», «Git Lab Flow» и «Git Hub Flow» в чем их отличие и в чем сила? 3. Командная разработка в новых реалиях: Где и как нам помогает SCRUM? Как и где используем KANBAN? Нужно ли следовать за белым кроликом? 4. Про системы баг трекинга: Интеграция с системами баг трекинга для коммерческих решений на примере JIRA. Достаточно ли возможностей «Git Hub Issue» для open source? 5. Про репозитарии: Какой репозитарий выбрать? Что такое «bitbucket», «github» и что они умеют? Как все это увязать с EDT и баг трекингом? Когда использовать приватные, а когда публичные хранилища? 6. Используем новые волшебные возможности: автосборка релиза, code review, pull request, ветвление (bruches) и др. Как именовать ветки и что писать в коммитах чтобы получить профит. 7. Немного про качество продукта: Как мы запускаем тесты при разработке в EDT? Как используем open source Фреймворк «Тестирование 3.0»?

Сравнение результатов запросов в двух базах

Обработки - Универсальные обработки

Внешняя обработка, которая выводит отличия между таблицами, полученными в результате выполнения запросов и в текущей базе и в подключенной через COM-соединение

Функциональность

Данная внешняя обработка позволяет выполнить запросы в двух разных базах 1С 8.х (текущей и подключенной через COM-соединение), сравнить полученные из результатов запросов таблицы значений и вывести различия в них.  При сравнении таблиц значений обработка может сравнивать как примитивные, так и ссылочные типы (по ГУИДу).Обработка автоматически сохраняет все настройки и восстанавливает их при следующем открытии в этой базе. Также можно сохранять разные наборы запросов и открывать их из списка.

Примеры использования

Случаи, когда данная обработка облегчает работу:

  • Сверка корректности переноса справочников/документов и т.п. из одной базы в другую
  • Сверка корректности переноса остатков из устаревшей базы в новую
  • Проверка синхронизированности объектов в распределенной базе
  • Определение объектов, которые необходимо зарегистрировать к отправке при сбоях синхронизации
  • Проверка объектов, которые будут добавлены/перезаписаны при начале обмена данными между базами

Как пользоваться обработкой

Открываем как внешний отчет.На первой закладке указываем параметры базы, к которой нужно подключиться через COM-соединение и тестируем подключение.

Если тест подключения прошел успешно, переходим на закладку "Запрос к этой базе". Вы можете написать запрос, используя конструктор запросов (чтобы вызвать конструктор запросов, как обычно щелкаем правой кнопкой мыши), либо написать его вручную. В созданном запросе должна присутствовать как минимум одна ключевая колонка. Ключевой колонкой считается колонка, псевдоним которой заканчивается на _Ключ. Подробнее о принципах сравнения таблиц обработкой.

После создания запроса в текущей базе переходим на закладку "Запрос к подключаемой базе". Вы можете скопировать текст и параметры запроса из запроса к текущей базе, нажав на соответствующую кнопку. Но если в подключаемой базе структура метаданных отличается, возможно потребуется отредактировать запрос. Обязательное условие: набор полей в обоих запросах должен совпадать. Также в подключаемой базе параметры запроса могут быть только примитивных типов, поэтому рекомендуется в текущей базе сразу писать запрос, параметры которого будут только примитивных типов.

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

Как сравниваются таблицы значений

При создании запроса должна быть определена одна или несколько ключевых колонок получаемой таблицы значений путем добавления строки _Ключ к псевдониму поля запроса. Такие колонки считаются ключевыми. Сравнение таблиц значений производится по совпадению ключевых колонок: строки считаются сопоставленными друг другу, если у них совпадают все ключевые колонки. Для сопоставленных строк производится сравнение остальных колонок, если значения всех колонок совпадают, строки считаются одинаковыми и исключаются из вывода результатов сравнения. Таким образом получаются 3 группы строк:

  • строки, набор ключевых колонок которых есть только в этой базе; 
  • строки, набор ключевых колонок есть только в подключаемой базе;
  • строки, набор ключевых колонок которых совпадет, но значения других колонок отличается. 

Результаты сравнения

После сравнения таблиц различия в них отобразятся в табличном документе, каждую группу строк можно свернуть. По каждой группе отображается количество строк.

Для строк, отличающихся значениями неключевых колонок желтым цветом выделяются колонки, значения в которых различаются.

Вы можете сохранить параметры подключения и тексты запросов с параметрами кнопкой "Сохранить" под произвольным именем, чтобы в дальнейшем открыть их и повторно запустить сравнение.

Тестовое окружение

Обработка тестировалась на платформе 8.3.10.2667 с конфигурациями БП 3.0 и БП 2.0 в качестве подключаемой базы.

Ограничения использования

Обработка работает под платформой не ниже чем 8.3.6.1977 под конфигурациями на управляемых формах. При переходе со старых конфигураций на обычных формах на новые версии конфигураций на управляемых формах можно открывать обработку в базе новой конфигурации и сравнивать данные из неё.

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

Наименование Файл Версия Размер
Сравнение результатов запросов в двух базах:
.epf 14,97Kb
07.06.18
13
.epf 1.0 14,97Kb 13 Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение