Какие исправления уже стоят в базе: пять способов проверить патчи 1С

· 9 мин

Содержание

Посмотреть установленные патчи в 1С 8.3 быстрее всего в пользовательском режиме: Администрирование → Интернет-поддержка и сервисы → Обновление версии программы → Установленные исправления. Там видно имя каждого патча, его описание и признак, применён ли он. Если такой ссылки нет, откройте Главное меню → Все функции → Стандартные → Управление расширениями конфигурации — патчи там значатся как расширения с назначением «Исправление».

Патч в 1С:Предприятии 8.3 — это не правка основной конфигурации, а маленькое расширение. Поэтому номер версии в окне «О программе» после установки исправления не меняется, и многие ищут патч не там. Ниже способы для бухгалтера, администратора и разработчика: от двух кликов в интерфейсе до запроса к таблицам СУБД.

Что такое патч в 1С 8.3 и почему его не видно в номере релиза

Фирма 1С выпускает исправления (патчи) между релизами, чтобы быстро закрыть конкретную ошибку: неверный расчёт, падение формы, сбой обмена. Технически это расширение конфигурации со свойством «Назначение» = «Исправление».

Из этого следуют три практических вывода:

  • 🔹 Версия основной конфигурации остаётся прежней. Релиз 3.0.xxx.yy до и после патча один и тот же.
  • 🔹 У патча своя версия и своё имя. Их и надо искать.
  • 🔹 Патч привязан к конкретному релизу. При обновлении на следующий релиз программа сама удаляет исправления, которые вошли в новый релиз или стали неприменимы.

Механизм установки исправлений встроен в типовые конфигурации на Библиотеке стандартных подсистем: Бухгалтерию предприятия 3.0, ЗУП 3.1, Управление торговлей 11, Комплексную автоматизацию 2 и ERP. Платформенные способы (через «Все функции» и Конфигуратор) работают в любой конфигурации, где есть расширения.

Если в базе стоит автоматическая установка исправлений, патчи могли появиться без участия администратора. Это нормально: флажок настраивается в разделе интернет-поддержки, и программа подтягивает исправления для текущего релиза сама.

Список установленных исправлений в разделе «Администрирование»

Это основной способ для пользователя с правами администратора в типовой конфигурации на интерфейсе «Такси».

Пошагово

  1. Откройте раздел Администрирование.
  2. Перейдите в Интернет-поддержка и сервисы.
  3. В группе Обновление версии программы нажмите ссылку Установленные исправления.
  4. В открывшемся списке посмотрите колонки: имя исправления, описание, версия и состояние.

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

Что можно сделать в этом списке

  • ✅ Проверить, применено ли исправление. Неприменённый патч часто означает, что базу не перезапускали после установки.
  • ✅ Удалить конкретный патч, если после него появилась новая ошибка.
  • ✅ Установить исправление из файла, если его прислала поддержка.

В той же группе есть ссылка Установка исправлений (патчей) — она загружает новые патчи, а не показывает уже установленные. Эти две ссылки часто путают. Названия ссылок по релизам БСП немного различаются, но обе находятся рядом с командой обновления программы.

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

Через «Все функции» — для любой конфигурации

Если ссылки «Установленные исправления» нет (нетиповая конфигурация, старый релиз БСП), используйте стандартную функцию платформы:

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

Здесь же видно, активно ли расширение и работает ли оно в безопасном режиме. Неактивный патч программа не применяет.

Результаты обновления информационной системы и патчи

Некоторые исправления содержат не только исправленный код, но и обработчики, которые доводят данные до нужного состояния. Тогда после установки патча запускается обновление информационной базы — то самое окно «Выполняется обновление версии программы» при входе.

Проверить, как оно прошло, можно в разделе Администрирование → Обслуживание. Ищите группу, связанную с результатами обновления программы. Там видно:

  • 📌 выполнены ли все обработчики обновления, включая отложенные;
  • 📌 есть ли обработчики с ошибками;
  • 📌 сколько данных ещё обрабатывается в фоне.

Сам перечень патчей эта форма не показывает. Но она отвечает на вопрос, который обычно стоит за поиском: «патч установлен, а ошибка осталась — почему?». Если отложенная обработка данных не завершилась, часть документов может ещё не попасть под исправление.

Отложенные обработчики идут фоновым заданием. В файловой базе они продвигаются, пока в базе работают пользователи. В клиент-серверной — по регламенту кластера. Большая база может дорабатывать их несколько часов.

Как посмотреть патчи в Конфигураторе

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

Пошагово

  1. Запустите базу в режиме Конфигуратор.
  2. Откройте меню Конфигурация → Расширения конфигурации.
  3. В списке найдите расширения с назначением «Исправление».
  4. Чтобы увидеть, что именно меняет патч, выделите его и откройте конфигурацию расширения. В дереве будут только заимствованные объекты — модули и формы, которые исправлены.

Открытие расширения для просмотра монопольного доступа не требует. А вот правка и сохранение расширения меняют базу — в рабочей базе это делать не нужно.

Сравнение версий основной конфигурации

Иногда вопрос звучит иначе: «стоит ли у нас релиз, где эта ошибка уже исправлена без патча». Номер релиза основной конфигурации смотрите в окне «О программе» или в свойствах корня дерева конфигурации в Конфигураторе — свойство «Версия».

Если основная конфигурация снята с поддержки или доработана, полезно сравнить её с конфигурацией поставщика: Конфигурация → Сравнить конфигурации. Это покажет доработки, но не патчи: исправления живут в расширениях и в сравнение основной конфигурации не попадают.

Список патчей кодом: своя внешняя обработка

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

Метод РасширенияКонфигурации.Получить() возвращает массив расширений базы. У каждого есть свойства Имя, Синоним, Версия, Назначение и Активно. Метод работает на сервере, поэтому код помещайте в серверную процедуру формы обработки.

&НаСервере
Процедура ПоказатьИсправленияНаСервере()

    Расширения = РасширенияКонфигурации.Получить();
    Найдено = 0;

    Для Каждого Расширение Из Расширения Цикл
        Если Расширение.Назначение <> НазначениеРасширенияКонфигурации.Исправление Тогда
            Продолжить;
        КонецЕсли;
        Найдено = Найдено + 1;
        Сообщить(СтрШаблон("%1 | %2 | версия %3 | активно: %4",
            Расширение.Имя,
            Расширение.Синоним,
            Расширение.Версия,
            Формат(Расширение.Активно, "БЛ=Нет; БИ=Да")));
    КонецЦикла;

    Сообщить(СтрШаблон("Всего исправлений: %1", Формат(Найдено, "ЧГ=0")));

КонецПроцедуры

&НаКлиенте
Процедура ПоказатьИсправления(Команда)
    ПоказатьИсправленияНаСервере();
КонецПроцедуры

Что получится: в окне сообщений появится строка на каждый патч — имя, описание, версия и признак активности, а в конце общее число.

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

Тот же цикл без условия на Назначение покажет все расширения: и патчи, и ваши доработки. Удобно, когда нужно понять, что ещё «висит» поверх типовой конфигурации.

Сводка по способам

СпособКому подходитЧто показываетОграничения
Администрирование → Установленные исправлениябухгалтер с правами администратораимя, описание, состояниетолько типовые конфигурации на БСП
Все функции → Управление расширениями конфигурациилюбой администраторвсе расширения и их назначениенужно включить «Все функции»
Конфигураторадминистратор, разработчиксостав патча, заимствованные объектынужен вход в Конфигуратор
Внешняя обработкаадминистратор нескольких базсписок для отчётанужно написать и запустить файл
SQL-запросадминистратор СУБДкосвенные сведенияструктура не документирована

SQL-запрос к служебным таблицам: когда он оправдан

Прямой запрос к базе на MS SQL Server или PostgreSQL — крайний случай. Он нужен, если сама 1С не запускается, а надо понять, какие расширения в ней сохранены.

Расширения хранятся в служебных таблицах платформы, а не в таблицах объектов конфигурации. Состав этих таблиц меняется между версиями платформы и официально не документирован. В актуальных версиях 8.3 сведения о расширениях лежат в таблице _ExtensionsInfo. Проверить, есть ли она в вашей базе, можно так:

-- MS SQL Server: найти служебные таблицы расширений
SELECT name
FROM sys.tables
WHERE name LIKE '%Extension%';
-- PostgreSQL: то же самое
SELECT tablename
FROM pg_tables
WHERE tablename ILIKE '%extension%';

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

Только чтение: любой UPDATE или DELETE в служебных таблицах может сделать базу незапускаемой. Изменения вносите только средствами 1С. Перед любыми экспериментами с СУБД сделайте резервную копию базы .

Практичнее другой путь: развернуть копию базы из резервной копии на тестовом сервере и посмотреть расширения в Конфигураторе. Это занимает больше времени, зато даёт точный результат.

Журнал регистрации: когда и кем поставлен патч

Список показывает, что стоит сейчас. А если надо понять, когда исправление появилось или кто его удалил, откройте журнал регистрации.

  1. Откройте Администрирование → Обслуживание → Журнал регистрации (или Все функции → Стандартные → Журнал регистрации).
  2. Нажмите кнопку отбора и в поле событий отметьте события, связанные с расширениями конфигурации. Быстрее всего найти их, набрав слово «Расширение» в списке событий.
  3. Задайте период, например последние 30 дней.
  4. Сравните время событий с моментом, когда появилась или пропала ошибка.

В записи видно пользователя и компьютер. Если патч ставился автоматически, пользователем будет учётная запись, под которой выполнялось фоновое задание интернет-поддержки.

Что вам нужно узнать про патчи?

Частые ошибки при поиске информации о патчах

  • ❌ Ищут патч в номере релиза. Версия основной конфигурации после исправления не меняется. Смотрите список расширений.
  • ❌ Путают установку и просмотр. Ссылка Установка исправлений (патчей) запускает загрузку новых. Уже установленные — по соседней ссылке.
  • ❌ Смотрят под пользователем без прав администратора. Список расширений и раздел администрирования такому пользователю показываются не полностью или не показываются совсем.
  • ❌ Считают патч рабочим сразу после установки. Пока сеансы не перезапущены, работает старый код. В клиент-серверной базе проверьте, что у всех пользователей открыт новый сеанс.
  • ❌ Ищут патч, который уже удалён обновлением. После перехода на новый релиз исправления, вошедшие в него, пропадают из списка. Это не сбой.
  • ❌ Принимают доработку за патч. Расширения с назначением «Адаптация» или «Дополнение» — это ваши или сторонние доработки, а не исправления фирмы 1С.

Частые вопросы

Нужен ли монопольный доступ, чтобы посмотреть установленные патчи?
Нет. Просмотр списка в пользовательском режиме и в Конфигураторе работает при открытых сеансах других пользователей.
Можно ли удалить один патч, не трогая остальные?
Да. В списке установленных исправлений выделите нужный и удалите его. После этого программа попросит перезапуск.
Патчи переносятся при выгрузке базы в .dt?
Да, расширения входят в выгрузку информационной базы. После загрузки .dt в другую базу они появятся там же.
Почему в списке исправлений пусто, хотя поддержка говорила о патче?
Либо патч не устанавливали, либо он удалён при обновлении на новый релиз, где ошибка уже исправлена. Сверьте номер релиза в окне «О программе».
Мешают ли патчи обновлению конфигурации?
Нет. При обновлении программа сама удаляет неактуальные исправления и оставляет подходящие к новому релизу.