Найти в Дзене
Про 1С

Установка патчей для конфигураций 1С на примере 1С Комплексная автоматизация 2.5.

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

Сейчас как раз речь пойдет об установке исправлений.

Пару месяцев назад попробовали провести настройку интеграции 1С КА 2.5. с сервисом фирмы 1С "Бизнес-сеть"

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

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

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

Не долго думая, решил написать на почту поддержки данного решения bn@1c.ru. письмо с описанием данной ошибки.

Долго мне пытались объяснить что я делаю что-то не так.

Просили прислать ошибку из журнала регистрации

Выполнение операции: Торговые предложения. Проверить записи торговых предложений.
Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
Предопределенное значение "3e53ab00-b33a-11e3-8d60-001dd8b71c5a" не существует.
{ОбщийМодуль.ОбщегоНазначения.Модуль(157)}:ВызватьИсключение ТекстОшибки;
{ОбщийМодуль.ТорговыеПредложенияПереопределяемый.Модуль(2428)}:ДанныеРеквизита = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДополнительныйРеквизит, "НаборСвойств, Заголовок");
{ОбщийМодуль.ТорговыеПредложенияСлужебный.Модуль(11288)}:ТорговыеПредложенияПереопределяемый.ОпределитьВладельцевНезаполненныхРеквизитов(ЧастиРеквизита[0],
{ОбщийМодуль.ТорговыеПредложенияСлужебный.Модуль(10945)}:ОпределитьВладельцевНезаполненныхРеквизитов(ПолноеИмяРеквизита,
{ОбщийМодуль.ТорговыеПредложенияСлужебный.Модуль(10590)}:ИнформацияОбОшибках = ПолучитьИнформациюОбОшибках(
{(1)}:ТорговыеПредложенияСлужебный.ПроверитьЗаписиТорговыеПредложенияТорговойПлощадки(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5962)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1671)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]

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

И вот на прошлой неделе прислали сообщение, что патч готов можно скачивать и ставить.

В моем случае выпустили патч для библиотеки "1С:Библиотека электронных документов, редакция 1.9,"

В письме написали куда зайти и какой именно патч скачать.

После скачивания патча,

Я пробую его поставить как обычно на копию базы, чтобы проверить насколько это патч корректно встанет в нашу конфигурацию. Процесс установки ниже в изображениях.

После того как патч установится, платформа попросит перезагрузить конфигурацию.

После перезагрузки конфигурации идем НСИ и Администрирование \ Обслуживание \ Установленные исправления (патчи)

И видим в списке установленный нами патч, наличие пиктограммы в виде зеленого кружка с флажком по центру, говорит о том, что исправление встало корректно.

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

-6

После чего можно идти и смотреть что там действительно исправили.

т.к. копия базы у меня не подключена, к сервису "Бизнес-сеть", то ставлю это исправление (патч) в боевое базе.

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

Где есть возможности, там всегда есть и риски.

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

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

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

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

Кстати да , установка патча в моём случае, привела к тому, что пользователь теперь может получить информацию о причине ошибки, которая мешала провести анализ и исправить её.

Тем не менее, сторону поддержки сервиса "Бизнес-сеть", пошла очередная портянка вопросов и рекомендаций :)