1с не удалось удалить исправление

Обновлено: 05.07.2024

Инструкция по созданию патчей (оперативных исправлений ошибок)

1. Патчи следует выпускать для оперативного исправления критичных ошибок в прикладных решениях и библиотеках, не дожидаясь выпуска очередного исправительного релиза ("минуя" длительную процедуру выпуска и встраивания библиотек – в случае ошибок в библиотеках).

Критичность определяется ответственным за прикладное решение (библиотеку).

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

Установка и удаление патчей реализована в 1С:Библиотека стандартных подсистем, а в 1С:Библиотека интернет-поддержки предусмотрена автоматическая загрузка патчей с портала 1C:Обновление программ. Вариант установки патчей (ручной или автоматический) в "коробках" контролирует администратор, а в модели сервиса – администратор сервиса (требуется подключение экземпляра облачного решения 1C:Fresh к порталу 1С:ИТС). Для "коробок" и облачных решений без подключения к интернету также возможно загружать интересующие патчи с портала 1C:Обновление программ на флешку и устанавливать с нее.

3. Создавать патчи можно с помощью конфигуратора или автоматически по исправленным в хранилище ошибкам с помощью 1С:Система проектирования прикладных решений (СППР). С помощью СППР патчи формируются автоматически по закладкам в репозитории git, рассчитывается применимость патча к версиям конфигурации (а для библиотек – к версиям всех прикладных решений, в которые она встроена); автоматизирована публикация и отзыв патчей, есть подписание патчей для базовых версий, а также целый ряд других полезных сервисов.

Создание патчей с помощью конфигуратора

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

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

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

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

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

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

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

Создание патчей с помощью Системы проектирования прикладных решений (СППР)

Первичная настройка

  1. Развернуть сервер репозиториев git (например, GitLab) и указать его адрес в карточке проекта в СППР.
    • на закладке Разработка в группе Настройки Git-репозитория указать параметры подключения к репозиторию git, в котором ведется разработка.
      • В параметр Каталог git репозитория должен быть указан путь к сетевой папке, в которой будет храниться копия хранилища для создания патчей. В этой папке должен быть доступ у пользователя, под которым запущен сервер СППР.
      • В параметре Адрес git репозитория на сервере указать путь для подключения к удаленному серверу по протоколу SSH. Например, git@<мой_сервер>:ssl/ssl.git
      • Имя ветки – master.
    • для исправительных версий необходимо указать имя ветки репозитория – перейти к карточке версии и на закладке Разработка заполнить поле "Ветка разработки".
    • В настройках удаленного репозитория Git нужно добавить Deploy key для пользователя под которым работает сервер СППР.
    • для конвертации хранилища 1С в репозиторий git также использовать 1С:ГитКонвертер.
  2. Переключиться на закладку Общая информация проекта и заполнить поля Имя конфигурации – то, что указано в модуле ОбновлениеИнформационнойБазы<Сокращение> и Идентификатор программы – идентификатор в сервисах Интернет-поддержки пользователей. Если СППР будет использоваться только для создания патчей, без их публикации, то идентификатор программы заполнять не обязательно.
  3. В карточке версии:
    • на закладке Наследование ошибок и патчи включить флажок "Автоматически создавать патчи по публикуемым ошибкам";
    • заполнить поле Версия платформы. Значение должно совпадать с режимом совместимости платформы для данной версии конфигурации.

Создание патчей для ошибок

Отзыв патчей с портала 1C:Обновление программ

В случае если ошибка исправлена неверно, требуется отозвать патч и выпустить новый. Но не следует перевыпускать патч или выпускать патч на патч.
При публикации патча из СППР необходимо:

  1. Открыть карточку интересующего патча.
  2. В меню Еще списка версий патча нажать Отозвать. После чего информация об отзыве патча будет отправлена на портал 1C:Обновление программ.

Если патч публиковался вручную на портале 1C:Обновление программ, то отзыв так же выполняется вручную.

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

Если патч не удалось создавать автоматически

Не во всех случаях возможно создать патч автоматически, например:

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

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

Рекомендации и ограничения технологии патчей

Патчи подходят для исправления ошибок:

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

Патчи не подходят:

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

Один патч должен "точечно" исправлять только одну ошибку

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

Патчи не должны создаваться "внахлест"

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

Тщательно проверять патчи

Поскольку патч публикуется максимально оперативно, то рекомендуется дополнительно проверять патч отдельно от проверки исправления ошибки:

  • в опубликованной версии конфигурации (библиотеки) – сначала убедиться, что ошибка воспроизводится;
  • затем установить патч и убедиться, что ошибка исправлена.

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

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

Кроме того, для проверки патчей настоятельно рекомендуется:

  • аудит исправления ошибки другим разработчиком;
  • перекрестная проверка исправления тестировщиком или другим разработчиком.

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

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

а при раскрытии подробной информации появляется текст (см. ниже). На этом работа программы заканчивается. Эффект проверен на двух базах. 1С что-нибудь говорит по этой проблеме?

Расширения конфигурации:
- EF_00_00269425
- EF_00_00266348
- EF_00_00267925
- EF_00_00267418
- EF_00_00270340
- EF_00_00268970

Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси

Попробуйте расширение - EF_00_00267418 удалить. (сохранить на диск)
И запустите программу.
Если всё пройдет успешно, то значит надо переписать расширение.

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

После обновления загрузить новые патчи (для 3.0.75.58 на тек. момент их 2 шт)

а можно поподробней, я чайник в 1с

serega0412 ,
Заходите в конфигуратор. Нажимаем меню:
Конфигурация-Открыть конфигурацию (если доступно)
Далее меню: Конфигурация-Расширения конфигурации.
В этой табличке удаляете все EF_00_хххххх

Далее обновляете по стандартной схеме как всегда делаете.

После того, как закончили процесс обновления, выскакивает окно, что есть ещё обновления. Если оно не выскочило, то заходим в 1ске: раздел "Администрирование" - Интернет поддержка - обновление версии программы - обновление программы.
Там галочки на релизе конфигурации не должно быть, т.к. у вас уже должен быть последний релиз
- галочка на патчах к программе должна стоять. Для текущего релиза их 2 патча.
- галочку с релиза платформы можно снять. Не рекомендую пока устанавливать платформу 8.3.16, не стабильная она на тек.момент.

потом по кнопке "далее" начнётся процесс установки патчей.

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

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

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

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

Причины появления ошибки в 1С

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

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

Часто возникающие ошибки 1С

Все имеющиеся сбои выводят на экран разные уведомления. Одинакового текста не бывает. Чтобы проще ориентироваться, разделим существующие ошибки 1С на следующие пункты:

  1. Недостаточно памяти.
  2. Ошибка доступа.
  3. Ошибка формата потока.
  4. Ошибка СУБД: Файл базы данных поврежден.
  5. Неправильное отображение блоков формы.
  6. Внутренняя ошибка компоненты dbeng.
  7. Dump при запуске.
  8. Неверный формат хранилища.
  9. Ничего не работает.

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

Недостаточно памяти

Подобный сбой проявляется только в том случае, если на выполнение операций с программой выделено мало оперативной памяти. Приложение не может обрабатывать большие объемы информации, поэтому выдает «Недостаточно памяти 1С». Это случается при формировании отчета, обработки «тяжелого» файла, обновлении конфигурации и т.д. Причина – мощности компьютера недостаточно.

Пользователь может самостоятельно решить проблему с памятью. По умолчанию операционная система выделят фиксированное значение гигабайт на обслуживание приложения: 32 bit ОС – 2 Гб, 64 bit – 4 Гб.

Увеличить размер выделенной памяти можно вручную. Для этого запускается адресная строка (Пуск – Выполнить, вводиться фраза cmd). После нажатия «Ентер» достаточно ввести фразу bcdedit /set increaseuserva 4096 и подтвердить действие (клавиша «Enter»). Цифра 4096 – новый выделяемый объем «оперативки». Выполняется перезагрузка системы. Проблема должна быть устранена.

Ошибка доступа

Она возникает, если учетная запись не имеет достаточно прав. Проявляется при выполнении определенного действия, которое доступно только ограниченному кругу пользователей. Для исправления ситуации достаточно изменить роль выбранного профиля в конфигураторе (вкладка «Администрирование – Пользователи»). В некоторых случаях это увеличивает безопасность базы данных, если необходимо защитить файлы от изменения сторонними людьми.

Ошибка формата потока

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

Устранение подобной ошибки 1С выполняется простой чисткой кэша. Для этого необходимо перейти в папку, где хранятся временные файлы. В Windows 7 и выше она находится по адресу C:\Users\Username\AppData\Local\1C или C:\Users\Username\AppData\Roaming\1C. Для Windows ХР другой путь – Local Settings\Application Data\1C\. Все файлы, начинающиеся на 1cv8, кроме «1Cv8.1CD» полностью удаляются.

Если «Ошибка формата потока» возникает в процессе работы, то нужно провести тестирование (Администрирование – Тестирование и исправление), выбрать первые 2 галочки и запустить процесс.

Ошибка СУБД: Файл базы данных поврежден

Если всплывает информационное окно с подобной надписью, неисправность базы данных решается тестированием файла и всей информационной базы. Такое мероприятие может проводиться 2 способами:

  • Запуск утилиты chdbfl.exe. Эта программа предназначена для того, чтобы проверять целостность базы данных при совместном ее использовании с информационной базой. Данный метод хорош тем, что дает возможность решать сбои даже в тех ситуациях, когда конфигуратор запустить невозможно. Сначала выполняется резервное копирование информации. В папке, где установлен 1С (директория bin) находится файл chdbfl.exe. Он запускается, в окне прописывает путь к файлу базы данных и ставится галочка, чтобы провести исправление ошибок. Нажимается кнопка «Выполнить». После завершения процесса все должно заработать. Если нет – используется конфигуратор.
  • Через конфигуратор. Нужное окно вызывается после нажатия «Администрирование – Тестирование и исправление». На экране появляется форма, где выставляются галочки на следующе строчки: «Реиндексация таблиц…», «Проверка логической целостности…», «Проверка ссылочной…», «Реструктуризация таблиц…», «Тестирование и исправление» и 2 раза «Создать объекты». Нажимается кнопка «Выполнить». После завершения процедуры сбой устраняется.

Неправильное отображение блоков формы

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

Если приведенные методы не помогают, рационально будет провести обновление платформы.

Внутренняя ошибка компоненты dbeng

Dump при запуске

Возвращение 1С в рабочее состояние проводится простым обновлением MS Visual Studio (Visual C++) и дополнительными манипуляциями. Чтобы отследить конкретный файл, в котором возникает ошибка, открывается «Просмотр событий». Для этого пользователь переходит в «Панель управления – Система и безопасность – Администрирование». С левой стороны раскрывается «Журнал Windows – Приложение».

На экране появляется список ошибок и точное расположение поврежденного файла. После установки новой версии MS Visual Studio (Visual C++) с папки System32 копируется одноименный файл dll и вставляется в папку платформы 1С. Проблема решилась.

Неверный формат хранилища

Ничего не работает

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

  • чистится кэш;
  • открывается файл chdbfl.exe из папки установки приложения и выполняется исправление;
  • выполняется запуск «Конфигуратора» для тестирования и исправления сбоев;
  • обновление «1С».

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

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

В этой инструкции вы найдете:

Удаление патчей

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

Для этого зайдите в "Конфигуратор", в разделе "Конфигурация" выберете пункт "Расширения конфигурации".


В появившемся окне удалите все старые патчи.


Данная процедура длительная по времени. Поэтому если старых патчей много, иногда бывает достаточно отключить их с помощью флага "Активно".


Установка патчей



В данном окне система предлагает обновление конфигурации, платформы и установку исправлений (патчей).

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



Для установки выбранных патчей нажмите Далее.


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


Выберете пункт "Обновление версии программы" и поставьте галочку напротив пункта "Загружать и устанавливать исправления (патчи) автоматически".

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

Читайте также: