AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2012, 10:52   #21  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Получил ответ. Одна и та же этикетка по одному и тому же артикулу при печати на обычный лазерник на бумагу формата А4 штрих-код читается, при печати на Datamax - штрих-код не читается. В данном случае, речь идет о печати отчета Axapta, который изначально разрабатывался для печати на бумагу формата А4.
Т.е. при печати происходит масштабирование?

Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Это как? В смысле, каким образом наличие сплошной полосы определяет факт битости головки?
Фактом наличия разрывов при печати

Но, для приведенной этикетки, таким индикатором можно считать подчеркивание в наименовании.
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 11:01   #22  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Кстати, а точно на рисунке EAN13?

Для приведенного ш/к контрольный разряд должен быть 0, а не 9
Для проверки можно воспользоваться Онлайн Генератор Штрихкодов.
Там можно заодно увидеть его изображение
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 11:01   #23  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Т.е. при печати происходит масштабирование?
Нет. Печать "как есть". Т.е. ничего специально не масштабируется. Просто на листе А4 в отчете Axapta располагается 4 этикетки вдоль стороны 210мм. Как Datamax эти 4 штуки располагает у себя - не знаю, но пока это не важно, поскольку не читается штрих-код.

Есть такая этикеточная бумага как раз на листах формата А4. Вот под нее отчет Axapta и "затачивался".

Цитата:
Сообщение от AndyD Посмотреть сообщение
Фактом наличия разрывов при печати Но, для приведенной этикетки, таким индикатором можно считать подчеркивание в наименовании.
Ну, на картинке видно, что в линиях есть мелкие разрывы. Хотя не уверен, что это так уж существенно. Ведь печать этикеток складской программой идет без проблем и штрих-коды читаются.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 10.04.2012, 11:13   #24  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Ну, на картинке видно, что в линиях есть мелкие разрывы. Хотя не уверен, что это так уж существенно. Ведь печать этикеток складской программой идет без проблем и штрих-коды читаются.
Насколько я могу судить по рисунку, головка в нормальном состоянии

Просто, при наличии индикаторной линии, когда печатаешь подряд несколько этикеток, если на всех в одном и том же месте разрыв - это прекрасный показатель проблем с головкой

Но это так, мысли вслух
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 11:13   #25  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Кстати, а точно на рисунке EAN13?

Для приведенного ш/к контрольный разряд должен быть 0, а не 9
Для проверки можно воспользоваться Онлайн Генератор Штрихкодов.
Там можно заодно увидеть его изображение
Точно EAN13. И на конце должны быть 9. По приведенной ссылке если последний знак не указывать как раз и сформирует контрольный разряд 9. Сам штрих-код в данном случае - это значение 5051126700089

Проблема в том, что штатный алгоритм расчета контрольного разряда в Axapta barcode.insertModulo10CheckDigit() определяет четные и не четные позиции считая справа на лево. С конца строки. Это означает, что если общее количество символов НЕ четное, то все в порядке, но если общее количество символов четное, то происходит "сдвиг" алгоритма. Поэтому прежде, чем передать ему значение для контроля надо сделать количество символов нечетным. Или переписать алгоритм, чтобы он читал строку слева-направо.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 10.04.2012, 11:17   #26  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Точно EAN13. И на конце должны быть 9. По приведенной ссылке если последний знак не указывать как раз и сформирует контрольный разряд 9. Сам штрих-код в данном случае - это значение 5051126700089
Мне показалось, что там не шестерка, а пятерка. Нечетко пропечаталось
Прошу пардону
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 11:21   #27  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Если сравнить визуально то, что у вас пропечаталось на этикетке и то, что выдает онлайн-генератор, то видно, что на этикетке не хватает последних двух штрихов.

Возможно, проблемы с масштабированием, либо, с отведенным местом под код штрих-кода
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 11:45   #28  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Если сравнить визуально то, что у вас пропечаталось на этикетке и то, что выдает онлайн-генератор, то видно, что на этикетке не хватает последних двух штрихов.

Возможно, проблемы с масштабированием, либо, с отведенным местом под код штрих-кода
Хм... Действительно... Причем при печати на А4 последние штрихи пропечатываются нормально. "Искажение" произошло только в отношении размера штрих-кода. Причем это не масштабирование. Просто длина объекта оказалась меньше, чем при печати в Axapta. Тупо обрезан правый край "картинки" штрих-кода. Такое случается при печати на разных принтерах. В смысле, когда дизайн разрабатывался под один драйвер принтера, а реальная печать идет на другой. Надо просто чуть увеличить длину объекта. Обычно речь идет буквально об 1..2 пикселах или точках.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 10.04.2012, 11:59   #29  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Ну, в таких случаях лучше не экономить на пикселах
Тем более, что слева-справа еще много свободного места есть
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2012, 12:10   #30  
dima123 is offline
dima123
Участник
 
41 / 12 (1) ++
Регистрация: 05.01.2012
http://generator.onbarcode.com/onlin...generator.aspx
vot KAKOI EAN13 generitsa vas EAN 505112670008 malenko *#**#**#**#*oi
v AXAPTE 3.0 takoi ze poluchil , daza schitivaetsa Android BarcodeScanner s ekrana
Старый 10.04.2012, 17:13   #31  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Ну, в таких случаях лучше не экономить на пикселах
Тем более, что слева-справа еще много свободного места есть
Добавил пару миллиметров на длину объекта штрих-кода в отчете. Теперь и при печати на Datamax сканер нормально распознает штрих-код. Значит, пока сосредоточусь на обычном отчете Axapta. Пока на этом, думаю, дискуссию можно закрыть
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 18.04.2012, 10:29   #32  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
покажите для сравнения что печатает лазерный принтер. для EAN баркод какой-то короткий. попробуйте уменьшить шрифт поля на отчёте, может заключительная последовательность не влезла.

а ещё сходите сюда http://www.terryburton.co.uk/barcodewriter/generator/
и сверьте с тем, что у вас получилось.
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 18.04.2012, 13:01   #33  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
мы в свое время делали след связку с принтером этикеток от Интермек ...
1. формировали файл на внутреннем языке интермека
2. отправляли на ftp принтера сформированный файл - кот сразу принимался интермеком для исполнения и с бешенной скоростью выскакивало необходимое кол-во этикеток ...

в приведенном Вами принтере, по моему, есть поддержка DPL (Datamax Programming Language), на этом языке можно написать кусочек программки кот будет заниматься печатью...
Старый 19.04.2012, 02:23   #34  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
Цитата:
Сообщение от f18 Посмотреть сообщение
мы в свое время делали след связку с принтером этикеток от Интермек ...
1. формировали файл на внутреннем языке интермека
2. отправляли на ftp принтера сформированный файл - кот сразу принимался интермеком для исполнения и с бешенной скоростью выскакивало необходимое кол-во этикеток ...

в приведенном Вами принтере, по моему, есть поддержка DPL (Datamax Programming Language), на этом языке можно написать кусочек программки кот будет заниматься печатью...
я так делал, только по-другому. можно модифицировать стандартный аксаптовский отчёт так, чтобы его часть воспринималась принтером как управляющая последовательность. при этом принтер печатает то, что запрограммировано, и пустую этикетку после этого. мы печатали за каждый раз по 100-150 этикеток, поэтому одна пустая это не страшно. можно программно также заставлять принтер отматывать эту этикетку обратно (для EPL принтеров мне удалось это сделать, а для ZPL Intermec DPL почему-то нет). в нашем случае это был единственный вариант, потому что нужно было делать двухмерные баркоды, а их обычным отчётом не нарисуешь без стороннего софта.

но в данном случае я не знаю, как запрограммировать принтер печатать русские буквы.
__________________
our sharp bitter vitriol is not that of the vulgar.
Старый 16.05.2016, 18:32   #35  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Добрый день!
Подскажите а что с Datamax - i 4212. Он же вроде поддерживает ZPL?
Я написал простейший класс на java для проверки но что то ноль эмоций - принтер не реагирует:
Код
X++:
ackage com.company;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

/**
 * Created by joe on 5/16/16.
 * Test to print ZPL to Datamax I-4212
 */
public class PrintToDatamax {

    public static void main(String[] args) throws IOException {
        System.out.println("Готовлю к печати");
        try(Socket s = new Socket("10.2.2.30", 9100)){
            OutputStream out = s.getOutputStream();
            PrintWriter writer = new PrintWriter(out, true);
            String ZPLString="^XA^CF0,89^FO20,50^FDA GUIDE TO^FS^FO20,150^FDTHE ZPL II^FS^FO20,250^FDPROGRAMMING^FS^FO20,350^FDLANGUAGE^FS^XZ";
            writer.println(ZPLString);
            writer.flush();
            System.out.println("Отправил на печать");
        }
    }

}
Старый 17.05.2016, 09:48   #36  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Код рабочий. Всем спасибо. Надо на принтере включить функцию PL-Z. Однако вот на двух моих старых принтерах 4208 4212 этой возмоности нет. На новом - есть. Там все работает. На старых только DPL (: ПОпробую узнать по поводу обновления.
Теги
печать, печать на принтер, печать этикеток, штрихкод

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать самих файлов PDF Владимир Максимов DAX: База знаний и проекты 9 17.08.2017 10:34
Отчеты и печать штрих кода KingPeas DAX: Программирование 18 24.09.2008 14:31
Печать документов по Заказам, Закупкам Swetik DAX: Функционал 8 11.04.2008 20:07
Печать рисунка на принтере из Аксапты wolfstein DAX: Программирование 4 17.03.2008 16:17
Фактура не выходит на печать... dmit1606 DAX: Функционал 1 05.04.2005 16:10
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:03.