К статье
Практический материал

Документы и Печать · 10 мин

Как загрузить шрифт в 1С

Как загрузить шрифт в 1С: добавление шрифта в макет печатной формы, хранение в конфигурации, шрифты штрихкодов EAN-13 и Code39, типичные ошибки и проверка результата.

Шрифт в 1С требуется чаще всего в двух ситуациях: когда в печатной форме нужен нестандартный шрифт (например, фирменный или со специальными символами) и когда требуется вывести штрихкод — EAN-13, Code39, Code128 — с помощью специального шрифтового решения. В обоих случаях механизм один: файл шрифта формата TTF или OTF загружается либо в операционную систему, либо непосредственно в конфигурацию 1С, после чего его можно выбирать в макетах и табличных документах.

Важно понимать разницу между двумя подходами. Шрифт, установленный в Windows, доступен только на том компьютере, где он установлен: если печатная форма формируется на сервере или у другого пользователя, шрифт подменится стандартным. Шрифт, сохранённый внутри конфигурации как макет типа «Двоичные данные», работает везде, но требует доработки конфигурации и прав на её изменение.

Ниже разобраны оба способа, особенности работы со шрифтами штрихкодов, проверка результата и типичные ошибки, из-за которых шрифт «не виден» в 1С даже после загрузки.

Какой способ загрузки шрифта выбрать

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

Если база клиент-серверная, документы формируются на сервере 1С, а пользователи работают через тонкий клиент или веб-клиент, установка шрифта на локальную машину не поможет. Шрифт должен быть либо установлен на самом сервере 1С, либо загружен внутрь конфигурации и подключён программно.

Сравнение способов подключения шрифта

Установка в Windows

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

Установка на сервере 1С

Подходит для клиент-серверных баз. Требует доступа администратора к серверу; шрифт виден всем сеансам, формирующим документы на сервере.

Шрифт внутри конфигурации

Универсальный вариант: шрифт хранится в макете и загружается кодом. Требует права на изменение конфигурации и навыков работы в конфигураторе.

Установка шрифта в операционную систему

Получите файл шрифта в формате TTF или OTF. Используйте только легально полученные шрифты: у многих коммерческих шрифтов лицензия ограничивает установку на несколько рабочих мест и встраивание в документы.

Для установки откройте файл шрифта двойным щелчком и нажмите кнопку «Установить» в окне просмотра. Альтернативный путь — скопировать файл в папку C:\Windows\Fonts или воспользоваться разделом «Параметры → Персонализация → Шрифты», перетащив файл в окно. Для установки на всех пользователей компьютера могут потребоваться права администратора.

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

Установка шрифта в Windows и подключение в макете
  1. 1
    Скачайте или скопируйте файл шрифта TTF/OTF на компьютер.
  2. 2
    Откройте файл двойным щелчком и нажмите «Установить», дождитесь завершения.
  3. 3
    Перезапустите 1С, чтобы платформа подхватила обновлённый список шрифтов.
  4. 4
    Откройте макет печатной формы, выделите нужную ячейку и в свойстве «Шрифт» выберите установленный шрифт.
  5. 5
    Сформируйте печатную форму и проверьте отображение на экране и при печати.

Загрузка шрифта внутрь конфигурации

Этот способ применяется, когда шрифт должен работать у всех пользователей независимо от их компьютера. Откройте конфигуратор, в дереве конфигурации перейдите в раздел «Общие → Макеты» и создайте новый макет с типом «Двоичные данные». Затем через пункт «Макет → Загрузить из файла» укажите TTF-файл шрифта.

Дальше шрифт нужно зарегистрировать в системе программно. Типовой приём — при формировании печатной формы извлечь макет во временный файл и загрузить его функцией работы со шрифтами. В управляемых формах для табличного документа шрифт подключается через объект, отвечающий за вывод, либо через внешнюю компоненту формирования штрихкодов, если речь идёт о них.

// Пример: извлечение шрифта из макета во временный файл

ДвоичныеДанные = ПолучитьОбщийМакет("ШрифтEAN13");

ИмяФайла = ПолучитьИмяВременногоФайла("ttf");

ДвоичныеДанные.Записать(ИмяФайла);

// Далее файл устанавливается в систему или передаётся компоненте

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

Шрифты штрихкодов: особый случай

Наиболее частая практическая задача — вывести штрихкод EAN-13 или Code39 в печатной форме этикетки или прайса без внешних компонент. Для этого используются специальные шрифты, где каждой цифре и служебному символу соответствует штриховое начертание.

Просто назначить шрифт штрихкода на текст с номером недостаточно. Для EAN-13 строку нужно предварительно преобразовать: рассчитать контрольную цифру и заменить цифры на кодовые символы по таблице шрифта (обычно используются диапазоны символов для левых и правых групп). Для Code39 строку обрамляют символами-звёздочками с обеих сторон — они играют роль старт- и стоп-символов.

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

Проверка результата после загрузки

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

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

Контрольные точки

Как проверить результат

Отображение в предпросмотре
Норма

Текст выведен нужным начертанием, штрихкод показан штрихами

Тревожный признак

Виден стандартный шрифт или обычные цифры вместо штрихов

Печать на принтере
Норма

Начертание совпадает с экранным, штрихи чёткие

Тревожный признак

Шрифт подменён, штрихи размыты или обрезаны

Формирование у другого пользователя
Норма

Документ выглядит одинаково на всех рабочих местах

Тревожный признак

У коллег шрифт подменяется — значит, он установлен только локально

Считывание штрихкода сканером
Норма

Сканер возвращает исходный номер полностью

Тревожный признак

Сканер молчит или возвращает неверное значение

Типичные ошибки и ограничения

Самая распространённая ошибка — установить шрифт только на свой компьютер и ожидать, что он заработает у всех. В клиент-серверной архитектуре табличный документ часто формируется на сервере, поэтому именно там шрифт и должен присутствовать.

Вторая группа ошибок связана со штрихкодами: отсутствие контрольной цифры в EAN-13, пропущенные старт-стоп-символы в Code39, слишком мелкий размер шрифта и включённое масштабирование табличного документа при печати, из-за которого ширина штрихов искажается. Для штрихкодов отключайте автоподгонку масштаба страницы.

Третья группа — попытка использовать шрифт в формате, который платформа или система не принимает (например, повреждённый файл или редкий формат). Если шрифт не появляется в списке после установки, проверьте его открытием в штатном просмотрщике шрифтов Windows: повреждённый файл не откроется.

Типичные ошибки
01
Установка шрифта только на клиентский компьютер в клиент-серверной базе — на сервере документ формируется без нужного шрифта.
02
Вывод номера шрифтом штрихкода без расчёта контрольной цифры и преобразования символов — сканер код не читает.
03
Забытый перезапуск 1С после установки шрифта в Windows — шрифт не появляется в списке свойств ячейки.
04
Мелкий кегль и масштабирование страницы при печати штрихкода — штрихи искажаются, считывание нестабильно.
05
Изменение типовой конфигурации на поддержке без копии — усложняются последующие обновления.
Итог

Что важно запомнить

Для локальной работы достаточно установить TTF-файл в Windows и перезапустить 1С. Для сервера и всех пользователей шрифт ставят на сервер 1С или хранят внутри конфигурации как макет с программной загрузкой. Штрихкоды требуют преобразования строки и проверки сканером, а результат всегда контролируют на экране, на печати и у других пользователей.

Частые вопросы

Почему установленный шрифт не виден в списке шрифтов 1С?

Чаще всего 1С была запущена до установки шрифта — платформа читает список при старте сеанса. Закройте и откройте программу заново. Если шрифт всё равно отсутствует, проверьте, что файл открывается в просмотрщике шрифтов Windows и установлен для всех пользователей, а не только для текущего.

Можно ли загрузить шрифт в 1С без конфигуратора?

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

Как вывести штрихкод EAN-13 без внешних компонент?

Установите шрифт EAN-13, рассчитайте контрольную цифру по стандартному алгоритму, преобразуйте цифры в кодовые символы по таблице шрифта и выведите строку в ячейке табличного документа крупным кеглем. Результат обязательно проверьте сканером.

Почему у коллеги печатная форма выглядит иначе, чем у меня?

Шрифт установлен только на вашем компьютере. Либо установите его на все рабочие места и на сервер 1С, либо перенесите шрифт внутрь конфигурации с программной загрузкой — тогда документ будет одинаковым у всех пользователей.

Поддерживает ли 1С шрифты OTF или только TTF?

1С использует системный механизм шрифтов, поэтому работает с теми форматами, которые поддерживает операционная система, — современные версии Windows работают и с TTF, и с OTF. На практике TTF предпочтительнее: он чаще встречается у шрифтов штрихкодов и реже вызывает проблемы совместимости.

Нарушу ли я лицензию, встроив шрифт в конфигурацию?

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