Принтер этикеток не печатает штрихкод из 1с
Обновлено: 04.07.2024
После обновления платформы 8.3.16.1063 на принтер не выводится штрих код. При формировании печатной формы все норм. штрих код есть, в предварительном просмотре есть, а на бумаге нет.
Переустановил 1C\1CBarCode. Не помогло. Сохраняю печ. форму в pdf, затем печать. только так пока печатает.
Какие варианты решения возможны?
(1)искал решение, не помогло ничего, в итоге переделал обработку печати на использование ШК по новой схеме, в принципе, не сложно, макет взял из УНФ из печати этикеток и ценников, пару функций оттуда-же немного переделал, ну и макете с ШК переделал ШК на картинку, в УТ 10.3 работает норм
Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) Экспорт
Если ВнешняяКомпонента = Неопределено Тогда
ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода.'");
КонецЕсли;
// Зададим размер формируемой картинки.
ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина);
ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота);
//Если ПараметрыШтрихкода.ТипКода = 99 Тогда
// ТипШтрихкодаВрем = ОпределитьТипШтрихкода(ПараметрыШтрихкода.Штрихкод);
// Если ТипШтрихкодаВрем = "EAN8" Тогда
// ВнешняяКомпонента.ТипКода = 0;
// ИначеЕсли ТипШтрихкодаВрем = "EAN13" Тогда
ВнешняяКомпонента.ТипКода = 1;
// // Если код содержит контрольный символ, обязательно указываем.
// ВнешняяКомпонента.СодержитКС = СтрДлина(ПараметрыШтрихкода.Штрихкод) = 13;
// ИначеЕсли ТипШтрихкодаВрем = "EAN128" Тогда
// ВнешняяКомпонента.ТипКода = 2;
// ИначеЕсли ТипШтрихкодаВрем = "CODE39" Тогда
// ВнешняяКомпонента.ТипКода = 3;
// ИначеЕсли ТипШтрихкодаВрем = "CODE128" Тогда
// ВнешняяКомпонента.ТипКода = 4;
// ИначеЕсли ТипШтрихкодаВрем = "ITF14" Тогда
// ВнешняяКомпонента.ТипКода = 11;
// ИначеЕсли ТипШтрихкодаВрем = "QR" Тогда
// ВнешняяКомпонента.ТипКода = 16;
// ИначеЕсли ТипШтрихкодаВрем = "EAN13Addon2" Тогда
// ВнешняяКомпонента.ТипКода = 14;
// ИначеЕсли ТипШтрихкодаВрем = "EAN13Addon5" Тогда
// ВнешняяКомпонента.ТипКода = 15;
// Иначе
// ВнешняяКомпонента.АвтоТип = Истина;
// КонецЕсли;
//Иначе
// ВнешняяКомпонента.АвтоТип = Ложь;
// ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода;
//КонецЕсли;
//Если ПараметрыШтрихкода.Свойство("ПрозрачныйФон") Тогда
// ВнешняяКомпонента.ПрозрачныйФон = ПараметрыШтрихкода.ПрозрачныйФон;
//КонецЕсли;
//
//Если ПараметрыШтрихкода.Свойство("GS1DatabarКоличествоСтрок") Тогда
// ВнешняяКомпонента.GS1DatabarКоличествоСтрок = ПараметрыШтрихкода.GS1DatabarКоличествоСтрок;
//КонецЕсли;
//ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст;
ВнешняяКомпонента.ОтображатьТекст = Истина;
// Формируем картинку штрихкода.
ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод;
// Угол поворота штрихкода.
//ВнешняяКомпонента.УголПоворота = ?(ПараметрыШтрихкода.Свойство("УголПоворота"), ПараметрыШтрихкода.УголПоворота, 0);
// Уровень коррекции QR кода (L=0, M=1, Q=2, H=3).
//ВнешняяКомпонента.УровеньКоррекцииQR = ?(ПараметрыШтрихкода.Свойство("УровеньКоррекцииQR"), ПараметрыШтрихкода.УровеньКоррекцииQR, 1);
// Для обеспечения совместимости с предыдущими версиями БПО.
Если Не ПараметрыШтрихкода.Свойство("Масштабировать")
Или (ПараметрыШтрихкода.Свойство("Масштабировать") И ПараметрыШтрихкода.Масштабировать) Тогда
Если Не ПараметрыШтрихкода.Свойство("СохранятьПропорции")
Или (ПараметрыШтрихкода.Свойство("СохранятьПропорции") И Не ПараметрыШтрихкода.СохранятьПропорции) Тогда
// Если установленная нами ширина меньше минимально допустимой для этого штрихкода.
Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода;
КонецЕсли;
// Если установленная нами высота меньше минимально допустимой для этого штрихкода.
Если ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяВысотаКода Тогда
ВнешняяКомпонента.Высота = ВнешняяКомпонента.МинимальнаяВысотаКода;
КонецЕсли;
ИначеЕсли ПараметрыШтрихкода.Свойство("СохранятьПропорции") И ПараметрыШтрихкода.СохранятьПропорции Тогда
Пока ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода
Или ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяВысотаКода Цикл
// Если установленная нами ширина меньше минимально допустимой для этого штрихкода.
Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода;
ВнешняяКомпонента.Высота = (ВнешняяКомпонента.МинимальнаяШиринаКода / Окр(ПараметрыШтрихкода.Ширина)) * Окр(ПараметрыШтрихкода.Высота);
КонецЕсли;
// Если установленная нами высота меньше минимально допустимой для этого штрихкода.
Если ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяВысотаКода Тогда
ВнешняяКомпонента.Высота = ВнешняяКомпонента.МинимальнаяВысотаКода;
ВнешняяКомпонента.Ширина = (ВнешняяКомпонента.МинимальнаяВысотаКода / Окр(ПараметрыШтрихкода.Высота)) * Окр(ПараметрыШтрихкода.Ширина);
КонецЕсли;
// ВертикальноеВыравниваниеКода: 1 - по верхнему краю, 2 - по центру, 3 - по нижнему краю.
ВнешняяКомпонента.ВертикальноеВыравниваниеКода = 1;
//Если ПараметрыШтрихкода.Свойство("ВертикальноеВыравнивание") И (ПараметрыШтрихкода.ВертикальноеВыравнивание > 0) Тогда
// ВнешняяКомпонента.ВертикальноеВыравниваниеКода = ПараметрыШтрихкода.ВертикальноеВыравнивание;
//КонецЕсли;
Если ПараметрыШтрихкода.Свойство("РазмерШрифта") И (ПараметрыШтрихкода.РазмерШрифта > 0)
И (ПараметрыШтрихкода.ОтображатьТекст) И (ВнешняяКомпонента.РазмерШрифта <> ПараметрыШтрихкода.РазмерШрифта) Тогда
ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта;
КонецЕсли;
Если ПараметрыШтрихкода.Свойство("РазмерШрифта") И ПараметрыШтрихкода.РазмерШрифта > 0
И ПараметрыШтрихкода.Свойство("МонохромныйШрифт") Тогда
Если ПараметрыШтрихкода.МонохромныйШрифт Тогда
ВнешняяКомпонента.МаксимальныйРазмерШрифтаДляПринтеровНизкогоРазрешения = ПараметрыШтрихкода.РазмерШрифта + 1;
Иначе
ВнешняяКомпонента.МаксимальныйРазмерШрифтаДляПринтеровНизкогоРазрешения = -1;
КонецЕсли;
// Сформируем картинку
ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();
// Если картинка сформировалась.
Если ДвоичныеДанныеКартинки <> Неопределено Тогда
// Формируем из двоичных данных.
Возврат Новый Картинка(ДвоичныеДанныеКартинки);
КонецЕсли;
Функция ПодключитьВнешнююКомпонентуПечатиШтрихкода() Экспорт
макет = ПолучитьМакет ("КомпонентаПечатиШтрихкодов");
адрес = ПоместитьВоВременноеХранилище( макет );
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(адрес, "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
// Создадим объект внешней компоненты.
Если ПодключениеВыполнено Тогда
ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
Иначе
Возврат Неопределено;
КонецЕсли;
// Если нет возможности рисовать.
Если НЕ ВнешняяКомпонента.ГрафикаУстановлена Тогда
// То картинку сформировать не сможем.
Возврат Неопределено;
Иначе
// Установим основные параметры компоненты.
// Если в системе установлен шрифт Tahoma.
Если ВнешняяКомпонента.НайтиШрифт("Tahoma") Тогда
// Выбираем его как шрифт для формирования картинки.
ВнешняяКомпонента.Шрифт = "Tahoma";
Иначе
// Шрифт Tahoma в системе отсутствует.
// Обойдем все доступные компоненте шрифты.
Для Сч = 0 По ВнешняяКомпонента.КоличествоШрифтов -1 Цикл
// Получим очередной шрифт, доступный компоненте.
ТекущийШрифт = ВнешняяКомпонента.ШрифтПоИндексу(Сч);
// Если шрифт доступен
Если ТекущийШрифт <> Неопределено Тогда
// Они и будет шрифтом для формирования штрихкода.
ВнешняяКомпонента.Шрифт = ТекущийШрифт;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
// Установим размер шрифта
ВнешняяКомпонента.РазмерШрифта = 12;
Специфика работы платформы 1С, большое количество документов и отчетов, которые необходимо переводить из электронного в бумажный вид, проблемы с совместимостью оборудования, да и просто кривые руки программистов приводят к тому, что ошибки при печати 1С – одни из чаще всего возникающих неполадок.
Ошибка двусторонней печати 1С
После одного из обновлений платформы многие пользователи столкнулись с тем, что не печатает принтер из 1С в режиме двусторонней печати. При этом не многие обратили внимание, на то, что в программе поменялось окно Параметры страницы (рис.1)
В частности, в левом нижнем углу появилась возможность настройки двусторонней печати. Приоритет в данном случае отдается настройкам программы, а не собственным настройкам принтера в операционной системе. Список возможных значений в первых версиях окна принимал только два значения: Да и Нет, что полностью исключало возможность использования настроек принтера. После обновления платформы появилось четыре варианта:
- Нет (будет только односторонняя печать, независимо от окна принтера);
- Переворот вверх;
- Переворот влево;
- Использовать настройки принтера.
Последний пункт в настоящее время выставляется в качестве значения по умолчанию, что позволяет избежать подобной ошибки.
Принтеры по умолчанию и ошибки связанные с этим
Очень часто ошибки содержащие фразу «получение информации о принтере», происходят из-за того, что установленные по умолчанию для 1С принтеры не видятся программой. Это может происходить в следующих случаях:
- Используется терминальный режим работы;
- Сменилось сетевое имя принтера;
- Ранее выполнялась печать на принтер, который в данный момент не доступен.
В любом случае, возникновение подобной ошибки мало связано с самой программой 1С, и в большей степени зависит от настроек сетевого доступа к принтерам, правами пользователей на подключение и использование локальных устройств, работы сети.
Ошибки при печати связанные с недочетами в коде
Зачастую, попытка распечатать тот или иной табличный документ оканчивается неудачей из-за ошибок в коде. Работники фирмы 1С и специалисты, занимающиеся поддержкой работоспособности конфигураций, стараются выявлять их на стадии разработки, но изредка они выскакивают.
К подобным ошибкам можно отнести:
- Ошибки в наименовании или вызове областей и параметров макета (Рис.2); Рис.2
- Ошибки в коде программы, например деление на 0 или бесконечные циклы (Рис.3); Рис.3
- Некоторые другие ошибки, в большинстве случаев связанные с невнимательностью.
Ошибки при настройке принтера для печати этикеток
Даже специалистам, давно работающим с приложением 1С, порой бывает очень сложно настроить специальные принтеры, печатающие наклеиваемые этикетки определенных размеров.
Переустановка драйверов устройства и прочие танцы с бубнами, как правило, успеха не имеют.
Последовательность действий, которая поможет максимально сократить время настройки принтера в 1С и сберечь нервы специалисту может выглядеть следующим образом:
- В конфигурации есть обработка «Печать этикеток», найти ее можно по адресу: Операции->Обработка->Печать этикеток;
- В поле «Формат» необходимо выставить значение «Принтер этикеток» Рис. 4 Рис.4
- Там же проставить размеры этикеток;
- Дальнейшие шаги выполняются после вывода этикетки на экран и открытия окна предварительного просмотра;
- Вызываются параметры страницы, и в настройках принтера выставляются размеры печатаемой этикетки.
Ошибки при печати штрих-кодов
Так же достаточно часто пользователи обращаются с проблемами, возникающими при печати различных документов, содержащих штрих-коды. Как правило, эти проблемы можно свести в несколько групп:
- Не установлен компонент программы, ответственный за формирование штрих-кода;
- Неправильно установлен тип штрих-кода, либо переданная в качестве кода строка имеет неверный формат;
- Ошибки в соответствии размеров картинки и области макета, в которой она должна быть размещена.
В первом случае проблема решается установкой соответствующего дополнения, которое можно найти на диске ИТС или официальном сайте 1С. Два других варианта требуют вмешательства в программный код ,и без специальной подготовки избавиться от выскакивающей ошибки бывает сложно.
В завершении статьи хотелось бы отметить, что ошибки, возникающие при печати в 1С, никоим образом не влияют на исходные данные в программе и не являются критическими.
Программа 1С не дает печатать отчеты с штрихкодом. Что делать?
Установка шрифта EanGnivc
Для использования налоговых деклараций со штрихкодами необходимо, чтобы в операционной системе был установлен шрифт EanGnivc .
Этот шрифт можно взять:
Установить нужный шрифт можно разными способами. Тот способ, что описан в файле ReadMe.txt является устаревшим для последних версий Windows, поэтому мы предлагаем загрузить шрифт EanGnivc следующим образом:
Шрифт устанавливается в системе только один раз, повторную установку выполнять не нужно.
32-разрядная Платформа
Но есть еще некоторые нюансы по работе со штрихкодами.
Печать формы с двухмерным штрихкодом поддерживается только в 32-разрядной Платформе. Если у вас установлена 64-разрядная Платформа — загрузка шрифта EanGnivc не поможет.
Это ограничение«вшито» в программный код конфигурации 1С при печати штрихкодов: «Внимание! Печать бланка формы с двухмерным штрихкодом PDF417 поддерживается только в 32-разрядной версии платформы».
Поэтому если вы работаете на 64-разрядной Платформе, то вам придется прибегать к услугам программиста для доработки конфигурации по запуску печати штрихкода в отчетах.
Сбой в обновлении Платформы
В нашей практике были случаи, когда печать двумерного штрихкода переставала работать сразу после обновления Платформы. Если до обновления Платформы штрихкод печатался нормально и у вас 32-разрядная Платформа, попробуйте запуститься с более ранней версии Платформы. Если все пройдет хорошо, то просто подождите следующей версии Платформы и обновите ее.
Настройка печати отчетов
При печати регламентированных отчетов для налоговой инспекции проверьте, не стоит ли у вас по умолчанию флажок Разрешить печать без штрихкода PDF417 . Если стоит, снимите его.
При выполнении всех перечисленных условий у вас дне должно быть проблем с печатью отчетов со штрих-кодом.
- Настройка двусторонней печати (из записи эфира от 07 декабря 2018 г.)
- Интерфейс Такси
- Настройка двусторонней печати
- Как можно в настройках поменять принтер на компьютере и в 1С?
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
.Минфин продолжает разъяснять порядок применения онлайн-касс.В программе Бухгалтерия ред. 3.0 разработчиками предусмотрен типовой набор отчетов..
Карточка публикации
(7 оценок, среднее: 4,43 из 5)
Данную публикацию можно обсудить в комментариях ниже.Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Как не попасть в ловушку, работая с контрагентами из ЕАЭС
[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ
Изменения в 2021 году, о которых нужно знать бухгалтеру
[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018
Печать документов, как правило, проста и не требует понимания многих процессов, которые позволяют этому процессу произойти. Если вы когда-нибудь задумывались, почему ваш компьютер не может распечатать штрих-код, вы нашли нужную статью.
Пользователи сообщают, что некоторые принтеры не могут печатать штрих-коды на своих документах. Это приводит к тому, что распечатанный документ имеет перекос штрих-кода или даже полностью исчезает.
Это может быть очень неприятно, особенно если вам нужно распечатать большое количество документов.
Эта проблема вызвана тем, что на вашем принтере отсутствует драйвер postscript. Postscript — это язык печати, используемый широким кругом производителей принтеров. Он был разработан Adobe для печати и отображения изображений и текста в ваших документах.
В этой статье мы рассмотрим лучший способ решения этой проблемы и вернемся к печати штрих-кодов на ваших документах.
Читайте дальше, чтобы узнать, как это сделать.
Выполните следующие шаги для печати документов со штрих-кодами
Это решение варьируется в зависимости от используемого вами драйвера, модели вашего принтера, а также программного обеспечения Adobe, которое вы используете для печати файла.
Несмотря на то, что это так, есть несколько общих настроек, найденных по всем направлениям:
1. Обновите прошивку вашего принтера
Следуя рекомендациям производителя вашего принтера, вам необходимо установить последнюю версию встроенного ПО.
Обычно вам необходимо посетить официальный сайт производителя вашего принтера и загрузить последнюю версию прошивки. После завершения загрузки дважды щелкните исполняемый файл и следуйте инструкциям на экране.
Примечание. Убедитесь, что загружаемое встроенное ПО специально разработано для конкретной модели принтера. В противном случае это может привести к тому, что ваш принтер станет непригодным для использования.
2. Снимите флажок «печатать как изображение»
Режим по умолчанию для большинства принтеров на рынке — активировать опцию «Печать как изображение». Известно, что это мешает вашему принтеру печатать штрих-коды.
Чтобы получить доступ к этой опции, вам, как правило, необходимо подготовить документ, как обычно, и в процессе настройки печати найдите упомянутую выше опцию.
Эта опция должна быть расположена на вкладке «Дополнительно» в меню настроек драйвера принтера. Как только найден, просто деактивируйте эту опцию и продолжайте печатать документ.
Примечание. Обязательно выполняйте эти шаги каждый раз, когда вам нужно распечатать штрих-коды внутри документов. В случае, если вы пытаетесь напечатать большое количество страниц одновременно, рекомендуется разбить их на 100–500 страниц, чтобы избежать проблем.
Вывод
В этой статье мы обсудили причину, по которой ваш принтер не может печатать штрих-коды, и перечислили простое решение этой проблемы.
Пожалуйста, не стесняйтесь сообщить нам, помогло ли вам это руководство, используя раздел комментариев ниже.
Читайте также: