Вопрос поддержки и оперативного исправления ошибок в конфигурации «1С:Управление производственным предприятием» (УПП) остается актуальным для многих предприятий, несмотря на то что система считается устаревшей и постепенно вытесняется 1С:ERP. Современные пользователи привыкли к сервису автоматической загрузки патчей (исправлений), который доступен в современных конфигурациях. Давайте разберем, как обстоят дела с патчами для УПП и какие есть способы облегчить жизнь программисту и пользователю.
Для начала проанализируем техническую сторону вопроса. Механизм патчей (файлы с расширением .исп), которые 1С выпускает для конфигураций вроде «Бухгалтерия предприятия 3.0» или «ERP 2», базируется на технологии расширений конфигурации. Рассмотрим причины, по которым этот механизм не работает в УПП:
.cfu), а не в виде оперативных заплаток.Выясним, где же брать информацию, если в программе обнаружена ошибка. Вместо автоматических патчей для УПП используется раздел «Ошибки конфигураций» на портале техподдержки 1С. Разберем по шагам, как найти решение:
Проанализируем алгоритм поиска: вы заходите на портал, выбираете свою конфигурацию и версию релиза. Если ошибка известна, в карточке ошибки вместо кнопки «Скачать патч» вы увидите текстовое описание «Способ обхода». Как правило, это фрагмент кода, который нужно заменить в вашей базе. Рассмотрим пример того, как это выглядит в описании:
Пример описания обхода ошибки: «В модуле ПроведениеСервер в процедуре РассчитатьОстатки необходимо заменить условие Если Ссылка = Неопределено на Если Ссылка.Пустая()».
Таким образом, «патчи» для УПП — это ручная работа программиста по внесению изменений непосредственно в код конфигурации или в расширение (если оно подключено).
Многие специалисты задаются вопросом: можно ли использовать современные механизмы для УПП самостоятельно? Рассмотрим ситуацию, когда мы хотим применить расширение к этой конфигурации. Посмотрим на последовательность действий, которую необходимо выполнить:
1. Повышение режима совместимости: Чтобы платформа позволила добавить расширение, в свойствах корневого объекта конфигурации необходимо изменить РежимСовместимости. Рекомендуется устанавливать значение не ниже 8.3.14, чтобы получить доступ к большинству возможностей.
2. Риски изменения режима: Проанализируем последствия. Изменение режима совместимости в такой сложной системе, как УПП, может привести к непредсказуемому поведению запросов, механизмов проведения документов и работы Глобального модуля. После изменения режима требуется полное тестирование всех критически важных бизнес-процессов.
3. Создание расширения: Если вы все же решили поднять режим совместимости, вы можете создавать свои «локальные патчи». Разберем пример кода в расширении для исправления типовой ошибки в документе:
&Вместо("ПередЗаписью")
Процедура Испр_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// Вызываем оригинальный код, если нужно
ПродолжитьВызов(Отказ, РежимЗаписи, РежимПроведения);
// Добавляем свое исправление
Если ЭтотОбъект.Дата < '20230101' Тогда
// Исправляем логику для старых периодов
КонецЕсли;
КонецПроцедуры
Поскольку официальных автоматических патчей нет, разберем, как правильно поддерживать систему в актуальном состоянии:
.erp). Их можно загрузить в справочник «Дополнительные внешние отчеты и обработки», не меняя саму конфигурацию.РАУЗ).Выясним окончательно: готовых кнопок «Загрузить исправления» в УПП не будет. Это связано с архитектурой «Толстого клиента» и старыми стандартами разработки. Однако мы можем эффективно управлять качеством системы, используя следующие правила:
.исп — их не существует для данной ветки программ.cfu-файлами.Рассмотрев все аспекты, мы понимаем, что поддержка УПП сегодня — это сочетание классического программирования и современных подходов платформы 8.3, применяемых с большой осторожностью.