Выход платформы 1С версии 8.3.18 (в частности, резонансного релиза 8.3.18.1208) сопровождался массовыми жалобами специалистов на деградацию производительности и возникновение специфических ошибок, которых не наблюдалось в предыдущих ветках. В данной статье мы детально проанализируем основные проблемы этой версии, разберем способы их обхода и выясним, как вернуть стабильность работе системы, если откат на предыдущие версии по каким-то причинам невозможен.
Когда мы сталкиваемся с нестабильностью новых релизов, первым делом стоит проанализировать, какую именно версию использует сама фирма «1С» в своих облачных сервисах. Рассмотрим метод определения рекомендуемого релиза. Как отмечают опытные специалисты, наиболее надежным ориентиром является сервис 1С:Фреш. Поскольку в облаке работают тысячи баз одновременно, критические баги там выявляются и исправляются в первую очередь.
Для того чтобы узнать актуальную «безопасную» версию без регистрации в сервисе, выполним следующие шаги:
8.3.17 или 8.3.16).8.3.18 вызывает проблемы, рекомендуется запланировать даунгрейд до той версии, которая указана как актуальная для тонкого клиента облачного сервиса.В релизах 8.3.18 многие администраторы столкнулись с тем, что автоматизированное пакетное обновление перестало работать в привычном режиме: система начала требовать интерактивного подтверждения (нажатия кнопок «ОК» или «Принять»). Выясним, как вернуть автоматизацию в процесс.
Для решения этой проблемы при запуске конфигуратора в командном режиме необходимо добавить специальный параметр. Разберем пример командной строки запуска:
1cv8.exe DESIGNER /F "ПутьКБазе" /N "Логин" /P "Пароль" /UpdateCfg "ПутьКФайлу" /DisableStartupDialogs
Именно параметр /DisableStartupDialogs позволяет подавить диалоговые окна, которые блокируют выполнение скриптов обновления. Также для корректного завершения процесса обновления информационной базы после динамического обновления рекомендуется использовать ключ запуска предприятия:
/C ЗапуститьОбновлениеИнформационнойБазы
Одной из странных ошибок версии 8.3.18 (а также некоторых поздних 8.3.17) стала пропажа документов из списка «Ввод на основании» или некорректное отображение кнопок в интерфейсе. Проанализируем алгоритм «лечения» этой ошибки, если база уже находится на проблемной платформе:
.cf, затем временно включим возможность изменений, обновимся, и после проверки вернем поддержку путем «Загрузки конфигурации из файла».Эти манипуляции заставляют платформу пересчитать индексы и кэш метаданных, что зачастую возвращает пропавшие элементы интерфейса на место.
Разберем ситуацию, когда после обновления платформы письма, отправляемые через ИнтернетПочтовоеСообщение, приходят адресату в нечитаемом виде (знаки вопроса или кодировка KOI8-R вместо UTF-8). Это связано с изменением логики определения кодировки по умолчанию в новом движке платформы.
Чтобы решить проблему, необходимо в коде формирования письма явно указывать кодировку для всех частей сообщения. Рассмотрим пример правильного заполнения объекта:
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Тема = "Тестовое сообщение";
Письмо.Отправитель.Адрес = "sender@mail.ru";
// Явное указание кодировки письма
Письмо.Кодировка = "utf-8";
ТекстЧасть = Письмо.Тексты.Добавить();
ТекстЧасть.Текст = "Текст сообщения на русском языке";
ТекстЧасть.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
// Обязательно дублируем кодировку для конкретной текстовой части
ТекстЧасть.Кодировка = "utf-8";
Обратите внимание: если формирование письма и его отправка разнесены по разным процедурам, убедитесь, что объект ИнтернетПочтовоеСообщение не теряет настройки кодировки при передаче между контекстами сервера.
Работа с расширениями в 8.3.18 стала «зоной риска». Часто наблюдаются падения процесса 1cv8.exe при вызове модулей документов из модулей форм расширения. Проанализируем один из эффективных способов стабилизации:
В свойствах вашего расширения найдите пункт «Основной стиль». Если там выбрано какое-то значение, попробуйте его полностью очистить. Как показывает практика, конфликты стилей оформления в новых версиях платформы часто приводят к критическим ошибкам отрисовки форм и аварийному завершению работы программы.
Эта ошибка стала бичом серверных версий 8.3.18.1208. Даже при наличии большого объема ОЗУ на сервере, выполнение тяжелых запросов или закрытие месяца в 1С:ERP или 1С:КА прерывается данной ошибкой. Выясним причины и способы борьбы:
rphost. В некоторых случаях наблюдаются «утечки» при работе с временными таблицами.В ИЕРАРХИИ по очень большим справочникам (например, Номенклатура), так как в 8.3.18 этот механизм работает медленнее в файловом режиме и некоторых серверных сценариях.8.3.17.1851 или 8.3.16.1814, где механизмы управления памятью более предсказуемы.В релизе 8.3.18.1289 было замечено нарушение работы V83.COMConnector. Синхронизация между базами при прямом подключении выдает «Неизвестную ошибку». Рассмотрим варианты решения:
comcntr.dll в операционной системе.8.3.18.1208 поверх 1289 (откат внутри одной ветки), так как баг с коннектором специфичен для конкретных сборок.Подводя итог, можно сказать, что платформа 8.3.18 на текущий момент требует крайне осторожного подхода. Если ваша конфигурация (например, последние релизы БП 3.0 или ЗУП 3.1) требует версию не ниже 8.3.17.1851, старайтесь оставаться на ней как можно дольше. Если же переход на 8.3.18 неизбежен, обязательно выполняйте полное тестирование всех критических бизнес-процессов (закрытие месяца, отправка почты, синхронизация) на копии базы, прежде чем обновлять рабочие серверы.
Не забывайте про очистку кэша после любых манипуляций с версиями платформы. Очистка папок %AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8 является обязательным ритуалом, помогающим избежать фантомных ошибок, связанных со старыми индексами метаданных.