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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.01.2013, 15:08   #1  
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 Кб, 397 просмотров)
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
За это сообщение автора поблагодарили: perestoronin (1), jonny (4), IvanS (1), someOne (5).
Старый 15.06.2013, 10:07   #2  
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).
Теги
штрихкод

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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, время: 16:38.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.