1с не выводит штрих код
Печать штрихкодов в 1С: инструкция
Обновим 1С с гарантией сохранности базы
Поможем с 1С 24/7, без выходных
Установим сервисы 1С бесплатно
Оперативно решим любые задачи по 1С
Как в 1С вывести на печать штрихкод? Что необходимо установить и настроить для этого? Предлагаем нашим читателям подробную инструкцию по установке компоненты, добавлению штрихкода в ценник, созданию макета и вывода его на печать.
Установка компонента 1С Печать штрихкодов
Для вывода в 1С штрихкода в печатную форму предназначен объект «1С:Печать штрихкодов». Данный элемент управления предназначен для формирования штрихкодов следующих форматов:
EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k, Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417.
В нем поддерживается автоопределение формата штрихкода, возможность передавать символьное значение штрихкода как с контрольным символом, так и без него, а также можно отключать показ контрольного символа штрихкода на результирующем изображении штрихкода.
Если данный элемент не установлен у вас не установлен, то при попытке сделать печать вы увидите ошибку с текстом: «Компонента печать штрихкодов 1С не установлена на данном компьютере». В таком случае перед следующими шагами вам необходимо установить элемент. Выберите его на сайте и установите на ПК.
Установка максимально простая, поэтому просто следуйте указаниям:
Печать штрихкодов на ценниках в 1С
Для примера предлагаем рассмотреть печать штрихкода в«1С:Розница». Обратимся к пункту «Цены номенклатуры» и рассмотрим вывод на печать ценников товаров, на которые уже назначена цена.
Печать ценников и этикеток доступны из документа «Установка цены номенклатуры» в кнопке «Печать»:
В обработке уже будут выбраны товары, поэтому нам нужно будет задать «Шаблон ценника». Если заранее такой шаблон не был подготовлен, то создайте его на этом шаге.
Нажав кнопку «Редактировать макет», переходим в редактор шаблонов и выбираем «Загрузить шаблон по умолчанию».
Выбрав созданный шаблон, выделяем необходимые товары и нажимаем кнопку «Печать».
Штрихкод 1С в макете печатной формы
Вы можете самостоятельно разработать макет печатных форм с использованием штрихкода. В конфигураторе открываем макет печатной формы нужного документа и переходим в меню:
Таблица — Рисунок — Вставить объект
В появившемся окне переключаем указатель в положение «Элемент управления» и мы видим, что появился тип объекта «1С.V8. Печать штрих-кодов».
Помощь профессионалов
Если у вас нет достаточно компетентных сотрудников или у ваших специалистов сейчас есть более важные задачи, мы предлагаем обратиться за помощью к специалистам компании «ПРОГРАММЫ 93»!
Как мы можем помочь вам в работе с 1С?
Позвоните по номеру телефона, указанному на сайте или заполните форму обратной связи, чтобы мы могли сориентировать по стоимости и рассказать, как начать сотрудничество.
Ошибки считывания штрих-кода
1.Описание проблемы
В своей работе на раз сталкивался с проблемой, при которой распечатанный на принтере этикеток штрих-код потом плохо считывался или вообще не мог быть считан сканером штрих-кодов. При этом визуально штрих-код выглядел обсолютно нормальным и ничем не отличался от штрих-кодов, которые сканер считывал нормально. Проблема возникала при печати штрих-кодов из 1С, установленной на сервере, и работа осуществлялась из-под терминального доступа.
2.Причина
Причина проблемы кроется в работе системы перенаправления печати работающей на серверных ОС Windows. Дело в том, что для упрощения установки принтеров в терминальных сеансах работы пользователей Microsoft добавила в свои серверные ОС начиная с windows Server 2008 функцию TS EasyPrint. Это система эмуляции драйвера принтера в терминальной сессии. Но работа данной системы не всегда проходит гладко, и иногда принтер может не печатать или работать неверно, что и происходит в нашем случае. Сама по себе эта функция очень хорошая, так как сильно облегчает жизнь администраторам серверов, от них не требуется устанавливать драйвер для каждого принтера на сервер, а лишь решать проблемы, если они появяться. С принтером этикеток возникает ситуация, что система EasyPrint некоректно передает данные на само устройсвто, причем визуально распечатанный штрих код ни чем не отличается от выводимого на экран или распечатанного на компьютере не в терминальной сессии.
3.Решение проблемы
Решается проблема отключением в групповой политике использования EasyPrint по умолчанию и установкой радного драйвера для принтера этикеток. Для этого нужно открыть групповую политику:
Далее в групповой политике:
Computer configurations->
Windows components->
Remote Desktop Services->
Remote Desktop Session Host->
Printer Redirection
и свойство use remote easy printet driver first меняем в положение Disable.
Теперь алгоритм подключения принтера в терминальный режим изменится и в первую очередь Windows будет использовать установленный драйвер принтера, а если его не найдет, то тогда уже будет использоваться универсальный драйвер EasyPrint. После этого еще необходимо установить драйвер этого принтера на сервере, если он еще не был установлен, и выйти из терминальной сессии и снова зайти. Проверить, правильно ли установился драйвер принтера, можно в разделе устройства и принтеры панели управления, в свойствах принтера этикеток в разделе дополнительно должен быть указан драйвер этого принтера, а не универсальный драйвер EasyPrint. Если все проделано правильно, распечатанные этикетки должны сканироваться быстро и без проблем.
1с не выводит штрих код
Внешняя компонента «1С:Печать штрихкодов» для платформы «1С:Предприятие 8.3» поставляется в составе Библиотеки подключаемого оборудования.
Основные возможности
Элемент управления позволяет формировать штрихкоды следующих форматов: EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417, QR, GS1 databar extended stacked, DataMatrix ASCII, DataMatrix Base256, DataMatrix Text, DataMatrix C40, DataMatrix X12, DataMatrix Edifact. Поддерживает автоопределение формата штрихкода. Элементу управления можно передавать символьное значение штрихкода как с контрольным символом, так и без него. Есть возможность отключения показа контрольного символа штрихкода на результирующем изображении штрихкода. Для контроля полного вхождения полос штрихкода в область печати имеются свойства «минимальная ширина» и «минимальная высота», содержащие в себе минимально возможную ширину и высоту печатной области, в которой штрихкод может отображаться полностью.
Возможности оформления
Текст, отображаемый на поверхности штрихкода, можно задавать программно вне зависимости от содержания самого штрихкода. Можно изменять шрифт, положение текста (вверху или внизу штрихкода), признак отображения текста. Доступны для изменения цвет текста, цвет фона и цвет полос штрихкода. Фон штрихкода может быть прозрачным. Также изменяется угол поворота (дискретно по 90 градусов) штрихкода вместе с текстом.
Для вывода штрих кода в печатную форму, в 1С:Предприятии предназначен объект «1С.V8.Печать штрих-кодов». Для того чтобы он стал доступен на компьютере должна быть установлена компонента «1CBarCode.exe».
Установка компоненты 1CBarCode.exe
Дистрибутив с компонентой для штрих-кодов можно скачать на официальном сайте 1С или на диске ИТС в директории 1CITSEXETradeWare1C1CBarCode. После скачивания потребуется установка.
Запуск установки 1CBarCode.exe
После запуска программа подготовится к установке и предложит продолжить установку.
Для продолжения инсталяции программы нужно будет принять условия.
Затем необходимо выбрать место на жестком диске для установки программы и продолжить установку
Установка займет примерно 10-15 секунд в зависимости от комплектации ПК.
При успешном окончании появится окно.
Добавление штрих-кода в печатную форму
Во многих типовых конфигурациях уже реализован механизм присвоения штрих-кодов некоторым документам, или справочникам. Если данного функционала нет, то потребуется самостоятельно написать его в конфигурации. В примере ниже демонстрируется вывод произвольного штрих-кода.
Добавление рисунка в макет. Для того чтобы добавить рисунок нужно открыть в главном меню (Таблица)-(Рисунки)-(Вставить объект. ).
В окне «Вставка объекта» необходимо выбрать «Элемент управления» и Тип объект: 1С.V8.Печать штрих-кодов.
После добавления рисунка к нему можно обратиться программно чтобы задать «ТипКода» и «ТекстКода». Как правило в типовых конфигурациях типы кодов хранятся в плане видов характеристик с наименованием «ТипыШтрихкодов». В конфигурации могут быть готовые функции для получения значения «ТипКода», например ПолучитьЗначениеТипаШтрихкодаДляЭУ().
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Порою в рамках штрихкодирования документов или этикеток на печатную форму 1С 8.2 (8.3) необходимо вывести произвольный штрих-код.
Как это сделать, рассмотрим ниже.
Первым делом нужно создать шаблон будущей печатной формы. Если у Вас возникли трудности с созданием будущего шаблона, прочтите статью создание печатных форм в 1С.
Для вывода штрих-кода обязательно (кроме конфигураций на базе БСП 2 и выше) необходима установка компонента 1С Печать штрих-кода. Найти его можно на диске ИТС или на пользовательском портале 1С.
Вставка штрих-кода на печатную форму 1С
Первый шаг — необходимо создать новый объект — рисунок. Для этого в макете необходимо нажать Таблица — Рисунки — Вставить объект… Система предложит выбрать тип объекта:
Получите 267 видеоуроков по 1С бесплатно:
Нужно выбрать Элемент управления — 1С.V8.Печать штрих-кодов. Допустим, назовём рисунок-объект «Штрихкод». Для программного вывода на печатную форму можно воспользоваться следующим кодом:
В вышеприведенном примере мы вначале получаем тип штрих-кода, потом назначаем рисунку тип штрих-кода и сам штрих-код.
Вот и всё! Установка штрих-кода на печатной форме завершена.
Наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Печать штрих кода 8.3.16.1063
После обновления платформы 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) Тогда
// ВнешняяКомпонента.ВертикальноеВыравниваниеКода = ПараметрыШтрихкода.ВертикальноеВыравнивание;
//КонецЕсли;
Если ПараметрыШтрихкода.Свойство(«РазмерШрифта») И (ПараметрыШтрихкода.РазмерШрифта > 0)
И (ПараметрыШтрихкода.ОтображатьТекст) И (ВнешняяКомпонента.РазмерШрифта <> ПараметрыШтрихкода.РазмерШрифта) Тогда
ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта;
КонецЕсли;
Если ПараметрыШтрихкода.Свойство(«РазмерШрифта») И ПараметрыШтрихкода.РазмерШрифта > 0
И ПараметрыШтрихкода.Свойство(«МонохромныйШрифт») Тогда
// Сформируем картинку
ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();
// Если картинка сформировалась.
Если ДвоичныеДанныеКартинки <> Неопределено Тогда
// Формируем из двоичных данных.
Возврат Новый Картинка(ДвоичныеДанныеКартинки);
КонецЕсли;
Функция ПодключитьВнешнююКомпонентуПечатиШтрихкода() Экспорт
макет = ПолучитьМакет («КомпонентаПечатиШтрихкодов»);
адрес = ПоместитьВоВременноеХранилище( макет );
ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(адрес, «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);
// Создадим объект внешней компоненты.
Если ПодключениеВыполнено Тогда
ВнешняяКомпонента = Новый(«AddIn.КартинкаШтрихкода.Barcode»);
Иначе
Возврат Неопределено;
КонецЕсли;
Возврат ВнешняяКомпонента;
КонецЕсли;
Печать штрихкода в управляемом приложении
Программируя под 8.2, работающем в режиме управляемого приложения, я столкнулся с проблемой печати штрихкода. Для платформы 8.1 и платформы 8.2 в режиме обычного приложения такой проблемы не было: устанавливаем элемент «1С:Печать штрихкодов» в макет и наслаждаемся вертикальными черточками. В режиме управляемого приложения вываливается ошибка:
Код 1C v 8.2 УП
Что же случилось?
Дело в том, что для управляемого приложения внешние компоненты разрабатываются по другой технологии. Пример внешней компоненты для печати штрих-кода в 8.2 есть в демонстрационной конфигурации «Управляемое приложение» в макетах справочника Товары либо в конфигурации «1С:Управление торговлей» версии 11, макеты обработки «Печать этикеток и ценников».
Данная компонента, получив в качестве параметра строку штрихкода, возвращает картинку – штрихкод, которую программисту предлагается поместить в любое удобное место печатной формы.
Теперь как это сделать.
Всего обработок аж четыре штуки:
КомпонентаПечатиШтрихкодовWindows32
КомпонентаПечатиШтрихкодовWindows64
КомпонентаПечатиШтрихкодовLinux32
КомпонентаПечатиШтрихкодовLinux64
Все они загружены в одноименные макеты. Функция, подключающая внешнюю компоненту в зависимости от платформы может выглядеть так:
Код 1C v 8.х
В коде выше все компоненты загружены в макеты обработки «ПечатьЭтикетокИЦенников». В принципе ничто не мешает поместить их в любое иное место. Вызов функции осуществляется командой:
Код 1C v 8.х
Если что-то не получилось – возвращает НЕОПРЕДЕЛЕНО.
Далее опишем функцию, которая, получив данные, сформирует нужную нам картинку с штрихкодом:
Код 1C v 8.х
В данной функции используется автоопределение типа штрихкода командой
Код 1C v 8.х
Можно тип штрихкода указать вручную:
Код 1C v 8.х
Кроме типа штрихкода, компонента имеет ряд других свойств, например ВнешняяКомпонента.ОтображатьТекст, ВнешняяКомпонента.РазмерШрифта и прочие, можно посмотреть в свойствах.
Где Штрихкод – переменная, содержащая строку штрихкода номенклатуры, 50 – требуемая ширина, 30 – высота картинки. В макете размер картинки лучше всего поставить «Реальный размер».
Замечание. Сразу бросается в глаза то, что я вручную указываю размер требуемой картинки – 50 на 30. Возникает вопрос, а нельзя ли размеры требуемой картинки получить из картинки на макете? Конечно можно:
Код 1C v 8.х
К сожалению, цифры получаемые этими командами почему-то слишком малы. Как получить реальный видимый размер картинки я пока не знаю, может кто подскажет?
Источник
- С чем сделать пирожки с дрожжевого теста
- a media driver your computer needs is missing windows 10 что делать