При выходе на рынки стран СНГ или выполнении требований локального законодательства часто возникает необходимость печатать этикетки, ценники и сопроводительные документы на государственных языках, например, на казахском. Рассмотрим подробнее, как реализовать такую задачу в программе 1С:Управление торговлей (редакция 11), если операционная система сервера и база данных изначально настроены в русскоязычной локали.
Проанализируем задачу и разделим ее на две составляющие: оформление постоянных надписей шаблона этикетки (таких как «Наименование товара», «Цена», «Производитель») и вывод динамических данных (наименований номенклатуры), хранящихся в справочниках 1С.
Начиная с версии 8.0, платформа 1С:Предприятие полностью работает с кодировкой Юникод. Это означает, что сама база данных и текстовые поля конфигурации без проблем хранят, обрабатывают и отображают символы любых алфавитов, включая 9 специфических букв казахского алфавита (Ә, ғ, Қ, ң, Ө, ұ, Ү, һ, і).
Казахский алфавит построен на основе кириллицы с добавлением расширенных символов. Платформе 1С не требуется специальная перенастройка локализации базы или смена региональных установок операционной системы сервера для корректного вывода этих знаков.
Если данные номенклатуры в базе ведутся на русском языке, а на этикетке требуется перевести только заглавия и служебные поля, разберем по шагам порядок действий:
Текст.Главным условием корректного отображения и печати специфических букв является выбор шрифта, содержащего символы таблицы Cyrillic Extended. Посмотрим, какие шрифты подходят для этой задачи:
Большинство стандартных шрифтов Windows (такие как Tahoma, Arial, Segoe UI, Times New Roman) содержат полный набор казахских символов. При оформлении ячеек в редакторе макета 1С достаточно явно выделит тексты и указать шрифт, например, Tahoma или Arial.
Для ввода казахских букв в макет или в карточки номенклатуры можно использовать следующие способы:
charmap в меню «Пуск» или окне «Выполнить»).Выясним причину, почему при правильном отображении текста на экране специализированный принтер этикеток может выводить знаки вопроса или прямоугольники вместо казахских букв.
Специализированные принтеры этикеток (Zebra, Godex, Datamax, TSC) часто используют внутренние аппаратные шрифты, прошитые в память устройства. Эти шрифты работают в однобайтовой кодировке Windows-1251 (ANSI) и не содержат специфических символов расширенной кириллицы.
Для устранения этой проблемы применимы следующие решения:
Если требуется выводить на этикетку не только статические заголовки, но и наименования самих товаров на казахском языке, разберем варианты хранения данных:
Таким образом, платформа 1С и операционная система Windows полностью готовы к работе с казахским языком. Достаточно настроить пользовательский макет, выбрать стандартный Unicode-шрифт и убедиться, что печать на оборудование выполняется через растровый драйвер Windows.