Параметры:
string(строковое поле)encoding - (" возможные значения : ASCII,UTF8,Unicode") поле указывает тип кодировки , если не заданное, то принимается кодировка текущей рабочей станции.
int (Число) MarginSize - параметр отступа от края; по умолчанию 10
int (Число) ModuleSize - параметр общего размера картинки; по умолчанию 5
string(строковое поле) Scheme - варианты DataMatrix. Возможные значение(DmtxSchemeAscii
DmtxSchemeAsciiGS1
DmtxSchemeAutoBest
DmtxSchemeAutoFast
DmtxSchemeBase256
DmtxSchemeC40
DmtxSchemeEdifact
DmtxSchemeText
DmtxSchemeX12) Значение по умолчанию DmtxSchemeAscii;
string(строковое поле) SizeIdx - еще 1 поле отвечающие за качество и маштаб рисунка ( по умолчанию SquareAuto) возможные значения
(104:104
10:10
120:120
12:12
12:26
12:36
132:132
144:144
14:14
16:16
16:48
18:18
20:20
22:22
24:24
26:26
32:32
36:36
40:40
44:44
48:48
52:52
64:64
72:72
80:80
88:88
8:18
8:32
96:96
RectAuto
ShapeAuto
SquareAuto)
string(строковое поле) DataCode - поле штрихкода( по умолчанию значение Test );
bool (Истина;ложь) SaveToFile - поле отвечающе за тип возвращаемых данных ; По умолчанию ложь;
если истина возвращает место располежения файла Jpeg с результатом ( имя файла формироуется динамически);
если ложь возвращает строку в кодировке base64 в 1с ее можно приобразовать к двоичным данным <<ДвоичныеДанныеКартинки=Base64Значение(Данные);>>.
Методы:
CreateDataMatrixFunction(); - генерирует DataMatrix согласно заданным параметрам.Имя для ком соединения -"CreateDataMatrix.MainDataMatrixCreate";
код на 1с
Гуиды Библиотеки :
2d944d5b-7018-4845-945c-e7d3ce69152a - интерфейс;
720ca81c-9d85-4692-99e4-bb2a15e89ffd - класс реализиующий функциональность интерфейса;
Регистрация :
вместо regsvr32 ( это для ++ библиотек) - C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "Путь к файлу"
пример : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Users\user\Documents\component1c\CreateDataMatrix.dll"
пример 2 : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Users\user\Documents\component1c\CreateDataMatrix.dll" /codebase
Дорегистрация для 64 битного сервера:
1. создаем раздел с именем "{720CA81C-9D85-4692-99E4-BB2A15E89FFD}" в ветке HKEY_CLASSES_ROOT\wow6432node\appid. Для этого раздела создаем строковое свойство "DllSurrogate" с пустым значением.
2. Находим HKEY_CLASSES_ROOT\wow6432node\CLSID\{720CA81C-9D85-4692-99E4-BB2A15E89FFD} и добавляем строковое свойство "AppID" со значением "{720CA81C-9D85-4692-99E4-BB2A15E89FFD}".
где
{720CA81C-9D85-4692-99E4-BB2A15E89FFD} гуид приложения
Как пользоваться:
копируем папку lib из архива в любое место, желательно, чтобы путь к ней не содержал кириллицу.
Регистрируем CreateDataMatrix.dll по аналогии указанной выше.
Пример с папкой lib: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe "C:\Users\user\Documents\lib\CreateDataMatrix.dll" /codebase >>>> это пишется в командной строке от имени администратора.
После этого можно работать как с обычным com объектом в 1С.
Формат картинки всегда Jpeg.
Чувствительности к регистру в значениях параметров во время тестирования замечено не было.
Примеры из 1С:
КомОбъект = новый COMОбъект("CreateDataMatrix.MainDataMatrixCreate");
КомОбъект.encoding = "UTF8";
КомОбъект.DataCode =" ывывывФФФ22333 ";
Данные=КомОбъект.CreateDataMatrixFunction();//при таком использовании в переменной Данные храниться строка Base64 с закодированной //в ней картинкой .
ДвоичныеДанныеКартинки=Base64Значение(Данные);/// преобразуем в двоичные данные
ДвоичныеДанныеКартинки.Записать("C:\Users\User\Desktop\1.Jpeg");// здесь я записываю двоичные данные в файл , но никто вам не мешает //отправить их в макет и т.д аналогично тому как работает типовой механизм в 1с на УФ в новых конфигурациях .
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
КомОбъект = новый COMОбъект("CreateDataMatrix.MainDataMatrixCreate");
КомОбъект.encoding = "UTF8";
КомОбъект.DataCode =" ывывывФФФ22333 ";
КомОбъект.SaveToFile = Истина ;
Данные=КомОбъект.CreateDataMatrixFunction();
//Данные - Содержит путь до файла ;
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
КомОбъект = новый COMОбъект("CreateDataMatrix.MainDataMatrixCreate");
КомОбъект.encoding = "UTF8";
КомОбъект.DataCode =" ывывывФФФ22333 ";
КомОбъект.ModuleSize = 20 ; //увеличивает размер картинки .
КомОбъект.SizeIdx= "88:88"; /// т.к картинка размером 20 велика для такого расширения - как итог произошло дублирование 1 квадрата несколько раз на картинке ( см пример в изображениях).
Данные=КомОбъект.CreateDataMatrixFunction(); // в переменной Данные хранится строка Base64
Проверено на КА 1.1. Толстый клиент , Сервер (64 - бит 1с предприятие ). (PS Скорее всего работает на всех типах клиента ОС Windows);
10.08.19 Добавлен MSI для авто установки . Проверенно на 2 ух серверах, до регистрация для 64 битных серверов происходит автоматически.