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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.01.2012, 23:34   #1  
Blog bot is offline
Blog bot
Участник
 
25,644 / 848 (80) +++++++
Регистрация: 28.10.2006
QR codes (abbreviated from Quick Response code) are appearing in many different places today, and they are found to be quick and efficient when it comes to working with mobile phones and other devices which can read them. QR Code is a multipurpose instrument and it can hold all sorts of different types of valuable information like your company’s or your salesperson’s contact details, sales invoice information, promotional codes, location information, checksums, amounts, web links etc., which you can read using a QR code reader to automate some of the routine manual processes, like typing in things manually.

The QR code is a two-dimensional data-matrix which can be decoded very fast. The format is clearly defined and published as an ISO standard.

[url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-84-65/5327.qrcode.png"] ) In this example we will encode a contact card with some predefined details.

OBJECT Codeunit 50001 QR Code Mgt.
{
OBJECT-PROPERTIES
{
Date=;
Time=;
Modified=Yes;
Version List=QR Code;
}
PROPERTIES
{
OnRun=VAR
CompanyInfo@1170000004 : Record 2000000006;
SalesInvoiceHeader@1170000003 : Record 112;
TempBlob@1170000002 : Record 99008535;
QRCodeInput@1170000000 : Text[1024];
QRCodeFileName@1170000001 : Text[1024];
BEGIN
// Save a QR code image into a file in a temporary folder
QRCodeInput := CreateQRCodeInput('John,Doe','+555 1231231','john@doe.zzz','www.johndoe.zzz');
QRCodeFileName := GetQRCode(QRCodeInput);
QRCodeFileName := MoveToMagicPath(QRCodeFileName); // To avoid confirmation dialogue on RTC

// Load the image from file into the BLOB field
CLEAR(TempBlob);
ThreeTierMgt.BLOBImport(TempBlob,QRCodeFileName,FALSE);
IF SalesInvoiceHeader.FINDFIRST THEN BEGIN
SalesInvoiceHeader."QR Code" := TempBlob.Blob;
SalesInvoiceHeader.MODIFY;
END;

// Erase the temporary file
IF NOT ISSERVICETIER THEN
IF EXISTS(QRCodeFileName) THEN
ERASE(QRCodeFileName);

MESSAGE('Done!');
END;
}
CODE
{
VAR
ThreeTierMgt@1170000001 : Codeunit 419;

LOCAL PROCEDURE CreateQRCodeInput@1020046(Name@1020000 : Text[80];PhoneNo@1020002 : Text[80];EMail@1020003 : Text[80];URL@1170000000 : Text[80]) QRCodeInput : Text[1024];
BEGIN
QRCodeInput :=
'MECARD:' +
'N:' + Name + ';' +
'TEL:' + PhoneNo + ';' +
'EMAIL:' + EMail + ';' +
'URL:' + URL + ';';
END;

LOCAL PROCEDURE GetQRCode@1020038(QRCodeInput@1020001 : Text[1024]) QRCodeFileName : Text[1024];
VAR
IBarCodeProvider@1020000 : Automation "{89F54BC4-E6C9-44BA-8574-86568625BFF8} 1.0:{9FE38730-1A3C-4B84-A8C2-AFAC6A90E641}:'Microsoft Dynamics Nav MX Services'.IBarCodeProvider";
BEGIN
GetBarCodeProvider(IBarCodeProvider);
QRCodeFileName := IBarCodeProvider.GetBarCode(QRCodeInput);
END;

PROCEDURE GetBarCodeProvider@1020001(VAR IBarCodeProvider@1020000 : Automation "{89F54BC4-E6C9-44BA-8574-86568625BFF8} 1.0:{9FE38730-1A3C-4B84-A8C2-AFAC6A90E641}:'Microsoft Dynamics Nav MX Services'.IBarCodeProvider");
VAR
QRCodeProvider@1020002 : Automation "{89F54BC4-E6C9-44BA-8574-86568625BFF8} 1.0:{69FEA5E6-0A76-4555-B74B-F170956B0098}:'Microsoft Dynamics Nav MX Services'.QRCodeProvider";
BEGIN
IF ISCLEAR(QRCodeProvider) THEN
CREATE(QRCodeProvider,TRUE,TRUE);
IBarCodeProvider := QRCodeProvider;
END;

PROCEDURE MoveToMagicPath@1170000000(SourceFileName@1170000000 : Text[1024]) DestinationFileName : Text[1024];
VAR
FileSystemObject@1170000001 : Automation "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} 1.0:{0D43FE01-F093-11CF-8940-00A0C9054228}:'Windows Script Host Object Model'.FileSystemObject";
BEGIN
DestinationFileName := ThreeTierMgt.ClientTempFileName('','');
IF ISCLEAR(FileSystemObject) THEN
CREATE(FileSystemObject,TRUE,TRUE);
FileSystemObject.MoveFile(SourceFileName,DestinationFileName);
END;

BEGIN
END.
}
}

5. With the image saved in the BLOB field, it is now “business as usual” to add it to a report. You can see, for example, how company logo is added to the standard NAV document reports. NB. Don’t forget to run CALCFIELDS on the "QR Code" field before you display its content. :-)



6. And finally – run the report to see the QR code which you or your customers can scan, for example, with your favorite Windows 7.5 mobile phone:





These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.



Best regards,

Microsoft Dynamics NAV ERM Team

Dmitry Chadayev, Program Manager



Источник: http://feedproxy.google.com/~r/Micro...amics-nav.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 


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

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

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