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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2009, 08:21   #1  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Axapta и PDF417
Добрый день!
Возникла необходимость использования штрих-кода PDF417.
Не подскажите есть ли готовое решение, позволяющее печатать такие штрих-кода, или придеться искать dll?
Старый 28.02.2011, 16:01   #2  
andrewK is offline
andrewK
Участник
 
45 / 22 (1) +++
Регистрация: 03.11.2005
Добрый день.
Подниму тему. Какие dll можно использовать при печати двумерного штрих-кода в Аксапте?
И как сделать отчет в Аксапте (report) содержащий двумерный штрих-код?
Старый 28.02.2011, 16:12   #3  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
ActiveBarcode.DAX поддерживает Active X компоненты, так что просто поищите бесплатные для печати ШК. Большинство подобных компонент поддерживает и 2х мерники.

С Уважением,
Георгий
За это сообщение автора поблагодарили: andrewK (1).
Старый 28.02.2011, 17:12   #4  
KindDog is offline
KindDog
Участник
 
28 / 36 (2) +++
Регистрация: 13.07.2005
Адрес: Москва
Post Двухмерный код
Если по-модному, по-современному - то надо QR-code использовать.
Вот ссылка на либу http://www.codeproject.com/KB/cs/qrcode.aspx.
Когда-то с ней ковырялся, но потом не пригодилось. Может кому пригодится.
За это сообщение автора поблагодарили: andrewK (1).
Старый 01.03.2011, 07:12   #5  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Цитата:
Сообщение от andrewK Посмотреть сообщение
Какие dll можно использовать при печати двумерного штрих-кода в Аксапте?
Мы используем утилиту PDF417 Font Kid. Работает без проблем
За это сообщение автора поблагодарили: andrewK (1).
Старый 01.03.2011, 12:50   #6  
andrewK is offline
andrewK
Участник
 
45 / 22 (1) +++
Регистрация: 03.11.2005
Я правильно понимаю, что механизм печати идентичен печати одномерного кода?
Вначале строка преобразуется в набор символов, а затем с помощью шрифтов отображается в виде двумерного штрих-кода?
Старый 01.03.2011, 13:10   #7  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Есть несколько механизмов. Без контрольной цифры - можно печатать хоть шрифтом (например Code39). Как только нужно рассчитывать контрольную сумму - все, ActiveX.
В последнем случае, с помощью компоненты все равно, что печатать - EAN 13 или PDF417. Только одно но: EAN13 может быть фиксирован по ширине, а вот размеры I2/5, Code XX, и PDF417 зависят от кол-ва информации.

С Уважением,
Георгий
Старый 21.04.2011, 10:59   #8  
andrewK is offline
andrewK
Участник
 
45 / 22 (1) +++
Регистрация: 03.11.2005
Чем закончились изыскания...

Решил использовать штрих-код PDF417. С QRCode не стал связываться, т.к. он формируется картинкой, а я не представляю как использовать картинки со штрих-кодом в отчетах Аксапты (именно встроенных отчетах Report).

Здесь нашел dll-ку, которая работает без 1С. У нее только один метод pdf417(_Chaine, _secu, _nbcol, _CodeErr), который возвращает закодированную информацию.
Затем для закодированного текста применяем шрифт PDF417 (см. вложение).
DLL-ку можно "прикрутить" в Аксапту с помощью мастера интерфейсных классов для объектов COM (COM Class Wrapper Wizard).

И затем получившимся классом пользоваться для кодирования текста и помещения его в отчеты.
Вложения
Тип файла: rar Source.rar (37.8 Кб, 305 просмотров)
Тип файла: zip pdf417_Barcode.zip (1.4 Кб, 312 просмотров)
За это сообщение автора поблагодарили: Vadik (1), George Nordic (5), AvrDen (1).
Старый 18.12.2012, 12:31   #9  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 513 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
По теме, нашел свободный проект http://zint.github.com/
Есть командная строка, много опций, пакетная работа из файла, установщик и справка. Генерирует баркод в png нужного размера. Написан на С под VS, можно использовать в собственных разработках, там каждый код идет отдельным файлом. Для одного PDF417 может и слишком будет, но если нужна поддержка разных 2D штрихкодов - то что нужно.

Поддержка кодов:
PHP код:
Code 11Standard Code 2 of 5IATA Code 2 of 5Industrial Code 2 of 5,
Interleaved Code 2 of 5Code 2 of 5 Data LogicITF-14Deutche Post
Leitcode
Deutche Post IdentcodeUPC-AUPC-EEAN-2EAN-5EAN-8,
EAN-13UK PlesseyMSI PlesseyTelepen AlphaTelepen NumericCode 39,
Extended Code 39Code 93PZNCode 23LOGMARSCodabarPharmacodeCode
128
EAN-128NVE-18Code 16kPDF417MicroPDF417Two-Track Pharmacode,
PostNetPLANETAustralia Post 4-State SymbolsRM4SCCUSPS OneCodeGS1
DataBar
DataBar-14DataBar LimitedDataBar ExtendedDataBar Stacked,
Composite SymbologyData MatrixQR CodeMaxicodeAztec CodeEAN-13,
Micro QRKorea Post BarcodeHIBC Code 128HIBC Code 39HIBC Data Matrix,
HIBC PDF417HIBC MicroPDF417HIBC QR CodeHIBC Aztec CodeJapanese Postal
Code
Code 49Channel CodeCode OneGrid MatrixFIM and Flattermarken
Распостраняется под лицензией GNU 3.0 (GPLv3)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: perestoronin (1), virhundo (1), mnt_dx (2).
Старый 19.12.2012, 10:45   #10  
virhundo is offline
virhundo
Участник
 
33 / 16 (1) ++
Регистрация: 29.03.2007
Вот ещё в догонку пара ссылок:
http://strokescribe.com - недорогой компонент от русскоязычного разработчика
www.barcodetools.com - одномерные штрихкоды можно получить из консольного приложения в виде картинки и просто обрезать ту область, где идёт надпись "демо". Полезно,например, для вставки штрихкода в Excel в виде картинки, если у конечного пользователя файла не установлены нужные шрифты.
Старый 18.01.2013, 15:08   #11  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от andrewK Посмотреть сообщение
Решил использовать штрих-код PDF417. С QRCode не стал связываться, т.к. он формируется картинкой, а я не представляю как использовать картинки со штрих-кодом в отчетах Аксапты (именно встроенных отчетах Report).
Вот готовое решение работы с матричным(двумерным) штрихкодированием в Аксапте (QRCode). В проекте подготовлен класс-обертка и пример работы QRCode на стандартном отчете.
1)Прикручиваем dll к \References.
2)Компилируем проект.
3)Запускаем отчет.
Сборка сделана на C#.
Вложения
Тип файла: zip QrCode.zip (923.7 Кб, 394 просмотров)
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
За это сообщение автора поблагодарили: perestoronin (1), jonny (4), IvanS (1), someOne (5).
Старый 15.06.2013, 10:07   #12  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 423 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от Pustik Посмотреть сообщение
Вот готовое решение работы с матричным(двумерным) штрихкодированием в Аксапте (QRCode). В проекте подготовлен класс-обертка и пример работы QRCode на стандартном отчете.
1)Прикручиваем dll к \References.
2)Компилируем проект.
3)Запускаем отчет.
Сборка сделана на C#.
Спасибо за пример! Решение прекрасно работает.

Но есть одна проблема.

Чтобы не устанавливать этот компонент на каждое клиенское рабочее место сделал исполнение кода класса на сервере.

Но так как класс Image работает только на клиенте, получить картинку с qr кодом в виде Аксаптовского е container оказалось не просто.

Сохранять картинку в виде временного файла, а затем читать его - не совсем производительное решение.

В итоге решение навеяло одна из последних тем форума.

Привожу код - может кому пригодится.
На выходе имеем container, который можно использовать для вывода картинок с qr кодом в любые отчеты Аксапта.

X++:
static container encode(str _encoding)
{
    System.IO.MemoryStream  memoryStream;
    System.Drawing.Bitmap   bitmap;
    container               ret;
    str                     tmpBuffer;
    
    int encodeMode = 2;
    int scale =2;
    int version = 4;
    int errorCorrect = 3;
    
    ThoughtWorks.QRCode.Codec.QRCodeEncoder qrCodeEncoder;
    ;
    if (!_encoding)
        throw error('Нет данных для кодирования!');

    new InteropPermission(InteropKind::ClrInterop).assert();

    qrCodeEncoder = new ThoughtWorks.QRCode.Codec.QRCodeEncoder();

    try
    {
        qrCodeEncoder.set_QRCodeEncodeMode(EncodeMode);
        qrCodeEncoder.set_QRCodeScale(Scale);
        qrCodeEncoder.set_QRCodeVersion(Version);
        qrCodeEncoder.set_QRCodeErrorCorrect(ErrorCorrect);

        bitmap = QRCodeEncoder.Encode(_encoding);

        memoryStream = new System.IO.MemoryStream();

        bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat::get_Bmp());

        
        tmpBuffer = CLRInterop::staticInvoke("System.Convert", "ToBase64String", memoryStream.GetBuffer());

        ret = binData::loadFromBase64(tmpBuffer);
        
        bitmap.Dispose();

        memoryStream.Close();
        memoryStream.Dispose();
    }
    catch (Exception::CLRError)
    {
        throw error(AifUtil::getClrErrorMessage());
    }

    return ret;
}
За это сообщение автора поблагодарили: Pustik (3), jonny (4).
Старый 21.02.2014, 14:14   #13  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Библиотека хорошая. Только с кириллицей как её подружить?
Старый 24.02.2014, 09:45   #14  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Извиняюсь за повторно заданный вопрос, но всё же...Кто как выводить текст с кириллицей? Эта библиотека выводит не пойми что. Менял кодировку и на Ascii и на UTF8, толку нет. В 8-мом rollap-е появилась возможность выводить стандартными средствами QR код. но опять таки без кириллицы. Кто как выходит из ситуации?
Старый 24.02.2014, 12:05   #15  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Насколько я помню, 417 ранее кодировал только 127 символов. Куда там кириллицу?

С Уважением,
Георгий
Старый 24.02.2014, 13:07   #16  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Возможно Вы правы, но сейчас в различных генераторах QR кодов я без особых проблем зашивал русские тексты. И что не мене важно без проблем считывал.
Старый 26.02.2014, 16:20   #17  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Надо подправить немного исходники длл-ки,и сделать новую длл-ку, мой коллега это делал, но где у него они остались надо поискать.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 26.02.2014, 16:59   #18  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Цитата:
Сообщение от Pustik Посмотреть сообщение
Надо подправить немного исходники длл-ки,и сделать новую длл-ку, мой коллега это делал, но где у него они остались надо поискать.
Был бы очень признателен если удастся найти её
Старый 26.02.2014, 17:01   #19  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Я попробую, выйду на работу только в понедельник. Сейчас в отпуске.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 08.05.2014, 09:51   #20  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от raniel Посмотреть сообщение
Был бы очень признателен если удастся найти её
Доброе утро. К сожалению руки все никак не доходили. У коллеги на компьютере не удалось найти. Вот переделанная dll на Unicode. Правда надо отметить, что количество символов кодируемого текста будет влиять на результат выполнения. Слишком длинные тексты при простых параметрах кодироваться не будут. Для этого надо поиграться этими параметрами по умолчанию (в методе setParmDefault()), а именно Version и ErrorCorrect. При длинных текстах Версию надо увеличивать, а Степень защищенности уменьшать.
Вложения
Тип файла: zip ThoughtWorks.QRCodeUnicode.zip (921.2 Кб, 359 просмотров)
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
За это сообщение автора поблагодарили: raniel (1), kit22 (1).
Теги
штрихкод

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dynamicsaxtraining: Axapta Training Introduction Blog bot DAX Blogs 0 12.11.2009 17:05
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 22.11.2006 15:20
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.