Создание патчей
Создание расширение с исправлением
Сначала исходную ошибку, которую требуется закрыть патчем, необходимо исправить и протестировать штатным образом. Изменения по исправлению ошибки поместить в рабочее хранилище проекта.
Затем открыть конфигуратором информационную базу одной из прошлых версий, в которой имеется исправляемая ошибка, и перенести изменения по ошибке в расширение конфигурации.
Расширение с патчем должно исправлять только одну ошибку.
Исправление патчем нескольких ошибок допустимо, если ошибки связаны.
Для этого создать новое расширение конфигурации и выполнить действия:
- Указать свойства расширения:
- Имя – "EF_<произвольный_номер_ошибки>". Например, EF_00_000268773.
- Префикс имен – берется из свойства имя.
- Основные роли – снять флаг.
- Основной язык – снять флаг.
- В группе Совместимость – снять флаги у всех свойств.
- Режим совместимости - указывать равный или ниже тому, что у конфигурации, для которого оно создается.
- Имя – "EF_<произвольный_номер_ошибки>". Например, EF_00_000268773.
- Не удалять объект метаданных Язык – Русский.
- Удалить автоматически созданную роль. В патче она не нужна.
- Перенести изменения в расширение-патч.
- Для процедур и функций – встать на любой строчке и нажать ALF+SHIFT+F2, в диалоговом окне "Тип выбора" указать "Вызывать вместо".
- В метод патча перенести текущую реализацию со всеми необходимыми изменениями.
- Создать и заполнить макет, который описывает содержимое патча и информацию о нем:
- Добавить общий макет, имя которого совпадает с именем расширения. Например, EF_00_00268773.
- Заполнить содержимое макета по примеру:
<Patch xmlns="http://www.v8.1c.ru/ssl/patch" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>EF_00_00268773</Name>
<Description>В веб-клиенте при сохранении некоторых печатных форм может быть недоступен выбор папки сохранения.</Description>
<UUID>abfde8f7-7ac4-43a9-9521-d291d0d0d6c3</UUID>
<ModifiedMetadata>ОбщаяФорма.СохранениеПечатнойФормы.ПриСозданииНаСервере</ModifiedMetadata>
<AppliedFor>
<ConfigurationName>СтандартныеПодсистемы</ConfigurationName>
<Versions>3.1.2.229,3.1.2.245</Versions>
</AppliedFor>
</Patch>
где:
- Name – должно совпадать с именем патча из расширения
- Description – описание для пользователя, будет отображаться в списке установленных патчей.
- UUID – уникальный идентификатор патча. Требуется создать новый, получив методом платформы Новый УникальныйИдентификатор.
- ModifiedMetadata – изменяемые объекты метаданных.
- AppliedFor – блок, в котором описывается к каким конфигурациям подходит данный патч.
- ConfigurationName – имя конфигурации, берется из описания подсистемы в модуле ОбновлениеИнформационнойБазы<Сокращение>.
- Versions – список версий конфигурации через запятую, для которой применим патч.
- Рекомендуется при проверке патча проверять, что данный макет корректно читается и в нем нет ошибок – для этого нужно перейти к списку установленных исправлений (Администрирование – Обслуживание – Установленные исправления).
Для создания макета есть обработка ФормированиеОписанияПатча.epf (расположена в прикрепленных файлах).
При переносе исправления ошибки в расширение следует учитывать следующее. Новые процедуры и функции следует добавлять в расширение с префиксом патча, например, вместо
"ИмяМоейПроцедуры" следует указывать
"EF_<произвольный_номер_ошибки>_ИмяМоейПроцедуры".
Если этого не сделать, то возникнет ошибка при удалении патча после обновления на новую версию конфигурации, в которой уже существуют одноименные новые процедуры и функции.
Нельзя изменять ранее созданное расширение для исправления новой ошибки, это приведет к исключению при одновременном подключении этих расширений.
После создания патча передаем расширение клиенту и ответственному за публикацию решений.
Публикация патчей
Этот блок только для тех у кого есть доступ к публикатору.
Для публикации расширения (патча) необходимо:
- Запустить "Управление публикациями конфигураций".
- Перейти на форму "Исправления (Патчи)" (команда "Исправления (Патчи)" в подсистеме "Портал 1С:ИТС")
- Нажать кнопку создать, выбрать файл расширения. Файл погрузиться в публикатор. Выведится сообщение что файл расширения загружен, нужно надать кнопку "Ок".
- Откроется форма с данными расширения, нужно убедиться что все данные правильные и нажать "Записать и закрыть".
- После записи патч подгрузится на releases.1c.ru. В карточке релиза должна появиться гиперссылка "Исправления ошибок версии"
и при переходе по ней должен быть виден опубликованный патч
No Comments