Какую версию платформы 1С:Предприятие выбрать для внедрения 1С:ERP и как решить проблему с печатью на принтерах Kyocera

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

При переходе на новые конфигурации или старте проектов внедрения, таких как 1С:ERP Управление предприятием 2.5, перед системными администраторами и программистами всегда встает критически важный вопрос: какую версию платформы выбрать для стабильной работы? С одной стороны, новые релизы конфигураций требуют современных версий платформы. С другой — новые платформы часто приносят с собой непредвиденные системные баги, способные парализовать работу пользователей.

В этой статье мы подробно рассмотрим, как правильно подходить к выбору версии платформы, разберем значение термина «зеленая» платформа, проанализируем системные требования 1С:ERP 2.5, а также разберем по шагам известную проблему аварийного завершения работы 1С при печати на принтеры Kyocera в терминальных сессиях.

Что такое «зеленая» платформа 1С?

В профессиональном сообществе 1С часто можно услышать рекомендацию: «Ставь зеленую!». Выясним причину возникновения этого сленгового выражения и что оно означает на практике.

Этот термин напрямую связан с оформлением официального портала обновлений фирмы «1С» (releases.1c.ru). Для удобства пользователей разработчики разделяют все выпускаемые релизы платформы по цветам:

  1. Зеленый цвет — им помечаются релизы, признанные наиболее стабильными, прошедшие широкое тестирование и официально рекомендованные вендором для массового использования на рабочих базах. Именно к этим версиям стоит присматриваться в первую очередь при обновлении критически важных систем.
  2. Серый цвет — обозначает новые версии, которые находятся на этапе накопления статистики использования или имеют статус тестовых. Ставить их на «живой» прод без предварительного тестирования крайне не рекомендуется.
  3. Красный цвет — сигнальный маркер для проблемных релизов. Если в выпущенной платформе обнаруживается критическая ошибка (например, приводящая к порче данных или падению сервера), релиз отзывается и помечается красным цветом с рекомендацией немедленно обновиться на исправленную версию.

Анализируем требования 1С:ERP 2.5 к платформе

Рассмотрим подробнее ситуацию, описанную в теме. Коллеги планируют запуск новой системы 1С:ERP на релизе 2.5.3 и задаются вопросом, подойдет ли для работы платформа ветки 8.3.14 (в частности, релиз 8.3.14.1976).

На ранних ознакомительных и тестовых версиях ветки ERP 2.5 действительно действовал минимальный порог платформы 8.3.14.1854 с режимом совместимости Версия 8.3.12. Однако попытка остаться на платформе 8.3.14 в долгосрочной перспективе — это тупиковый путь. Проанализируем эволюцию системных требований при развитии ERP 2.5:

Вывод: если вы запускаете проект на ERP 2.5, не пытайтесь искусственно удерживать систему на старых версиях платформ вроде 8.3.14. Рано или поздно при первом же плановом обновлении конфигурации вам придется обновить и платформу. Поэтому ориентироваться стоит на актуальные стабильные («зеленые») релизы платформ, рекомендованные для текущего релиза вашей ERP.

Проблема с печатью на принтерах Kyocera в RDP-сессиях

Переходя на современные платформы (начиная с линеек 8.3.15 и 8.3.16), многие администраторы столкнулись с неприятным сюрпризом: программа 1С самопроизвольно закрывается или выдает ошибку «Ошибка при получении характеристик принтера» при попытке отправить документ на печать или открыть свойства страницы. Это происходило именно в терминальных сессиях (RDP) при использовании принтеров марки Kyocera.

Выясним причину этой проблемы. Начиная с версии 8.3.15, разработчики 1С существенно изменили внутренние механизмы взаимодействия платформы с подсистемой печати операционной системы Windows. Платформа стала отправлять более детальные запросы к драйверам принтера через Windows API для получения полной структуры поддерживаемых форматов бумаги и разрешений печати.

При работе в терминальном режиме через RDP со сквозным пробросом принтеров стандартный «родной» драйвер Kyocera (особенно популярный универсальный драйвер Kyocera KX Driver) некорректно обрабатывает эти низкоуровневые запросы от 1С. В результате переполнения буфера или передачи неверных указателей драйвер вызывает критический сбой, который «роняет» весь процесс 1cv8.exe у пользователя.

Разберем по шагам методы решения проблемы с печатью

Если в вашей инфраструктуре используются принтеры Kyocera и терминальные сервера, а платформа обновлена до версий 8.3.15, 8.3.16 или выше, воспользуйтесь следующими проверенными способами устранения сбоев.

Способ 1. Замена драйвера принтера на универсальный KPDL (PostScript)

Это самый надежный и рекомендуемый способ, который полностью решает проблему без необходимости понижения версии платформы 1С. Посмотрим на алгоритм действий:

  1. Скачайте с официального сайта Kyocera универсальный драйвер Kyocera KPDL Driver (драйвер эмуляции PostScript) или стандартный универсальный драйвер печати Microsoft (PCL6).
  2. Установите данный драйвер на локальном компьютере пользователя, к которому физически (или по сети) подключен принтер.
  3. Установите этот же драйвер на сервере терминалов (RD Session Host), чтобы при пробросе сессии операционная система могла корректно сопоставить устройство.
  4. В настройках принтера смените используемый драйвер с KX на KPDL.

Использование PostScript-драйверов исключает передачу специфических структур данных, которые приводили к падению платформы 1С.

Способ 2. Устранение кириллических символов в именах принтеров

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

Переименуйте принтеры на локальных компьютерах и на сервере печати, используя исключительно латинские символы и цифры (например, вместо Бухгалтерия_Kyocera задайте имя Buh_Kyocera_FS2100).

Способ 3. Очистка кэша настроек печати в базе 1С

Платформа 1С сохраняет индивидуальные параметры печати для каждого табличного документа в разрезе пользователей. Если принтер сбоил, некорректные параметры могли записаться в системное хранилище настроек базы данных, из-за чего 1С продолжит вылетать даже после обновления драйверов.

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


// Программная очистка кэшированных настроек печати для всех пользователей
Процедура ОчиститьНастройкиПечатиНаСервере() Экспорт
    
    // Получаем список всех зарегистрированных пользователей информационной базы
    ПользователиИБ = ПользователиИнформационнойБазы.ПолучитьПользователей();
    
    Для Каждого ПользовательИБ Из ПользователиИБ Цикл
        // Настройки печати сохраняются в системном хранилище по ключу "Общее/НастройкиПечатиТабличныхДокументов"
        Попытка
            ХранилищеСистемныхНастроек.Удалить(
                "Общее/НастройкиПечатиТабличныхДокументов", 
                Неопределено, 
                ПользовательИБ.Имя
            );
            ЗаписьЖурналаРегистрации(
                "НастройкиПечати",
                УровеньЖурналаРегистрации.Информация,
                ,
                ,
                "Очищены настройки печати для пользователя: " + ПользовательИБ.Имя
            );
        Исключение
            ЗаписьЖурналаРегистрации(
                "НастройкиПечати",
                УровеньЖурналаРегистрации.Ошибка,
                ,
                ,
                "Ошибка очистки настроек для пользователя " + ПользовательИБ.Имя + ": " + ОписаниеОшибки()
            );
        КонецПопытки;
    КонецЦикла;
    
КонецПроцедуры

Также пользователи могут выполнить очистку настроек самостоятельно в режиме предприятия (при наличии соответствующих прав администратора) через меню «Администрирование» — «Настройки пользователей и прав» — «Очистить настройки печати».

Резюме

Подводя итог нашего анализа, можно дать следующие рекомендации по развертыванию систем на базе 1С:ERP:

← На главную