Документы и Печать · 10 мин
Как загрузить шрифт в 1С
Как загрузить шрифт в 1С: добавление шрифта в макет печатной формы, хранение в конфигурации, шрифты штрихкодов EAN-13 и Code39, типичные ошибки и проверка результата.
Шрифт в 1С требуется чаще всего в двух ситуациях: когда в печатной форме нужен нестандартный шрифт (например, фирменный или со специальными символами) и когда требуется вывести штрихкод — EAN-13, Code39, Code128 — с помощью специального шрифтового решения. В обоих случаях механизм один: файл шрифта формата TTF или OTF загружается либо в операционную систему, либо непосредственно в конфигурацию 1С, после чего его можно выбирать в макетах и табличных документах.
Важно понимать разницу между двумя подходами. Шрифт, установленный в Windows, доступен только на том компьютере, где он установлен: если печатная форма формируется на сервере или у другого пользователя, шрифт подменится стандартным. Шрифт, сохранённый внутри конфигурации как макет типа «Двоичные данные», работает везде, но требует доработки конфигурации и прав на её изменение.
Ниже разобраны оба способа, особенности работы со шрифтами штрихкодов, проверка результата и типичные ошибки, из-за которых шрифт «не виден» в 1С даже после загрузки.
Какой способ загрузки шрифта выбрать
Перед началом работы определите, где будет формироваться документ с нужным шрифтом. Если печатная форма создаётся только на вашем компьютере в файловой базе, достаточно установить шрифт в операционную систему — это занимает минуту и не требует изменения конфигурации.
Если база клиент-серверная, документы формируются на сервере 1С, а пользователи работают через тонкий клиент или веб-клиент, установка шрифта на локальную машину не поможет. Шрифт должен быть либо установлен на самом сервере 1С, либо загружен внутрь конфигурации и подключён программно.
Сравнение способов подключения шрифта
Подходит для файловых баз и локальной работы. Быстро, без доработок, но шрифт недоступен другим пользователям и на сервере.
Подходит для клиент-серверных баз. Требует доступа администратора к серверу; шрифт виден всем сеансам, формирующим документы на сервере.
Универсальный вариант: шрифт хранится в макете и загружается кодом. Требует права на изменение конфигурации и навыков работы в конфигураторе.
Установка шрифта в операционную систему
Получите файл шрифта в формате TTF или OTF. Используйте только легально полученные шрифты: у многих коммерческих шрифтов лицензия ограничивает установку на несколько рабочих мест и встраивание в документы.
Для установки откройте файл шрифта двойным щелчком и нажмите кнопку «Установить» в окне просмотра. Альтернативный путь — скопировать файл в папку C:\Windows\Fonts или воспользоваться разделом «Параметры → Персонализация → Шрифты», перетащив файл в окно. Для установки на всех пользователей компьютера могут потребоваться права администратора.
После установки перезапустите 1С, если она была открыта: список доступных шрифтов платформа считывает при запуске сеанса. Затем откройте нужный макет печатной формы, выделите ячейку или область, вызовите свойства и выберите новый шрифт в списке.
- 1Скачайте или скопируйте файл шрифта TTF/OTF на компьютер.
- 2Откройте файл двойным щелчком и нажмите «Установить», дождитесь завершения.
- 3Перезапустите 1С, чтобы платформа подхватила обновлённый список шрифтов.
- 4Откройте макет печатной формы, выделите нужную ячейку и в свойстве «Шрифт» выберите установленный шрифт.
- 5Сформируйте печатную форму и проверьте отображение на экране и при печати.
Загрузка шрифта внутрь конфигурации
Этот способ применяется, когда шрифт должен работать у всех пользователей независимо от их компьютера. Откройте конфигуратор, в дереве конфигурации перейдите в раздел «Общие → Макеты» и создайте новый макет с типом «Двоичные данные». Затем через пункт «Макет → Загрузить из файла» укажите TTF-файл шрифта.
Дальше шрифт нужно зарегистрировать в системе программно. Типовой приём — при формировании печатной формы извлечь макет во временный файл и загрузить его функцией работы со шрифтами. В управляемых формах для табличного документа шрифт подключается через объект, отвечающий за вывод, либо через внешнюю компоненту формирования штрихкодов, если речь идёт о них.
// Пример: извлечение шрифта из макета во временный файл
ДвоичныеДанные = ПолучитьОбщийМакет("ШрифтEAN13");
ИмяФайла = ПолучитьИмяВременногоФайла("ttf");
ДвоичныеДанные.Записать(ИмяФайла);
// Далее файл устанавливается в систему или передаётся компоненте
Учтите ограничение: программная установка шрифта в систему из кода 1С требует прав на запись в системные каталоги и обычно выполняется на том узле, где формируется документ. В клиент-серверном режиме код с ключевым словом выполнения «НаСервере» будет работать с файловой системой сервера, а не клиента.
Шрифты штрихкодов: особый случай
Наиболее частая практическая задача — вывести штрихкод EAN-13 или Code39 в печатной форме этикетки или прайса без внешних компонент. Для этого используются специальные шрифты, где каждой цифре и служебному символу соответствует штриховое начертание.
Просто назначить шрифт штрихкода на текст с номером недостаточно. Для EAN-13 строку нужно предварительно преобразовать: рассчитать контрольную цифру и заменить цифры на кодовые символы по таблице шрифта (обычно используются диапазоны символов для левых и правых групп). Для Code39 строку обрамляют символами-звёздочками с обеих сторон — они играют роль старт- и стоп-символов.
После преобразования строка выводится в ячейку табличного документа со шрифтом штрихкода достаточно крупного размера (обычно от 36 пунктов и выше), чтобы сканер уверенно считывал штрихи. Обязательно проверяйте результат реальным сканером, а не только визуально: штрихкод может выглядеть корректно, но не читаться из-за неверной контрольной цифры или слишком мелкого кегля.
Проверка результата после загрузки
После установки или подключения шрифта сформируйте тестовую печатную форму и проверьте её в трёх состояниях: на экране в предпросмотре, при выводе на принтер и, если документ уходит контрагентам, при сохранении в PDF. Шрифт, которого нет в системе просмотра, в PDF может подмениться, поэтому для внешних документов используйте встраивание шрифтов при сохранении или общедоступные шрифты.
Признак того, что шрифт не подхватился, — текст отображается стандартным шрифтом (обычно Arial или аналогом), а в случае штрихкода вместо штрихов видны обычные цифры и буквы. В клиент-серверной базе дополнительно проверьте формирование документа у другого пользователя и через веб-клиент, если он используется.
Как проверить результат
Текст выведен нужным начертанием, штрихкод показан штрихами
Виден стандартный шрифт или обычные цифры вместо штрихов
Начертание совпадает с экранным, штрихи чёткие
Шрифт подменён, штрихи размыты или обрезаны
Документ выглядит одинаково на всех рабочих местах
У коллег шрифт подменяется — значит, он установлен только локально
Сканер возвращает исходный номер полностью
Сканер молчит или возвращает неверное значение
Типичные ошибки и ограничения
Самая распространённая ошибка — установить шрифт только на свой компьютер и ожидать, что он заработает у всех. В клиент-серверной архитектуре табличный документ часто формируется на сервере, поэтому именно там шрифт и должен присутствовать.
Вторая группа ошибок связана со штрихкодами: отсутствие контрольной цифры в EAN-13, пропущенные старт-стоп-символы в Code39, слишком мелкий размер шрифта и включённое масштабирование табличного документа при печати, из-за которого ширина штрихов искажается. Для штрихкодов отключайте автоподгонку масштаба страницы.
Третья группа — попытка использовать шрифт в формате, который платформа или система не принимает (например, повреждённый файл или редкий формат). Если шрифт не появляется в списке после установки, проверьте его открытием в штатном просмотрщике шрифтов Windows: повреждённый файл не откроется.
Что важно запомнить
Для локальной работы достаточно установить TTF-файл в Windows и перезапустить 1С. Для сервера и всех пользователей шрифт ставят на сервер 1С или хранят внутри конфигурации как макет с программной загрузкой. Штрихкоды требуют преобразования строки и проверки сканером, а результат всегда контролируют на экране, на печати и у других пользователей.
Частые вопросы
Почему установленный шрифт не виден в списке шрифтов 1С?
Чаще всего 1С была запущена до установки шрифта — платформа читает список при старте сеанса. Закройте и откройте программу заново. Если шрифт всё равно отсутствует, проверьте, что файл открывается в просмотрщике шрифтов Windows и установлен для всех пользователей, а не только для текущего.
Можно ли загрузить шрифт в 1С без конфигуратора?
Да, если достаточно локальной работы: установите шрифт в Windows, и он станет доступен в макетах и табличных документах. Без конфигуратора нельзя встроить шрифт внутрь конфигурации — для этого нужен режим разработчика и права на изменение.
Как вывести штрихкод EAN-13 без внешних компонент?
Установите шрифт EAN-13, рассчитайте контрольную цифру по стандартному алгоритму, преобразуйте цифры в кодовые символы по таблице шрифта и выведите строку в ячейке табличного документа крупным кеглем. Результат обязательно проверьте сканером.
Почему у коллеги печатная форма выглядит иначе, чем у меня?
Шрифт установлен только на вашем компьютере. Либо установите его на все рабочие места и на сервер 1С, либо перенесите шрифт внутрь конфигурации с программной загрузкой — тогда документ будет одинаковым у всех пользователей.
Поддерживает ли 1С шрифты OTF или только TTF?
1С использует системный механизм шрифтов, поэтому работает с теми форматами, которые поддерживает операционная система, — современные версии Windows работают и с TTF, и с OTF. На практике TTF предпочтительнее: он чаще встречается у шрифтов штрихкодов и реже вызывает проблемы совместимости.
Нарушу ли я лицензию, встроив шрифт в конфигурацию?
Зависит от условий конкретной лицензии шрифта. Многие лицензии разрешают установку, но запрещают встраивание и распространение файла шрифта в составе других продуктов. Перед встраиванием изучите лицензионное соглашение или выберите шрифт со свободной лицензией.