Почему 1С:Предприятие 8.3.15 аварийно завершается при попытке «Вывести список» в английском интерфейсе?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Переход на новые релизы платформы 1С:Предприятие — это всегда ответственный процесс, который нередко сопровождается выявлением скрытых дефектов. В данной статье мы подробно разберем критическую проблему, с которой столкнулись пользователи при обновлении на платформу версии 8.3.15.1489. Суть проблемы заключается в том, что при использовании английского интерфейса выполнение стандартной системной команды «Вывести список» (Output List) приводит к «Ошибке потока данных» и последующему аварийному завершению работы приложения.

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

Анализ основной проблемы: Ошибка потока данных в 8.3.15

Рассмотрим ситуацию: после планового обновления с версии 8.3.12.1440 на 8.3.15.1489 пользователи, работающие с англоязычным интерфейсом (параметр запуска /L EN), теряют возможность выгружать данные из списков в табличный документ. При попытке вызвать команду «Вывести список» программа закрывается с критической ошибкой.

Проанализируем результаты предварительного тестирования, выполненного сообществом:

  1. Очистка кэша, переустановка базы в списке и использование утилит chdbfl.exe не приносят результата.
  2. Тестирование и исправление конфигурации (ТиИ) также оказывается бесполезным, так как проблема локализована не в данных, а в программном коде самой платформы.
  3. Ошибка воспроизводится на любых конфигурациях, включая абсолютно пустые, где создан всего один справочник.
  4. Ключевой фактор: ошибка напрямую зависит от языка интерфейса. В русском интерфейсе (/L RU) команда работает корректно.

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

Смежные проблемы веток 8.3.13 и 8.3.14

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

Рассмотрим баг с завершением работы в 8.3.14:
В релизах ветки 8.3.14 (например, до 1779) наблюдался странный дефект при программном вызове команды завершения сеанса. Проанализируем следующий фрагмент кода:


Процедура ПередЗавершениемРаботыСистемы(Отказ)
    // Стандартный диалог подтверждения
    ЗавершитьРаботуСистемы(Истина); 
КонецПроцедуры

В проблемных сборках при выводе диалога «Завершить? Да / Нет» нажатие на кнопку «Да» просто закрывало модальное окно, но само приложение продолжало работать. Процесс 1cv8.exe оставался в памяти, что блокировало возможность корректного обновления или обслуживания базы. Этот баг (код 10210209) был исправлен только в поздних патчах 14-й ветки.

Разберем проблему сравнения справочной информации (Help):
Многие программисты замечали, что при обновлении конфигураций в окне сравнения/объединения постоянно висят изменения в справочной информации объектов, даже если текст справки не менялся. Посмотрим на техническую причину этого явления: в HTML-код справки при сохранении в разных версиях ОС Windows записываются служебные метатеги версий библиотек Internet Explorer. Платформа воспринимает разницу в одну цифру в скрытом теге как изменение объекта. Это превращает обновление крупных типовых решений (например, ERP) в трудоемкий процесс фильтрации «мусора».

Рекомендации по исправлению и выбору платформы

Для решения проблемы с вылетом в 8.3.15.1489 мы рекомендуем выполнить следующие шаги:

  1. Обновление патча: Если архитектура вашей системы требует использования именно 15-й ветки (например, из-за специфических функций расширений), необходимо обновиться до релиза 8.3.15.1534 или выше. В этих версиях ошибка 10214309 была устранена.
  2. Временное решение: Если немедленное обновление платформы на сервере невозможно, единственным выходом является переключение пользователей на русский интерфейс.
  3. Оценка стабильности: Как показывает практика обсуждений, ветка 8.3.12 долгое время оставалась наиболее стабильной («тихой гаванью»). Ветки 8.3.13 и 8.3.14 привнесли значительные изменения в работу с памятью и шрифтами, что часто приводило к «размытию» текста и утечкам в rphost.
  4. Работа с расширениями: Обратите внимание, что начиная с 8.3.15, механизм расширений стал более строгим. Если вы используете расширения для изменения структуры данных, крайне важно проверять их совместимость при переходе с 8.3.12.

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

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

← На главную