Свой шрифт в печатных формах и интерфейсе 1С: от установки в Windows до сервера на Linux
Содержание
Загрузить шрифт в саму 1С нельзя: платформа берёт шрифты из операционной системы. Поэтому шрифт сначала устанавливают в Windows (или Linux) для всех пользователей, перезапускают 1С, и только потом он появляется в списке шрифтов конфигуратора, макетов и форм. Если документы печатает или выгружает в PDF сервер 1С, шрифт ставят ещё и на сервер.
Типичная ситуация: дизайнер прислал фирменный шрифт для счёта, бухгалтер установил его двойным щелчком, а в 1С шрифта нет. Или у одного пользователя бланк выглядит ровно, а у коллеги на терминальном сервере текст вылезает за рамки. Обе проблемы решаются правильной установкой, разберём её по шагам для всех версий платформы: 8.3, 8.2 и 7.7.
Как 1С работает со шрифтами: что нужно знать до установки
Шрифт в 1С — это не файл, а ссылка на имя шрифта: «Arial, 10, жирный». В конфигурации, макете или настройках хранится только это описание. Сам рисунок букв платформа запрашивает у операционной системы того компьютера, где идёт вывод.
Отсюда три следствия:
- 🖥️ Шрифт нужен на каждом компьютере, где открывают форму или печатают документ. Установка на одном ПК не «раздаёт» его остальным.
- 🗄️ Сервер 1С формирует документы своими шрифтами. Если табличный документ записывается в PDF на сервере (рассылка, ЭДО, веб-клиент), шрифт должен быть установлен там.
- 🔁 Нет шрифта — будет замена. Система подставит похожий, но с другой шириной букв. Отсюда «поехавшие» бланки, перенос строк и обрезанные суммы.
| Где выводится текст | Где должен стоять шрифт |
|---|---|
| Тонкий или толстый клиент, файловая база | На компьютере пользователя |
| Терминальный сервер (RDP, RemoteApp) | На терминальном сервере |
| Печать и PDF, сформированные на сервере 1С | На сервере 1С (рабочем сервере кластера) |
| Веб-клиент | На компьютере пользователя, браузер рисует сам |
| Мобильное приложение | Только системные шрифты устройства |
Для печатных форм, которые уходят контрагентам, безопаснее всего Arial, Times New Roman и другие стандартные шрифты Windows. Они есть почти везде, и бланк выглядит одинаково.
Шаг 1. Установка шрифта в Windows для всех пользователей
Шрифты обычно приходят в файлах .ttf или .otf. Перед установкой убедитесь, что в шрифте есть кириллица: откройте файл двойным щелчком и посмотрите образец. Если вместо русских букв квадраты, для 1С он бесполезен.
Установка на рабочем компьютере
- Закройте все сеансы 1С на этом компьютере.
- Щёлкните по файлу шрифта правой кнопкой мыши.
- Выберите
Установить для всех пользователей(в Windows 11 пункт может быть внутриПоказать дополнительные параметры). Нужны права администратора. - Проверьте, что файл появился в папке
C:\Windows\Fonts. - Запустите 1С заново.
Не используйте простой пункт «Установить». В Windows 10 начиная с версии 1809 и в Windows 11 он ставит шрифт только текущему пользователю в папку %LOCALAPPDATA%\Microsoft\Windows\Fonts. Такой шрифт не увидят другие учётные записи, терминальные пользователи и служба сервера 1С, которая работает от своей учётной записи (по умолчанию USR1CV8).
Установка на терминальный сервер и сервер 1С
На сервере действует то же правило: только «для всех пользователей». После установки:
- терминальным пользователям достаточно выйти из 1С и войти снова;
- серверу 1С нужен перезапуск службы «Агент сервера 1С:Предприятия 8», иначе рабочие процессы продолжат работать со старым списком шрифтов.
Перезапуск службы сервера 1С обрывает сеансы всех пользователей, а незаписанные документы пропадут. Делайте это вне рабочего времени или после того, как все вышли из баз.
Массовая установка на несколько ПК
Если компьютеров десятки, шрифт раскатывают групповой политикой или скриптом от имени администратора. Простой вариант на PowerShell, запущенный с правами администратора:
$src = "\\server\share\fonts\MyFont.ttf"
$dst = "C:\Windows\Fonts\MyFont.ttf"
Copy-Item $src $dst -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" `
-Name "MyFont (TrueType)" -Value "MyFont.ttf" -PropertyType String -Force
Имя в реестре должно совпадать с названием шрифта, а значение — с именем файла. После этого 1С на компьютерах перезапускают.
Шаг 2. Шрифты на сервере 1С под Linux
Сервер 1С на Linux — самая частая причина «квадратиков» и пустых PDF. В минимальной установке Ubuntu или Debian нет ни Arial, ни Times New Roman. Сервер формирует печатную форму, не находит шрифт, подставляет что-то без кириллицы, и контрагент получает нечитаемый счёт.
Порядок установки своего шрифта:
- Скопируйте файлы шрифтов в системный каталог, например
/usr/share/fonts/truetype/custom/. - Обновите кэш шрифтов командой
fc-cache -fv. - Проверьте, что шрифт виден системе:
fc-list | grep -i имя_шрифта. - Перезапустите службу сервера 1С (предупредив пользователей, как выше).
sudo mkdir -p /usr/share/fonts/truetype/custom
sudo cp MyFont*.ttf /usr/share/fonts/truetype/custom/
sudo chmod 644 /usr/share/fonts/truetype/custom/*.ttf
sudo fc-cache -fv
fc-list | grep -i myfont
Для стандартных шрифтов Microsoft в Debian и Ubuntu есть пакет ttf-mscorefonts-installer (в Ubuntu — из репозитория multiverse). Он скачивает Arial, Times New Roman, Courier New и другие базовые шрифты. Также нужен пакет fontconfig, без него fc-cache недоступен.
Имя службы зависит от версии и способа установки сервера. Посмотрите его командой systemctl list-units | grep 1c и перезапускайте именно найденную службу.
Шаг 3. Подключение шрифта в конфигураторе и из кода
Когда шрифт установлен в систему и 1С перезапущена, он появляется в стандартном диалоге выбора шрифта. Дальше его назначают нужным объектам.
Шрифт в макете печатной формы
- Откройте конфигурацию в режиме
Конфигуратор. - Найдите объект (документ, обработку) и откройте нужный макет на вкладке макетов.
- Выделите ячейки или область табличного документа.
- Откройте палитру свойств (
Alt+Enter) и нажмите кнопку выбора у свойстваШрифт. - Выберите шрифт, размер и начертание, сохраните конфигурацию и обновите конфигурацию базы данных.
Править макеты типовой конфигурации на поддержке напрямую не стоит: при обновлении изменения придётся переносить вручную. Для типовых решений макет меняют в расширении конфигурации или через пользовательский режим: во многих типовых конфигурациях на базе БСП есть «Макеты печатных форм» в разделе Администрирование → Печатные формы, отчеты и обработки. Там отредактированный макет хранится в базе и не теряется при обновлении.
Шрифт элемента управляемой формы
У надписей, полей и групп управляемой формы тоже есть свойство Шрифт. Его выбирают в палитре свойств элемента в редакторе формы. Для заголовка формы и отдельных полей обычно меняют только размер и жирность, а гарнитуру оставляют системной.
Шрифт как элемент стиля
Если один шрифт нужен в десятках форм, удобнее завести элемент стиля:
- В дереве конфигурации откройте
Общие → Элементы стиля. - Добавьте новый элемент, укажите вид «Шрифт» и задайте значение.
- В свойстве
Шрифтэлементов формы выберите вкладку стиля и укажите этот элемент.
Менять шрифт потом придётся в одном месте, а не в каждой форме.
Шрифт из кода на встроенном языке
Разработчику шрифт задают объектом Шрифт. Конструктор принимает имя, размер и признаки начертания: жирный, наклонный, подчёркнутый, зачёркнутый.
// Шрифт для области макета перед выводом
Макет = ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Шапка");
Область.Область("R1C1:R1C8").Шрифт = Новый Шрифт("Arial", 12, Истина);
ТабДок.Вывести(Область);
// Изменить только размер, сохранив гарнитуру и начертание ячейки
ТекущийШрифт = Область.Область("R2C1").Шрифт;
Область.Область("R2C1").Шрифт = Новый Шрифт(ТекущийШрифт, , 9);
// Шрифт элемента управляемой формы
Элементы.Итого.Шрифт = Новый Шрифт(, 11, Истина);
В последнем примере имя не указано, поэтому остаётся системный шрифт формы, меняются только размер и жирность. Такой код не зависит от того, что установлено у пользователя.
Если в коде записано имя шрифта, которого нет на компьютере, ошибки не будет. Платформа молча подставит замену. Поэтому проверять результат нужно на той машине, где документ реально печатается.
Шаг 4. Веб-клиент и мобильная платформа
Веб-клиент
В веб-клиенте форму рисует браузер. Он берёт шрифт с компьютера пользователя, а не с веб-сервера. Отсюда правила:
- 🌐 нестандартный шрифт придётся установить каждому пользователю веб-клиента так же, как в шаге 1;
- 🍏 у пользователей macOS и Linux нет многих шрифтов Windows, для них выбирайте шрифты, которые есть на всех системах, или проверяйте отображение отдельно;
- 📄 при печати из веб-клиента документ часто сначала формируется на сервере в PDF, поэтому шрифт должен быть и на сервере 1С.
Мобильное приложение
Мобильная платформа 1С использует шрифты операционной системы телефона. Поставить на Android или iOS свой шрифт для приложения 1С обычным способом нельзя. В мобильных формах задают только размер и начертание системного шрифта.
Особенности шрифтов в 1С:Предприятии 7.7
В 7.7 логика та же: программа берёт шрифты из Windows. Отдельной загрузки шрифтов в конфигурацию нет. Шрифт устанавливают в систему для всех пользователей, перезапускают 1С и выбирают его в свойствах ячеек таблицы или элементов диалога в конфигураторе.
С 7.7 на современных Windows чаще всего возникают две проблемы:
- 🔍 Мелкий или размытый интерфейс при масштабе экрана больше 100%. 7.7 не рассчитана на высокое разрешение. Помогает параметр совместимости ярлыка: свойства
1cv7.exe→ вкладка «Совместимость» → изменение параметров высокого DPI. - 🔤 Кракозябры вместо русских букв в диалогах на системах с неверно выбранным языком для программ, не поддерживающих Юникод. Его ставят «Русский» в региональных параметрах Windows (раздел административных настроек языка) и перезагружают компьютер.
Как подобрать шрифт для отчётов и печатных форм
Печатная форма должна одинаково выглядеть на экране, на принтере и в PDF у контрагента. Несколько проверенных правил:
| Задача | Что выбрать | Почему |
|---|---|---|
| Счета, акты, накладные | Arial 8–10 | Компактный, есть везде, хорошо читается мелко |
| Договоры, официальные письма | Times New Roman 11–12 | Привычен для документов |
| Таблицы с длинными суммами | Arial Narrow или уменьшенный размер | Цифры не обрезаются |
| Фирменные бланки | Корпоративный шрифт | Только при установке на все ПК и сервер |
Ещё несколько приёмов:
- 📐 Шрифт с другой шириной букв ломает разметку макета. После замены гарнитуры проверьте все ячейки с суммами и переносом текста.
- 🧾 Для штрихкодов в типовых конфигурациях применяется отдельная компонента печати штрихкодов, а не «шрифт штрихкода». Ставить шрифт EAN-13 вручную обычно не нужно.
- 📏 Если документ не помещается на лист, сначала проверьте поля и масштаб в параметрах страницы табличного документа, а уже потом уменьшайте шрифт.