Создание патчей

Создание расширение с исправлением

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

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

Расширение с патчем должно исправлять только одну ошибку.
Исправление патчем нескольких ошибок допустимо, если ошибки связаны.

Для этого создать новое расширение конфигурации и выполнить действия:

  1. Указать свойства расширения:
    • Имя – "EF_<произвольный_номер_ошибки>". Например, EF_00_000268773.
      image-1716530630282.png
    • Префикс имен – берется из свойства имя.
    • Основные роли – снять флаг.
    • Основной язык – снять флаг.
    • В группе Совместимость – снять флаги у всех свойств.
    • Режим совместимости - указывать равный или ниже тому, что у конфигурации, для которого оно создается.
  2. Не удалять объект метаданных Язык – Русский.
  3. Удалить автоматически созданную роль. В патче она не нужна.
  4. Перенести изменения в расширение-патч.
    • Для процедур и функций – встать на любой строчке и нажать ALF+SHIFT+F2, в диалоговом окне "Тип выбора" указать "Вызывать вместо".
    • В метод патча перенести текущую реализацию со всеми необходимыми изменениями.
  5. Создать и заполнить макет, который описывает содержимое патча и информацию о нем:
    • Добавить общий макет, имя которого совпадает с именем расширения. Например, 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>

где:

Для создания макета есть обработка ФормированиеОписанияПатча.epf (расположена в прикрепленных файлах).

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

"ИмяМоейПроцедуры" следует указывать

"EF_<произвольный_номер_ошибки>_ИмяМоейПроцедуры".

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

Нельзя изменять ранее созданное расширение для исправления новой ошибки, это приведет к исключению при одновременном подключении этих расширений.

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

Публикация патчей

Этот блок только для тех у кого есть доступ к публикатору.

Для публикации расширения (патча) необходимо:

  1. Запустить "Управление публикациями конфигураций".
  2. Перейти на форму "Исправления (Патчи)" (команда "Исправления (Патчи)" в подсистеме "Портал 1С:ИТС")
  3. Нажать кнопку создать, выбрать файл расширения. Файл погрузиться в публикатор. Выведится сообщение что файл расширения загружен, нужно надать кнопку "Ок".
  4. Откроется форма с данными расширения, нужно убедиться что все данные правильные и нажать "Записать и закрыть".image-1717074198309.png
  5. После записи патч подгрузится на releases.1c.ru. В карточке релиза должна появиться гиперссылка "Исправления ошибок версии"

    image-1717074423386.png

    и при переходе по ней должен быть виден опубликованный патч

    image-1717074463245.png


Полезные ссылки:

  1. https://its.1c.ru/db/metod8dev#content:5986:hdoc:_top:патчи

Revision #9
Created 24 May 2024 04:58:09 by Кирилл
Updated 30 May 2024 13:07:48 by Кирилл