Принтер этикеток не печатает штрихкод из 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. Нет (будет только односторонняя печать, независимо от окна принтера);
  2. Переворот вверх;
  3. Переворот влево;
  4. Использовать настройки принтера.

Последний пункт в настоящее время выставляется в качестве значения по умолчанию, что позволяет избежать подобной ошибки.

Принтеры по умолчанию и ошибки связанные с этим

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

  1. Используется терминальный режим работы;
  2. Сменилось сетевое имя принтера;
  3. Ранее выполнялась печать на принтер, который в данный момент не доступен.

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

Ошибки при печати связанные с недочетами в коде

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

К подобным ошибкам можно отнести:

  1. Ошибки в наименовании или вызове областей и параметров макета (Рис.2); Рис.2
  2. Ошибки в коде программы, например деление на 0 или бесконечные циклы (Рис.3); Рис.3
  3. Некоторые другие ошибки, в большинстве случаев связанные с невнимательностью.

Ошибки при настройке принтера для печати этикеток

Даже специалистам, давно работающим с приложением 1С, порой бывает очень сложно настроить специальные принтеры, печатающие наклеиваемые этикетки определенных размеров.

Переустановка драйверов устройства и прочие танцы с бубнами, как правило, успеха не имеют.

Последовательность действий, которая поможет максимально сократить время настройки принтера в 1С и сберечь нервы специалисту может выглядеть следующим образом:

  1. В конфигурации есть обработка «Печать этикеток», найти ее можно по адресу: Операции->Обработка->Печать этикеток;
  2. В поле «Формат» необходимо выставить значение «Принтер этикеток» Рис. 4 Рис.4
  3. Там же проставить размеры этикеток;
  4. Дальнейшие шаги выполняются после вывода этикетки на экран и открытия окна предварительного просмотра;
  5. Вызываются параметры страницы, и в настройках принтера выставляются размеры печатаемой этикетки.

Ошибки при печати штрих-кодов

Так же достаточно часто пользователи обращаются с проблемами, возникающими при печати различных документов, содержащих штрих-коды. Как правило, эти проблемы можно свести в несколько групп:

  1. Не установлен компонент программы, ответственный за формирование штрих-кода;
  2. Неправильно установлен тип штрих-кода, либо переданная в качестве кода строка имеет неверный формат;
  3. Ошибки в соответствии размеров картинки и области макета, в которой она должна быть размещена.

В первом случае проблема решается установкой соответствующего дополнения, которое можно найти на диске ИТС или официальном сайте 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. Обновите прошивку вашего принтера

Printer epson - Why won

Следуя рекомендациям производителя вашего принтера, вам необходимо установить последнюю версию встроенного ПО.

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

Примечание. Убедитесь, что загружаемое встроенное ПО специально разработано для конкретной модели принтера. В противном случае это может привести к тому, что ваш принтер станет непригодным для использования.

2. Снимите флажок «печатать как изображение»

Printer paper - Why won

Режим по умолчанию для большинства принтеров на рынке — активировать опцию «Печать как изображение». Известно, что это мешает вашему принтеру печатать штрих-коды.

Чтобы получить доступ к этой опции, вам, как правило, необходимо подготовить документ, как обычно, и в процессе настройки печати найдите упомянутую выше опцию.

Эта опция должна быть расположена на вкладке «Дополнительно» в меню настроек драйвера принтера. Как только найден, просто деактивируйте эту опцию и продолжайте печатать документ.

Примечание. Обязательно выполняйте эти шаги каждый раз, когда вам нужно распечатать штрих-коды внутри документов. В случае, если вы пытаетесь напечатать большое количество страниц одновременно, рекомендуется разбить их на 100–500 страниц, чтобы избежать проблем.

Вывод

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

Пожалуйста, не стесняйтесь сообщить нам, помогло ли вам это руководство, используя раздел комментариев ниже.

Читайте также: