Контроль доработок конфигураций

13.04.21

Разработка - Инструментарий разработчика

Конфигурация для отслеживания доработок типовых конфигураций, позволяет ускорить обновление модулей типовых релизов и находить потерянные при обновлении доработки. Имеет ряд уникальных функций, которые не предоставляет конфигуратор 1С.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Контроль доработок конфигураций:
.cf 174,04Kb ver:1.1
48
48 Скачать (5 SM) Купить за 3 050 руб.

Основные возможности

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

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

Анализируемые объекты

Подробный анализ доработок предусмотрен для большинства объектов метаданных. Анализируются все открытые модули, управляемые формы, реквизиты, табличные части, команды, роли, подсистемы, схемы компоновки данных, в общем все что выгружается в файлы *.xml или *.bsl в пригодном для анализа виде.

Объекты, исключаемые из подробного анализа (помечены флажком "Неподдерживаемый"): табличные документы, бинарные объекты (в т.ч. обычные, неуправляемые формы), текстовые макеты, содержимое справки, картинки, архивы и т.п. Для таких объектов фиксируется только факт отличия от типового объекта, без подробностей. Если такой объект будет полностью заменен типовым при обновлении релиза, это будет отображено в отчете "Потерянные изменения объектов метаданных", но при частичной потере доработок объекта отчет его не покажет, так как он будет по прежнему отличаться от типового.

Терминология

Маркером в данной разработке называются отметки в комментариях (обычно это фамилия или инициалы), которыми разработчики отмечают изменения в текстах модулей при доработке типовых конфигураций.

Например для такого куска кода

...
Запрос = Новый Запрос;

//Иванов 20.03.2019
Запрос.УстановитьПараметр("ДокументРасчета", ДокументРасчета)
//Иванов 20.03.2019

Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
...

маркером является строка "Иванов".

Соответственно набором маркеров является все такие отметки, которые встречаются в конкретной доработанной конфигурации.

Для улучшения качества анализа доработок нужно заполнить набор маркеров и привязать его к обновляемой базе

Запуск базы "Контроль доработок конфигураций"

Данная конфигурация работает только в режиме "Управляемое приложение толстый клиент". Поэтому перед первым запуском ставим основной режим запуска "Толстый клиент".

Если вы забудете сделать это, программа не запустится

 

Подготовка к обновлению релиза типовой конфигурации

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

  • Типовую конфигурацию старого релиза
  • Типовую конфигурацию нового релиза
  • Доработанную конфигурацию

Например мы обновляем доработанную конфигурацию ЗУП 3.1.9.207 на 3.1.10.223. Нам понадобятся выгруженные в каталоги конфигурации:

  • ЗУП 3.1.9.207 типовая
  • ЗУП 3.1.10.223 типовая
  • ЗУП 3.1.9.207 доработанная

Для выгрузки используем пункт меню "Конфигурация - Выгрузить конфигурацию в файлы". В каталоге должны появиться папки и файлы с объектами конфигурации.

ВНИМАНИЕ! Выгрузка конфигураций в файлы должна проводиться на одной и той же версии платформы!

При несоблюдении этого требования добавляемая при выгрузке в файлы служебная информация может различаться для разных релизов платформы, что приведет к значительному увеличению времени, требуемого для поиска различий в файлах а также может привести к ложным различиям. Чаще всего это может случиться если база с доработанной конфигурацией -  клиент-серверная, а базы с типовыми конфигурациями - файловые. Если на компьютере разработчика установлены разные релизы платформы и есть более новый релиз, чем релиз сервера 1С, файловая база запустится на более новом релизе. В этом случае лучше запускать бинарный файл прямо из каталога с нужным релизом при выгрузке обоих конфигураций.

После выгрузки конфигураций в файлы открываем базу "Контроль доработок конфигураций".

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

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

Записываем документ, после этого нажимаем "Заполнить". Поиск различий типовых релизов может занять достаточно продолжительное время, для указанных конфигураций на моем i3/16Gb это примерно полчаса. Если меняется не 3 разряд релиза, а только 4, например обновление с ЗУП 3.1.10.223 на 3.1.10.253, то заполнение различий происходит значительно быстрее, за 5-10 минут.

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

Затем создаем фиксацию различий доработанной конфигурации до обновления. В ней сразу заполнится каталог файлов типовой конфигурации (из документа фиксации различий типовых релизов), нужно указать только каталог с выгруженными файлами доработанной конфигурации. Записываем документ и нажимаем "Заполнить". Длительность заполнения зависит от количества различий между доработанной и типовой конфигурациями.

После сохранения выбираем документ из списка.

 

Просмотр различий конфигураций

При заполнении документ "Фиксация различий" сравнивает выгруженные файлы конфигураций. Если файлы различаются, то программа пытается определить в чем именно заключаются различия и сохранить эту информацию. Кроме того сохраняется текст отличающихся файлов, а для текстов модулей - отдельно сохраняется текст каждой процедуры/функции. Всю эту информацию можно затем увидеть в самом документе или в отчетах.

Пример определения различий в модулях:

 

Для каждого модуля определяются добавление/изменение/удаление процедур и функций, а также количество маркеров в каждой процедуре/функции. Нажав на гиперссылку "Сравнить тексты" можно увидеть чем конкретно отличаются тексты модулей.

Также можно просмотреть отличия всего модуля целиком:

Пример определения различий в метаданных ("Внутренний путь" - это иерархия в xml-файле):

Для удобства отображения в документе "Фиксация различий" есть фильтры по виду метаданных, виду различий (Добавлен/Изменен/Переименован/Удален) и типу объектов (равно как и Ctrl+F по любой колонке). Это может быть полезно если мы хотим увидеть например сразу все формы, которые были изменены интерактивно (не модули форм, а именно сами формы). Такой возможности Конфигуратор не предоставляет.

Различия конфигураций можно посмотреть также в отчетах "Различия в модулях" и "Различия в метаданных", которые можно открыть из рабочего стола (отчеты открываются с уже заполненными параметрами). Эти отчеты созданы на СКД, позволяют менять настройки, сохранять новые варианты. Сохраненные варианты отчетов можно открывать сразу с рабочего стола (на скриншоте выше это "Проверка соответствия стандартам разработки" и "Отклонения от стандартов разработки").

Пример сформированного отчета "Различия в метаданных":

Ещё одна уникальная функция, которой нет в Конфигураторе - просмотр различий текстов запросов динамических списков и наборов данных СКД (открывается при щелчке по гиперссылке "Сравнить"):

Пример сформированного отчета "Различия в модулях конфигураций" (щелчком по гиперссылке можно открыть сравнение текстов как отдельных процедур, так и модуля целиком):

 

Полуавтоматическая настройка объединения модулей

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

Если процедура/функция изменена только в новой типовой конфигурации или только в доработанной, для неё в файл записывается состояние флажка.

Для процедур/функций измененных дважды состояние флажка не записывается и нажав на переключатель "Отображать строки: Не записанные в файл" можно увидеть только такие процедуры/функции и при объединении заниматься только ими, не тратя времени на остальные. Также можно увидеть доработанные процедуры/функции, которые были удалены в новом типовом релизе и доработки из которых нужно переносить в другие процедуры/функции.

Полученный xml-файл я рекомендую загружать через "Добавить настройки из файла".

При загрузке xml-файла с настройками объединения могут выходить сообщения "Методы не найденные в модулях обеих конфигураций". Виной этому формат файла сохранения настроек, в нем есть только имя процедуры/функции, но нет признака того, процедура это или функция, и если в новой типовой конфигурации процедура была переделана в одноименную функцию (или наоборот), выходит такое сообщение.

Но флажки при этом загружаются верно.

 

Отображение потерянных доработок

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

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

 

Поддержка английского языка

Конфигурация создана полностью на английском языке, все объекты метаданных и все программные модули написаны на английском. Если в конфигурации сделать основным языком английский, весь интерфейс тоже будет на английском.

 

Условия работоспособности

Для корректной работы программе требуется возможность создания COM-объекта "VBScript.RegExp", поэтому беспроблемная работа возможна только при запуске на Windows.

 

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

Тестирование происходило на платформе 8.3.12.1790, запуск в режиме толстый клиент, файловая база. Операционная система: Windows 10.

Анализ изменений отрабатывался на конфигурациях ЗУП 3.1.9/3.1.10 и БП 3.0.57/3.0.71. Анализировать можно любую конфигурацию с открытыми модулями, но для конфигураций на обычных формах подробный анализ изменений форм недоступен, определяется только факт отличия от типовой формы.

Версия 1.1 от 13.04.2021

  • Адаптация для работы в режиме клиент-сервер (толстый клиент).
  • Оптимизация быстродействия
  • Исправление ошибок
  • Новая функция: "Поиск ссылок на удаленные в новом типовом релизе процедуры/функции".

Указываем документ фиксации различий типовых релизов (документ должен быть заполнен уже после обновления на версию 1.1, т.к. в ней появился признак "Экспортная" у процедур и функций) и документ фиксации различий доработанной конфигурации после обновления.

При нажатии на кнопку "Заполнить" программа ищет все экспортные процедуры/функции общих модулей и модулей менеджеров, которые были удалены в новом типовом релизе, затем ищет ссылки на них в измененных и добавленных модулях доработанной конфигурации (если был добавлен объект метаданных, поиск производится во всех его модулях). Все найденные вхождения в текстах выводятся в виде дерева.

контроль доработка конфигурация обновление релиз потерянные изменение различие модуль метаданные

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171724    960    403    

924

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14281    108    46    

108

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27256    96    48    

137

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17263    43    15    

75

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11888    45    27    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191168    1152    0    

920

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

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

3600 руб.

27.12.2024    1113    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    104115    244    100    

307
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 1021 27.04.20 12:07 Сейчас в теме
Сергей, однозначно плюс! По-моему, очень ценная разработка!
Выгружаем:
Типовую конфигурацию старого релиза
Типовую конфигурацию нового релиза
Доработанную конфигурацию

Подскажите, чтобы выгрузить две типовых (старую и новую) Вы разворачиваете под них какую-то временную базу? Загружаете cf-ник (взятый из дистрибутива или выгруженный как конфигурация поставщика из диалога "настройка поддержки") и выгружаете в XML-файлы?
Мне думается, здесь можно было бы приспособить утилиту ibcmd (описывал в статье), чтобы непосредственно из Вашей Конфигурации "Контроль доработок", можно было сделать выгрузки, указав cf-ники и путь для XML-выгрузки. Для этого потребуется запуск двух команд:
>ibcmd infobase create --db-path="d:\temp\temp_db" --create-database --load="ФайлКонфигурации.cf"
>ibcmd infobase config export --db-path="d:\temp\temp_db" "ПутьДляВыгрузкиXML"
2. Serge R 231 28.04.20 07:00 Сейчас в теме
У меня есть базы с типовыми конфигурациями и каталог, в котором я храню выгрузки xml-файлов из типовых конфигураций. Каждый раз после обновления базы с типовой конфигурацией я выгружаю xml-файлы в этот каталог.
Структура у него такая - <КраткийНомерПлатформыНаКоторойПроизводиласьВыгрузка>\<Кратк­ийИдентификаторКонфигурации>
Например:
D:\12_1790\zp10_223
Здесь 12_1790 - выгрузка производилась платформой 8.3.12.1790, файлы конфигурации ЗУП 3.1.10.223
Сокращать приходится потому что при выгрузке в xml-файлы платформа рекомендует использовать максимально короткие пути.

Таким образом выгрузив 1 раз типовую конфигурацию, я использую эту выгрузку сначала как выгрузку новой типовой конфигурации, а при последующем обновлении - как выгрузку старой типовой конфигурации.

Насчет ibcmd подумаю, но мне кажется лучше иметь готовые выгрузки.
3. sashocq 193 29.04.20 12:43 Сейчас в теме
Видно, что работы проделано много. Но ценность этого как-то сомнительна.
Обновление изменённых модулей несколько лет уже делается на 90% автоматом (KDiff3 или аналог) — платформа это давно позволяет.
Для других изменений (например, то что определенный реквизит не потерял добавленный тип и т. п.) лучше писать обработку, проверяющую все эти моменты (можно через механизм автотестов, или просто с ручным запуском).
И всё получится на порядок быстрее.
4. milanse 40 21.05.20 11:49 Сейчас в теме
(3) чего там kdiff показывает когда перетасовали модуль целиком ?
6. sashocq 193 21.05.20 21:12 Сейчас в теме
(4) Когда перетасовали модуль целиком всё-равно вручную нужно делать. Смотришь изменения что были до этого и ищешь как сделать то же в новом модуле.
8. milanse 40 22.05.20 20:35 Сейчас в теме
(6)пользовался им давно, он не видит процедур и функций, поменяли местами внутри модуля и привет. Автор предлагает инструмент для автоматизации, kdiff инструмент для работы, для кропотливой работы, который никак не облегчает путину обновления, не позволяет понять правильно ли объедены формы? У нас бп3- расширили длину инв номера ОС, периодически упускаем это из виду, в итоге имеем формы, в которых длина меньше, после записи из такой формы теряются данные. И таких вещей не мало. В итоге пелёнка с описанием надо каждый раз пройтись по ней и ничего не упустить. А тут инструмент , позволяет эти вещи зафиксировать и автоматом проверять.
5. milanse 40 21.05.20 11:55 Сейчас в теме
А что насчет сравнения состава типов реквизитов ?
7. Serge R 231 21.05.20 22:20 Сейчас в теме
(5) Если у составного реквизита был добавлен или удален тип, это определяется и будет выглядеть примерно так:
Прикрепленные файлы:
Созинов; milanse; +2 Ответить
9. Elena_Shaulskay 11.08.20 16:33 Сейчас в теме
Столкнулись с такой проблемой, если в новой конфигурации изменен модуль менеджера документа, в старой типовой и доработанной нет изменений в модуле менеджера, то в настройке объединения модулей не показывает изменения в модуле менеджера. Могу прислать скриншоты. Можно это исправить?
11. Serge R 231 14.08.20 19:22 Сейчас в теме
(9)Если в старой доработанной конфигурации нет доработок в модуле менеджера документа, что там контролировать? Смысл данной программы в том чтобы контролировать доработки типовой конфигурации.
10. Elena_Shaulskay 11.08.20 16:55 Сейчас в теме
Также не показывает изменения форм, добавленные, измененные элементы форм, хотя в фиксации различий мы видим изменения самих форм, а не только модуля форм
12. Serge R 231 14.08.20 19:24 Сейчас в теме
(10)Обычные формы или управляемые? Изменения форм показываются только для управляемых форм, это указано в описании. Обычные формы хранятся в бинарном формате, определять там различия очень сложно. Но можно определить сам факт изменения формы от типовой.
Оставьте свое сообщение