Какие ошибки и особенности выявлены в релизе платформы 8.3.15 и как их исправить?

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

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

Ошибка печати в ОС Linux: размер бумаги Tabloid

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

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

Ошибки при экспорте в формат XLSX в обычных формах

Интересный баг был обнаружен при работе с конфигурациями на обычных формах (например, УПП 1.3 или УТ 10.3). При попытке сохранить табличный документ в формате .xlsx файл создается с поврежденной структурой. При открытии такого файла Excel выдает сообщение: "Ошибка в части содержимого в книге... Выполнить попытку восстановления?". После восстановления из документа часто пропадают графические объекты или логотипы.

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

  1. Если это возможно, поднимите режим совместимости конфигурации до 8.3.6 или выше.
  2. Если режим совместимости менять нельзя (например, из-за риска поломки сложного кода), используйте сохранение в формате .xls (Excel 97) или .mxl с последующей конвертацией сторонними средствами.

Проблема с измерениями типа Булево в регистрах накопления

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

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


// Этот код может вызвать ошибку "Поле не найдено" в 8.3.15 при CompatibilityMode = None
Запрос.Текст = "ВЫБРАТЬ * ИЗ РегистрНакопления.ОстаткиТоваров.Остатки(, ЭтоРезерв = ЛОЖЬ)";

Для решения этой проблемы мы рекомендуем изменить логику написания условий в запросах. Вместо прямого сравнения с литералом ЛОЖЬ или ИСТИНА, следует использовать логическое отрицание или прямое указание поля. Посмотрим на исправленный вариант:


// Рабочий вариант для 8.3.15
Запрос.Текст = "ВЫБРАТЬ * ИЗ РегистрНакопления.ОстаткиТоваров.Остатки(, НЕ ЭтоРезерв)";

Это связано с изменением механизмов оптимизации SQL-запросов в новом движке платформы, который некорректно транслирует булевы константы в условиях виртуальных таблиц.

Разрастание индекса полнотекстового поиска

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

Это происходит из-за смены формата хранения индекса для поддержки поиска по части слова. Если вы обновляетесь со старых версий (например, с 8.3.12), старый индекс не всегда корректно конвертируется. Разберем по шагам правильный алгоритм обновления индекса:

  1. Зайдите в управление полнотекстовым поиском и полностью очистите индекс.
  2. Удалите файлы индекса физически из папки на сервере (в каталоге информационной базы или в srvinfo).
  3. Запустите процесс полного обновления индекса с нуля.

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

Новые возможности: ИзменениеИКонтроль и работа кластера

Несмотря на наличие ошибок, платформа 8.3.15 принесла важные архитектурные улучшения. Разберем наиболее значимые из них:

1. Механизм расширений &ИзменениеИКонтроль. Это развитие технологии заимствования процедур. Теперь программисту не нужно копировать весь код типового метода в расширение. С помощью специальных директив можно указать только ту часть кода, которую нужно изменить. Это значительно упрощает поддержку конфигураций, так как при обновлении типовой конфигурации платформа сама подскажет, если заимствованный фрагмент кода изменился.

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

3. Параллельный пересчет итогов. Теперь операции реструктуризации и тестирования/исправления базы данных могут выполнять пересчет итогов в несколько потоков. Это критически важно для высоконагруженных систем с большими объемами данных в регистрах, так как время обслуживания базы сокращается в разы.

Интерфейсные изменения и "сообщения о лицензировании"

В релизе 8.3.15 интерфейс "Такси" претерпел изменения: основное меню переместилось в правую часть окна, а иконки стали монохромными. Кроме того, многие пользователи столкнулись с назойливым окном об ограничении функционала с определенной даты. Это связано с усилением контроля лицензионной чистоты.

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

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

← На главную