Администрирование · 11 мин
Как изменить шрифт в 1С на сервере
Как изменить шрифт в 1С на сервере: настройка шрифтов для отчетов, печатных форм и веб-сервера, установка шрифтов в Linux и Windows, типичные ошибки.
Вопрос изменения шрифта в 1С на сервере возникает в двух разных ситуациях. Первая — нужно поменять шрифт, которым формируются отчеты, печатные формы и документы, когда они создаются сервером 1С:Предприятия (например, при регламентных заданиях или публикации через веб-сервер). Вторая — на самом сервере отсутствуют нужные шрифты, из-за чего PDF-файлы и печатные формы выглядят неправильно: вместо кириллицы выводятся «квадраты», текст съезжает, меняется разбиение на страницы.
Важно понимать ключевой принцип: шрифт интерфейса тонкого или толстого клиента настраивается на стороне пользователя, а шрифт документов, формируемых сервером, зависит от шрифтов, установленных в операционной системе сервера, и от настроек макетов в конфигурации. Сервер 1С при генерации табличного документа использует системные шрифты той машины, где работает рабочий процесс rphost.
Ниже разобраны оба сценария: установка и подключение шрифтов на сервере Windows и Linux, изменение шрифта в макетах конфигурации, настройка для веб-сервера и проверка результата. Отдельно описаны типичные ошибки, из-за которых после изменений ничего не меняется.
Где именно задается шрифт: клиент, сервер, макет
Прежде чем что-то менять, определите, какой именно шрифт требуется изменить. В 1С существует три независимых уровня. Первый — шрифт интерфейса клиентского приложения: он задается в настройках пользователя (Сервис → Параметры в толстом клиенте) или масштабом отображения и никак не связан с сервером. Второй — шрифт макетов печатных форм и отчетов: он жестко прописан в конфигурации, в свойствах областей табличного документа. Третий — шрифты операционной системы сервера: именно из них сервер выбирает начертание при формировании и выгрузке документов в PDF или при печати напрямую с сервера.
Если на клиенте документ выглядит нормально, а при формировании на сервере (регламентным заданием, через веб-сервис или фоновое задание) шрифт «ломается» — проблема почти всегда в отсутствии нужного шрифта на сервере. Если шрифт нужно поменять глобально для всех пользователей в печатной форме — правится макет в конфигураторе.
Как изменить шрифт печатной формы через конфигуратор
Это основной способ, когда нужно изменить шрифт документа для всех пользователей и для серверных регламентных заданий одновременно. Откройте конфигуратор, найдите нужный макет: обычно он лежит в ветке «Общие макеты» либо внутри объекта (документа, справочника, отчета) на вкладке «Макеты». Для управляемых форм отчетов на СКД шрифт может задаваться в настройках схемы компоновки — на вкладке «Настройки» → «Оформление».
Выделите нужную область ячеек макета, откройте палитру свойств и в разделе «Оформление» найдите свойство «Шрифт». Нажмите кнопку выбора и укажите гарнитуру, размер и начертание. Чтобы изменить шрифт сразу во всем макете, выделите весь табличный документ (Ctrl+A) и задайте шрифт для всех областей — при этом индивидуально настроенные ячейки придется проверить отдельно, так как их свойства могут отличаться.
После сохранения конфигурации и обновления конфигурации базы данных новый шрифт применится при следующем формировании документа. Учтите: если конфигурация типовая и находится на поддержке, изменение макета снимет объект с полной поддержки. Безопасная альтернатива — внешняя печатная форма, в которой макет переопределяется без изменения основной конфигурации.
- 1Откройте конфигуратор и найдите макет печатной формы (Общие макеты или макет объекта)
- 2Выделите область ячеек или весь макет через Ctrl+A
- 3В палитре свойств откройте свойство «Шрифт» и задайте гарнитуру, размер, начертание
- 4Сохраните конфигурацию и выполните обновление конфигурации базы данных
- 5Сформируйте документ заново и проверьте результат при выводе на экран и в PDF
Установка шрифтов на сервере Windows
Когда сервер 1С работает под Windows, он использует шрифты, установленные в системе. Откройте каталог C:\Windows\Fonts и убедитесь, что нужный шрифт там присутствует. Если его нет — скопируйте файлы .ttf или .otf, щелкните правой кнопкой и выберите «Установить» либо «Установить для всех пользователей». Второй вариант предпочтительнее: служба агента сервера 1С обычно работает от имени служебной учетной записи (по умолчанию USR1CV8), и шрифт, установленный только в профиль текущего пользователя, ей может быть недоступен.
После установки шрифтов перезапустите службу «Агент сервера 1С:Предприятия» через оснастку services.msc. Рабочие процессы rphost подхватывают перечень системных шрифтов при старте, поэтому без перезапуска изменения могут не примениться. Учтите, что перезапуск агента разорвет сеансы пользователей — выполняйте его вне рабочего времени или предупредите сотрудников.
Установка шрифтов на сервере Linux
На Linux-серверах проблема шрифтов встречается чаще всего: минимальные сборки системы не содержат привычных шрифтов вроде Arial, Times New Roman или Calibri, и сервер 1С подставляет первый доступный шрифт, из-за чего меняется ширина текста и разбиение страниц. Шрифты устанавливаются в системный каталог /usr/share/fonts (для всех пользователей) или в ~/.fonts для отдельной учетной записи.
Для кириллических документов обычно ставят пакет с базовыми шрифтами Microsoft (в репозиториях он называется ttf-mscorefonts-installer или аналогичный) либо свободные шрифты DejaVu и Liberation, метрически совместимые с Arial и Times New Roman. После копирования файлов шрифтов обновите кэш fontconfig и перезапустите агент сервера 1С.
sudo mkdir -p /usr/share/fonts/truetype/custom && sudo cp *.ttf /usr/share/fonts/truetype/custom/ && sudo fc-cache -fv && sudo systemctl restart srv1cv83Имя службы агента зависит от версии платформы (srv1cv83, srv1cv8-8.3.x и т.п.) — уточните его командой systemctl list-units | grep 1c. Проверить, видит ли система установленный шрифт, можно командой fc-list | grep -i имя_шрифта. Если шрифт в выводе отсутствует, сервер 1С его тоже не увидит.
Шрифты при публикации через веб-сервер
При работе пользователей через веб-клиент формирование табличных документов и их выгрузка в PDF выполняются на стороне сервера 1С, поэтому действуют те же правила: шрифты должны быть установлены на сервере, а не на машине пользователя. Дополнительный нюанс — отображение интерфейса в браузере: оно зависит от CSS веб-клиента и шрифтов на компьютере пользователя, и изменить его настройками сервера нельзя.
Если печатная форма при выгрузке в PDF через веб-клиент отличается от той же формы в тонком клиенте, сравните наборы шрифтов на сервере и на клиентской машине. Частая причина расхождений: на клиенте стоит оригинальный Arial, а на Linux-сервере — Liberation Sans; начертания близки, но ширина символов отличается, и длинные строки переносятся иначе. Решение — установить на сервер тот же шрифт, который задан в макете, либо изменить макет под шрифт, доступный на сервере.
Способы изменить шрифт
Меняет шрифт документа для всех пользователей и сервера. Требует обновления конфигурации; для типовых решений снимает объект с полной поддержки.
Переопределяет макет без изменения конфигурации. Подходит для типовых решений на поддержке, но требует сопровождения внешней обработки.
Решает проблему «квадратов» и неверного отображения при серверном формировании и PDF. Не меняет шрифт, заданный в макете, а только обеспечивает его наличие.
Проверка результата и типичные ошибки
После любых изменений сформируйте документ именно тем способом, в котором была проблема: через регламентное задание, веб-клиент или фоновое задание, а не только в толстом клиенте на своем компьютере. Выгрузите документ в PDF и проверьте кириллицу, переносы строк и количество страниц. Если результат формируется на сервере, а сохраняется в файл — откройте файл на машине без установленных «правильных» шрифтов, чтобы убедиться, что шрифт внедрился в PDF.
Как проверить результат
Нужный шрифт присутствует в списке системных шрифтов
Шрифт не найден — сервер 1С его не увидит
Кириллица отображается, переносы совпадают с эталоном
Квадраты вместо букв или съехавшая разбивка страниц
Новый шрифт применяется во всех сеансах
Изменения видны только части пользователей — не перезапущены рабочие процессы
Частые вопросы
Можно ли изменить шрифт интерфейса 1С для всех пользователей разом с сервера?
Нет, централизованной настройки шрифта интерфейса на сервере 1С не существует. Шрифт и масштаб форм задаются на клиенте — в параметрах пользователя или настройках панели навигации. Массово повлиять можно только через групповые политики ОС или типовые настройки профилей, но не через кластер серверов.
Почему в PDF вместо русских букв квадраты?
На сервере, который формирует PDF, нет шрифта с кириллическими глифами. Установите кириллические шрифты в операционную систему сервера, обновите кэш fontconfig (на Linux) и перезапустите агент сервера 1С. Конфигурацию менять не нужно.
Нужно ли перезагружать весь сервер после установки шрифтов?
Полная перезагрузка ОС не требуется. Достаточно перезапустить службу агента сервера 1С, чтобы рабочие процессы заново прочитали список системных шрифтов. Помните, что это разорвет активные сеансы пользователей.
Как изменить шрифт, не снимая типовую конфигурацию с поддержки?
Используйте механизм внешних печатных форм: создайте внешнюю обработку с собственным макетом, где задан нужный шрифт, и зарегистрируйте ее в справочнике дополнительных отчетов и обработок. Основная конфигурация при этом не изменяется.
Шрифт в макете указан верно, но на сервере документ выглядит иначе. Что делать?
Сервер подставляет ближайший доступный шрифт, если точного нет в системе. Проверьте наличие шрифта с точным именем гарнитуры на сервере (fc-list на Linux, папка Fonts на Windows). Либо установите нужный шрифт, либо поменяйте макет на шрифт, гарантированно присутствующий на сервере.
Что важно запомнить
Шрифт серверных документов 1С определяется макетом в конфигурации и набором шрифтов в ОС сервера. Изменение оформления делается в макете (лучше через внешнюю печатную форму), а проблемы с отображением решаются установкой шрифтов на сервер и перезапуском агента. Проверяйте результат именно в том сценарии, где возникала проблема: регламентное задание, веб-клиент или выгрузка в PDF.