WWW.MASH.DOBROTA.BIZ
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - онлайн публикации
 

«данных v. 8 Руководство программиста Руководство программиста от 17.08.2016 Драйвер терминалов сбора данных v.8 [Содержание] Содержание Введение Сокращения Условные обозначения О руководстве ...»

Драйвер

терминалов сбора

данных

v. 8

Руководство программиста

Руководство программиста от 17.08.2016

Драйвер терминалов сбора данных v.8

[Содержание]

Содержание

Введение

Сокращения

Условные обозначения

О руководстве

Описание драйвера

Интерфейс драйвера

Отличия от драйвера версии 6

Обработка ошибок

ResultCode

ResultDescription

RaiseException

Информация о программе

AboutBox ( ) ПоказатьИнформацию ( )

ApplicationHandle

Version

ServerVersion

IsDemo

DriverDescription

Визуальная страница свойств

ShowProperties ( ) ПоказатьСтраницуСвойств ( )

Логические устройства

Свойства текущего ЛУ

AddDevice ( ) ДобавитьУстройство ( )

DeleteDevice ( ) УдалитьУстройство ( )

CurrentDeviceIndex

CurrentDeviceNumber

CurrentDeviceName

DeviceCount

LockDevices

Параметры связи с оборудованием

PortNumber

PortDescription

PortIP

BaudRate

Parity

DataBits

[Содержание] StopBits

DeviceIDStr

Model

MachineName

DeviceEnabled

Чтение и запись данных

BeginReport ( ) НачалоОтчета ( )

EndReport ( ) КонецОтчета ( )

GetRecord ( ) ПолучитьЗапись ( )

Clear ( ) Очистить ( )

BeginAdd ( ) НачатьДобавление ( )



SetRecord ( ) УстановитьЗапись ( )

EndAdd ( ) ЗакончитьДобавление ( )

Delimiter

ReportFieldName

ReportFieldIndex

FieldDataEnabled

FormNumber

ReportParserEnabled

ReportField

ReportRecordCount

ShowProgress

Сервисные функции

CanсelOperation ( ) ПрерватьОперацию ( )

GetDeviceMetrics ( ) ПолучитьПараметрыУстройства ( )

LoadTask ( ) ЗагрузитьЗадачу ( )

ExchangeFormClose ( ) ФормаОбменаЗакрыть ( )

Оставлено для совместимости

WriteTSL(FileName: WideString; DeleteData: WordBool) ЗаписатьЗадачу(FileName:

WideString; DeleteData: WordBool)

Field1. .

. Field16

FormsData

Обработка событий MobileLogistics v.4.x

FinishCustomEvent ( ) ЗавершитьОбработкуСобытия ( )

EventDeviceNumber

Приложение 1. Работа в среде «1С: Предприятие» версий 7.7 и 8.х.

Приложение 2. Использование драйвера – ActiveX элемент

[Содержание] Excel, Access, Word и т.п.

Borland Delphi, С++ Builder

[Введение]

–  –  –

О руководстве Данное руководство программиста является описанием продукта «АТОЛ: Драйвер терминалов сбора данных». При описании подразумевалось, что читатель имеет навыки программирования на одном или нескольких языках для операционных систем: Windows 2000 / 2003 x86 / XP x86 / Vista x86 / 7 x86 / 7 x64 / 8 x86 / 8 x64, а также знаком с используемым оборудованием (на уровне «Руководства по эксплуатации» из его комплекта поставки) .

Ввиду универсальности драйверов не все функциональные возможности оборудования могут быть реализованы в драйвере. Компания АТОЛ всегда стремится к поддержке всех функциональных возможностей конкретной модели оборудования, но оставляет за собой право реализации тех функций, которые считает необходимыми. Все возможности драйвера подробно изложены в данном документе, свободно доступном на сайте компании АТОЛ, с которым можно ознакомиться до приобретения драйвера .



Описание драйвера

–  –  –

компоненту для программ системы «1С: Предприятие». Драйвер может использоваться в любых средах разработки поддерживающих технологию OLE Automation:

1C: Предприятие;

Borland Delphi;

Borland C++ Builder;

Microsoft Visual C++;

Microsoft Visual Fox Pro;

Microsoft Visual Basic;

Приложения Microsoft Office с VBA (Excel, Word, Access и др.);

Navision Axapta и др .

Более подробную информацию о драйверах торгового оборудования и их взаимодействии с оборудованием и программным обеспечением можно найти в документе «АТОЛ: Драйверы торгового оборудования» .

[Интерфейс драйвера] Интерфейс драйвера Интерфейс драйвера состоит из методов и свойств. Все методы представляют собой функции без параметров, возвращающие результат выполнения операции .

Описание метода выглядит следующим образом:

// Язык Pascal function Имя( ) : integer;

// Язык C int function Имя( );

// Язык Basic Function Имя( ) As integer;

Для передачи параметров используются свойства. Фактически, это глобальные переменные драйвера, в которые можно записать или считать значение. Однажды установленное свойство сохраняет свое значение до последующего его изменения или выгрузки самого драйвера .

Рассмотрим функцию «Добавить логическое устройство» (AddDevice), которой необходимо передать название устройства, а результатом работы будет индекс созданного логического устройства .

Функция могла бы выглядеть следующим образом:

// Язык Pascal function AddDevice (Asrt: string) : integer;

// Язык C int AddDevice (char * Astr);

// Язык Basic Function AddDevice (Astr As string) As integer Но в драйвере используются свойства CurrentDeviceName и CurrentDeviceIndex .

Таким образом, вызов этого метода будет выглядеть так:

Если Драйвер.AddDevice ( ) 0 тогда // Сообщение пользователю об ошибке // Выход из программы КонецЕсли;

Драйвер.CurrentDeviceName = “Устройство на COM1”;

Сообщение (“Создано логическое устройство с индексом №” + ЧислоВСтроку(Драйвер.CurrentDeviceIndex);

–  –  –

устанавливать значения только необходимым параметрам (свойствам), а в остальных оставлять последние значения .

Как уже было сказано выше, все методы драйвера являются функциями, возвращающими код результата. Код результата также заносится в свойство ResultCode, а его описание – в ResultDescription. Также, в драйвере реализована работа с «исключительными ситуациями», что делает использование драйвера более удобным .

Подробнее об использовании исключительных ситуаций, кодов ошибок и их описаний см. в разделе «Интерфейс драйвера \ Обработка ошибок» .

При описании интерфейса используются следующие обозначения:





–  –  –

Логическое / Logical Log Целое число, интерпретируемое как «ЛОЖЬ (FALSE)» при значении 0 и «ИСТИНА (TRUE)» в остальных случаях Интерфейс для работы через OLE Automation OLE Отличия от драйвера версии 6 Драйвер версии 8 создавался так, чтобы обеспечить максимальную совместимость с драйвером версии 6, однако были некоторые нюансы, которые потребовали значительного изменения логики работы.

В результате драйвер версии 8 позволяет создавать два типа объектов драйвера:

Драйвер терминала сбора данных v.8 (совместимый с v.6) .

Драйвер терминала сбора данных v.8 .

Первый обеспечивает максимальную совместимость с драйвером 6-й версии, второй – имеет некоторые отличия:

–  –  –

ResultCode Результат Содержит код ошибки, возникшей в результате выполнения последней операции (вызова функции или записи значения в свойство драйвера). Если ошибки не произошло, то значение данного свойства устанавливается в 0 (Ошибок нет) .

Т.е.

ошибки при работе драйвера могут возникать (и, следовательно, свойство ResultCode обновляется) в двух случаях:

При записи значения в свойство .

При вызове метода .

При чтении значения из свойства ошибки не возникают, и свойство ResultCode не обновляется .

Возможны следующие значения:

–  –  –

Порт занят приложением: («\\имя ПК\описание приложения-клиента\описание драйвера») .

-14 Например: Порт занят приложением: «\\Server\1С: Предприятие\Драйвер сканера штрихкода»

–  –  –

ResultDescription ОписаниеРезультата Содержит строку с описанием на русском языке кода ошибки последней выполнявшейся операции (см. столбец «Описание ошибки» в разделе ResultCode) .

См. также: свойство ResultCode .

–  –  –

RaiseException ГенерироватьИсключение Практически все современные средства разработки (Delphi, C++, VB, «1С: Предприятие» и т.д.) поддерживают работу с исключительными ситуациями (исключениями / Exception) .

Используя исключение – можно существенно упростить написание программ .

Свойство RaiseException определяет – генерировать ли исключительную ситуацию при возникновении ошибки (ResultCode 0) или нет .

См. также: свойство ResultCode, ResultDescription .

Попытка Драйвер.Model = 0;

Драйвер.PortNumber = 1;

st Драйвер.DeviceEnabled = True;

Исключение // Выдать сообщение об ошибке КонецПопытки [Интерфейс драйвера] Информация о программе

–  –  –

ApplicationHandle После загрузки драйвера в данное свойство можно записать дескриптор главного окна приложения-клиента. Это предотвратит появление отдельных кнопок в панели задач при отображении визуальной страницы свойств и других окон драйвера. При использовании драйвера в качестве внешней компоненты (для «1С: Предприятие») данное свойство не поддерживается, так как драйвер самостоятельно при загрузке инициализирует свойство корректным значением. При записи значения в данное свойство следует проявлять особую аккуратность, так как запись некорректного значения может привести к нарушениям работы системы .

Version Версия Содержит версию данного драйвера .

ServerVersion ВерсияСервера Свойство содержит версию используемого сервера оборудования. Если сервер не был найден и/или подключен, то свойство принимает значение «недоступна» .

IsDemo БесплатныйРежим Информирует, в каком режиме работает драйвер – бесплатном или платном. Если IsDemo = FALSE, значит, драйвер работает в платном режиме, без всяких ограничений .

Если IsDemo = TRUE, значит, драйвер работает в бесплатном режиме (причиной работы драйвера в бесплатном режиме является отсутствие ключа защиты программы, подробнее см. разделы «Введение \ Условия распространения» и «Введение\Бесплатный режим») .

Свойство IsDemo обновляется драйвером автоматически при установке свойства DeviceEnabled = TRUE, до установки DeviceEnabled свойство IsDemo не имеет смысла .

DriverDescription ОписаниеДрайвера Содержит название драйвера: «Драйвер терминалов сбора данных» .

[Интерфейс драйвера] Визуальная страница свойств ShowProperties ( ) ПоказатьСтраницуСвойств ( ) Данный метод предоставляет возможность работы с драйвером в более удобной и привычной для пользователя форме. Метод выводит на экран визуальную страницу свойств .

Подробнее о странице свойств смотрите в документе «АТОЛ: Драйверы торгового оборудования» .

Логические устройства Логическое устройство – набор свойств драйвера, определяющих параметры связи с оборудованием. Подобных наборов (устройств) одновременно может быть от 1 до 99 штук. Это позволяет, однажды настроив несколько наборов свойств (например: номер порта ПК, скорость обмена данных), быстро применять необходимые параметры, просто переключая устройства .

Номер устройству присваивается автоматически при его создании и изменяться не может. Имя устройства доступно для изменения в любой момент времени .

Драйвер может хранить настройки ЛУ в системном реестре, а также передавать их через свойства DeviceSettings и DevicesSettings .

В случае использования объекта драйвера, совместимого с v.6, все данные о логических устройствах автоматически загружаются из реестра при создании экземпляра драйвера и автоматически сохраняются при разрушении.

Если необходима совместимость с интерфейсом драйвера v.6, но при этом нужно, чтобы приложение, вызывающее драйвер, не обращалось к реестру автоматически, пропишите параметр вида "Произвольное_имя_переменной"="Имя_Приложения" в следующих разделах:

«HKEY_CURRENT_USER\Software\ATOL\Drivers\6.0\AppNotLoadDevices»

или «HKEY_LOCAL_MACHINE\Software\ATOL\Drivers\6.0\AppNotLoadDevices»

–  –  –

Текущее устройство. Устройство, свойства которого доступны в текущий момент для чтения и редактирования. Все методы драйвера работают со свойствами именно этого устройства. Чтобы изменить свойства другого устройства, его необходимо предварительно сделать текущим .

Индекс логического устройства. Порядковый номер устройства в списке существующих логических устройств драйвера. То есть при создании нового логического устройства ему [Интерфейс драйвера] присваивается минимальный свободный номер, а индексы пересчитываются так, чтобы номера шли по порядку. При удалении логического устройства из «середины» списка устройств номера остальных устройств остаются прежними, а индексы изменяются таким образом, чтобы опять получился непрерывный ряд значений .

–  –  –

Выполнение данного метода приводит к созданию нового логического устройства .

Свойствам логического устройства после вызова метода присваиваются значения «по умолчанию», кроме номера и индекса, которые присваиваются автоматически и зависят от уже имеющегося количества логических устройств .

–  –  –

Названия логических устройств используются только для удобства пользовательского выбора .

При добавлении нового логического устройства свойство CurrentDeviceName принимает значение «Без названия» .

–  –  –

Метод предназначен для удаления текущего логического устройства. Необходимо помнить, что нельзя удалить все устройства (должно оставаться хотя бы одно), поэтому при попытке удалить последнее логическое устройство, выводиться сообщение об ошибке с кодом (-8) .

–  –  –

При удалении не последнего ЛУ, текущим становится ЛУ, следующее за удаляемым. При удалении последнего ЛУ, текущим становится ЛУ, предшествующее удаляемому .

–  –  –

При удалении не последнего ЛУ, текущим становится ЛУ, следующее за удаляемым. При удалении последнего ЛУ, текущим становится ЛУ, предшествующее удаляемому .

–  –  –

При удалении не последнего логического устройства, CurrentDeviceName заполняется значением соответствующим следующему за удаляемым .

При удалении последнего логического устройства, свойство принимает значение предыдущего .

–  –  –

CurrentDeviceIndex ИндексТекущегоУстройства Свойство CurrentDeviceIndex содержит индекс текущего логического устройства .

Изменение данного свойства приводит к установке текущим логического устройства с указанным индексом. Если логического устройства с таким индексом не существует, то [Интерфейс драйвера] выдается сообщение об ошибке с кодом (-9), а CurrentDeviceIndex сохраняет значение, содержавшееся до операции присвоения. Для определения количества логических устройств, существующих на данный момент, используйте свойство DeviceCount. Индекс первого логического устройства равен 0, а последнего DeviceCount – 1 .

Иногда нужно обработать все логические устройства. Это можно сделать последовательным присвоением свойству CurrentDeviceIndex значений от 0 до DeviceCount – 1. Если после выполнения такой обработки необходимо восстановить текущее логическое устройство, то для сохранения текущего устройства следует пользоваться свойством CurrentDeviceNumber, а не свойством CurrentDeviceIndex .

При следующей загрузке драйвера соответствие «индекс-номер» может нарушиться, т.е .

можно сказать, что значения этого свойства сохраняются не гарантировано .

См. также: свойства CurrentDeviceName, CurrentDeviceNumber и DeviceCount .

CurrentDeviceNumber НомерТекущегоУстройства

Данное свойство содержит уникальный номер текущего логического устройства. Каждому логическому устройству при создании присваивается уникальный номер из диапазона от 1 до

99. Номер логического устройства выбирается минимально возможным из незанятых .

Изменение этого свойства приводит к установке текущим логического устройства с указанным номером. Если логического устройства с таким номером не существует, то выдается сообщение об ошибке с кодом (-9), а данное свойство сохраняет свое прежнее значение, содержавшееся до операции присвоения .

См. также: свойства и CurrentDeviceName, CurrentDeviceIndex CurrentDeviceNumber .

CurrentDeviceName НаименованиеТекущегоУстройства

Данное свойство содержит название (описание) логического устройства длиной до 20 символов (при попытке записи более длинной строки будет выдано сообщение об ошибке с кодом (-6), и свойство CurrentDeviceName сохранит свое прежнее значение). Название логического устройства используется только для удобного различения устройств между собой. Обычно CurrentDeviceName содержит описание той единицы оборудования, для работы с которой это устройство используется. При создании нового логического устройства свойство по умолчанию принимает значение «Без названия»

См. также: свойства CurrentDeviceIndex и CurrentDeviceNumber .

DeviceCount КоличествоУстройств

–  –  –

См. также: свойства CurrentDeviceIndex и CurrentDeviceNumber .

LockDevices БлокироватьУстройства Драйвер имеет визуальную страницу свойств, с помощью которой, в частности, можно создавать новые, удалять существующие, изменять текущие логические устройства. Иногда требуется запретить подобные действия, оставив возможность наглядного изменения свойств только текущего логического устройства. Этим и управляет данное свойство. Если LockDevices = TRUE, то работа с логическими устройствами при помощи визуальной страницы свойств заблокирована, иначе (LockDevices = FALSE) – разрешена .

Отметим, что методы AddDevice, DeleteDevice и свойства CurrentDeviceName, CurrentDeviceNumber и CurrentDeviceIndex доступны вне зависимости от значения свойства LockDevices .

Фрагмент страницы свойств при различных значениях LockDevices:

–  –  –

См. также: свойства CurrentDeviceName, CurrentDeviceNumber, CurrentDeviceIndex и методы AddDevice, DeleteDevice и ShowProperties .

Параметры связи с оборудованием Свойства

–  –  –

Если в момент записи нового значения в данное свойство DeviceEnabled = TRUE, то драйвер освобождает текущий порт (устанавливает DeviceEnabled = FALSE), изменяет PortNumber и пытается самостоятельно захватить новый порт. Если порт занять не удалось, то DeviceEnabled остается равным FALSE, иначе (порт занять удалось) выставляется DeviceEnabled = TRUE .

См. также, свойство DeviceEnabled .

PortDescription ОписаниеПорта Содержит строку с описанием текущего порта (см. строку «Порт» в разделе PortNumber) .

См. также: свойство PortNumber .

Определяет номер IP-порта, на котором ожидается подключение терминала (при использовании интерфейса TCP/IP) .

См. также, свойство DeviceEnabled .

–  –  –

Задает значение, определяющее номер скорости обмена данными с периферийным устройством по COM-порту (COM-порт, через который производиться связь периферийным устройством указывается через свойство PortNumber) .

–  –  –

Задает значение, определяющее метод контроля четности при работе с периферийным устройством по COM-порту (COM-порт, через который производится связь c периферийным устройством, указывается через свойство PortNumber) .

–  –  –

Список разрешенных значений может меняться в зависимости от типа устройства (см .

свойство Model) .

См. также: свойства PortNumber, BaudRate, DataBits, StopBits, Model и DeviceEnabled .

–  –  –

DataBits БитыДанных Задает значение, определяющее количество бит данных при работе с периферийным устройством по COM-порту (COM-порт, через который производится связь с периферийным устройством, указывается через свойство PortNumber) .

–  –  –

StopBits СтопБиты Задает значение, определяющее количество стоповых бит при работе с периферийным устройством по COM-порту (COM-порт, через который производится связь с периферийным устройством, указывается через свойство PortNumber) .

–  –  –

DeviceIDStr ИДУстройства Свойство задает идентификатор, по которому драйвер опознаёт терминал при работе по интерфейсу USB .

Если используется только один ТСД, можно оставить это свойство пустым, тогда драйвер будет работать с первым найденным устройством .

В случае использования нескольких терминалов удобно заполнять это свойство с помощью кнопки «Закрыть с применением настроек» на странице поиска оборудования .

Если драйвер не находит устройство с заданным идентификатором, возвращается ошибка -18 «Устройство с заданными параметрами не найдено» .

См. также: свойства PortNumber, Model, DeviceEnabled .

модуль. На машине-клиенте (с которой производится обращение к устройству) должны быть установлены и зарегистрированы драйвер и сервисный модуль. На обеих машинах необходимо установить службу DtoSvc .

DeviceEnabled УстройствоВключено Свойство определяет: захватил драйвер порт или нет .

В момент установки свойства (DeviceEnabled = TRUE) драйвер пытается занять порт, а при (DeviceEnabled = FALSE) – освободить .

При захвате порта могут возникнуть ошибочные ситуации: например, когда порт не существует или занят другой программой. При неудачной попытке захвата порта драйвер возвращает ошибку и устанавливает значение DeviceEnabled в FALSE .

При переключении логического устройства порт не освобождается (если он захвачен), это обеспечивает одновременное получение данных от нескольких устройств. Т.е. одновременно у нескольких логических устройств, настроенных на разные порты, может быть установлено свойство DeviceEnabled = TRUE (соответственно, если уже существует логическое устройство, занявшее порт, то занять этот же порт другим логическим устройством не удастся) .

Перед установкой DeviceEnabled = TRUE рекомендуется выставить нужные значения в свойства PortNumber, Parity, BaudRate, DataBits, StopBits. Если использовать визуальную страницу свойств драйвера (что предпочтительнее), то нет необходимости каждый st

–  –  –

Метод выполняет чтение всех данных из памяти терминала в память ПК (буфер драйвера) .

Номер таблицы, из которой считываются данные, задается в свойстве FormNumber. Если свойство ShowProgress содержит TRUE, то при чтении данных из ТСД на экран ПК будет выведено окно с индикатором прогресса .

–  –  –

Количество полей в таблице со считанными данными .

Если модель ТСД возвращает информацию о количестве полей в передаваемой таблице, то st свойство устанавливается равным этому значению. В противном случае свойство принимает максимальное допустимое значение. Для ТСД CipherLab количество полей всегда равно 16 .

–  –  –

Количество записей в таблице, полученной от ТСД .

//Пример организации чтения данных //ТАБЛИЦА – таблица лежащая на форме, где нулевая строка – шапка, //а все остальные – строки с данными .

Процедура ЧтениеДанныхТаблицыИзТСД Начало // Начинаем снятие отчета PDX.BeginReport;

// Количество столбцов получаем из драйвера ТАБЛИЦА.КоличествоКолонок := PDX.ReportFieldCount;

// Заполняем шапку таблицы for I := 0 to PDX.ReportFieldCount - 1 do begin PDX.ReportFieldIndex := I;

ТАБЛИЦА.Ячейка[I, 0] := PDX.ReportFieldName;

end;

// Цикл по записям (строкам) for I := 1 to PDX.ReportRecordCount do begin PDX.GetRecord;

// Цикл по полям (столбцам) for J := 0 to (ТАБЛИЦА.КоличествоКолонок - 1) do begin PDX.ReportFieldIndex := J;



ТАБЛИЦА.Ячейка[J, I] := PDX.ReportField;

end;

end;

// Завершаем снятие отчета PDX.EndReport;

Конец Команда получения очередной записи отчета из буфера драйвера. После ее выполнения данные записи (поля) доступны для чтения. Структура полей (назначение, тип) зависят от формата таблицы терминала, который настраивает пользователь. Поэтому клиентское приложение должно само интерпретировать получаемые данные. При попытке получения записи до начала отчета (BeginReport) или после его закрытия методом EndReport, GetRecord вернет ошибку с кодом (-10) .

–  –  –

Строка с данными текущего поля (индекс поля задается в свойстве ReportFieldIndex) текущей записи .

//ТАБЛИЦА – таблица лежащая на форме, где нулевая строка – // шапка, а все остальные – строки с данными .

// Получаем запись PDX.GetRecord;

// Цикл по полям for J := 0 to (ТАБЛИЦА.КоличествоКолонок - 1) do begin PDX.ReportFieldIndex := J;

ТАБЛИЦА.Ячейка[J, I] := PDX.ReportField;

end;

–  –  –

В данном свойстве задается номер таблицы ТСД, которая будет очищена .

BeginAdd ( ) НачатьДобавление ( ) Метод переводит драйвер в состояние буферизации записей, добавляемых методом SetRecord. Это означает, что все последующие команды записей сохраняют данные во временном буфере (в памяти ПК) и передаются в ТСД только по команде EndAdd. Номер таблицы, в которую добавляются записи, задается в FormNumber .

–  –  –

В данном свойстве задается номер таблицы ТСД, в которую будут добавляться данные .

См. также: методы SetRecord и EndAdd .

SetRecord ( ) УстановитьЗапись ( ) Добавляет запись в таблицу. Поля записи должны быть заполнены до добавления. Значение поля заносится в свойство ReportField, индекс задается свойством ReportFieldIndex .

См. также: методы BeginAdd, EndAdd и свойства ReportField, ReportFieldIndex .

В данном свойстве указывается режим добавления данных ТСД .

Если AddMode = 0, то перед добавлением данных в таблицу будет производиться поиск записей по ключевым полям. Если ключевые поля записи в таблице ТСД соответствуют ключевым полям добавляемой записи, то запись в ТСД будет изменена. Иначе запись будет добавлена .

Если AddMode = 1, то добавление записей в ТСД происходит с предварительным удалением всех записей справочника .

–  –  –

Свойство определяет разделительный символ, использующийся во внутренней структуре данных терминала. Значение свойства – строка из одного символа. Для корректной работы необходимо задать одинаковое значение свойства в ТСД и БД на ПК .

Свойство имеет смысл для следующих моделей ТСД: Cipher CPT-711, CPT-720, CPT-8000, CPT-8300, радиобаза CPT-3510 .

ReportFieldName ИмяПоляОтчета Строка с названием поля. Индекс поля задается свойством ReportFieldIndex. Названия полей обновляются при вызове метода BeginReport .

См. также: метод BeginReport и свойства RecordFieldIndex, ReportFieldCount .

ReportFieldIndex ИндексПоляОтчета

–  –  –

FieldDataEnabled ПолеДанныхВключено Свойство позволяет установить фильтр на поле и используется совместно со свойством ReportFieldIndex .

Перед вызовом метода BeginReport можно указать, следует ли передавать данное поле из ТСД (0 – не передавать поле, 1 – передавать). Перед использованием данного свойство необходимо указать индекс поля (свойство ReportFieldIndex) .

См. также: методы BeginReport, и свойства ReportFieldIndex, ReportFieldCount .

–  –  –

FormNumber НомерФормы В данном свойстве задается номер таблицы ТСД, с которой осуществляется работа .

Возможные значения: 0..99 .

ReportParserEnabled РазбиратьданныеОтчета

Если свойство установлено в TRUE, то:

строковые значения, возвращаемые свойствами ReportFieldName, ReportField будут «обрезаться» после первого символа с кодом 0 (#0), так называемые нультерминированные строки;

в дробных числах разделитель (точка) из терминала заменяется на разделитель, настроенный в системе, при получении и передаче данных. Если FALSE, то будут выдаваться в том виде, в каком данные пришли от ТСД .

Значение свойства по умолчанию = TRUE .

См. также: свойства ReportFieldName, ReportField .

ReportField ПолеОтчета Свойство содержит строку с данными текущего поля текущей записи. Индекс текущего поля задается в свойстве ReportFieldIndex .

См. также: метод GetRecord, свойства ReportFieldIndex .

ReportRecordCount КоличествоЗаписейОтчета Количество записей в отчете, снятом методом BeginReport .

См. также: методы BeginReport и GetRecord .

ShowProgress ПоказатьПрогресс Если данное свойство равно TRUE, то при передаче данных из ТСД в ПК и наоборот, на экран выводится окно с индикатором прогресса .

[Интерфейс драйвера] Сервисные функции CanсelOperation ( ) ПрерватьОперацию ( ) Метод прерывает все операции обмена данными между терминалом сбора данных и ПК .

–  –  –

В свойство заносится версия поддерживаемой универсальной команды определения типа оборудования. Данный драйвер корректно может обрабатывать только версию 1 (на сегодня это последняя версия этой команды) .

Если значение свойства отлично от 1, то содержимое свойств UType, UModel, UMode, UMajorVersion, UMinorVersion, UCodePage, UDescription не будет обновлено изза того, что драйвер не работает с данной версией команды .

–  –  –

В свойство заносится код модели оборудования. Для каждого типа оборудования введено отдельное множество кодов моделей .

В свойстве содержится «кодовая таблица» (код языка), для которого адаптированы все ресурсы устройства. Данный параметр обычно выводится как четвертая составляющая версии устройства .

–  –  –

В свойстве содержится строка, описывающая оборудование. Длина строки может быть произвольной и зависит только от длины названия оборудования, заложенного его разработчиками .

–  –  –

Полное имя файла, т.е. строка, содержащая имя файла и путь к нему .

ExchangeFormClose ( ) ФормаОбменаЗакрыть ( ) Метод передает в терминал команду выхода с формы обмена. Данный метод поддерживается только для ТСД с ОС Windows CE/Windows Mobile и установленным ПО MobileLogistics .

Оставлено для совместимости

–  –  –

Методы WriteTSL(FileName: WideString; DeleteData: WordBool) ЗаписатьЗадачу(FileName: WideString; DeleteData: WordBool) Записывает слинкованный файл задачи (*.tsl) в ТСД Zebex PDL-20 и Z-2030. Файл создается с помощью утилит, входящих в комплект поставки ТСД. В параметре FileName указывается имя файла, параметр DeleteData указывает записывать задачу, если есть данные или нет, запись приводит к удалению данных .

См. также: метод LoadTask и свойство FileName .

Свойства содержат с 1 по 16 поля, соответственно, очередной строки отчета. Свойства заполняются методом GetRecord .

Реальное количество заполняемых полей зависит от настроек ТСД .

См. также: свойства ReportField и ReportFieldIndex .

–  –  –

Данное свойство возвращает интерфейс IFormsData, который позволяет получить доступ к интерфейсу IFormData, позволяющему записать данные в конкретную таблицу и ее в ТСД .

–  –  –

Обработка событий MobileLogistics v.4.x В 1С обработка события ML осуществляется в предопределенной процедуре «ОбработкаВнешнегоСобытия». В других средах разработки (Delphi, C++, VBA и т.п.) следует обрабатывать событие «OnCustomEvent» «АТОЛ: Драйвера терминалов сбора данных» .

Обработчик событий может выполнять различные действия, например, читать/писать/очищать справочники. В конце обработчика события следует заполнить свойства драйвера EventResultCode (РезультатСобытия), EventResultDescription и вызвать метод (РезультатСобытияСтр) FinishCustomEvent (ЗавершитьОбработкуСобытия). Эти параметры будут переданы в функцию ML ОбменОтправитьЗапрос, инициировавшую обмен (подробнее о функции в документе «MobileLogistics: Руководство пользователя») .

В серии программных продуктов «1С: Предприятие" аргументы внешнего события заполняются следующим образом: в параметре Source(Источник) передаётся CustomEvent, st

–  –  –

FinishCustomEvent ( ) ЗавершитьОбработкуСобытия ( ) Метод позволяет передать из обработчика события «CustomEvent» в терминал один числовой и один строковый параметр. Его следует вызывать в конце обработчика события .

–  –  –

Строковый параметр, который следует передать из обработчика события в ТСД по окончании обработки события .

[Обработка событий MobileLogistics v.4.x]

–  –  –

EventDeviceNumber НомерУстройстваСобытия Данное свойство содержит номер логического устройства, пославшего запрос. Свойство принимает значения из диапазона от 1 до 99 .

–  –  –

Процедура ПриНачалеРаботыСистемы() // Загрузка внешней компоненты Если ЗагрузитьВнешнююКомпоненту("C:\Program Files (x86)\ATOL\Drivers8\Bin\ PDX1C.dll") 0 Тогда // Создание объекта Терминал = СоздатьОбъект("AddIn.PDX45");

Сообщить("Объект загружен");

Иначе Сообщить("Внешняя компонента драйвера ТСД не найдена");

КонецЕсли;

КонецПроцедуры Процедура ПриЗавершенииРаботыСистемы() Терминал = 0;// Отсоединение объекта КонецПроцедуры Подключение драйвера происходит в модуле приложения конфигурации для «1С: Предприятие» версии 8.х .

Перем Терминал Экспорт; // Глоб. переменная для работы с драйвером Процедура ПриНачалеРаботыСистемы() Попытка // Загрузка внешней компоненты ЗагрузитьВнешнююКомпоненту("C:\Program Files (x86)\ATOL\Drivers8\Bin\ PDX1C.dll");

Сообщить("Внешняя компонента загружена");

Попытка // Создание объекта Терминал = Новый("AddIn.PDX8");

Исключение Сообщить("Объект не найден!");

[Приложение 1]

–  –  –

Приложение 2 .

Использование драйвера – ActiveX элемент Excel, Access, Word и т.п .

Откройте панель инструментов «Элементы управления» .

Нажмите кнопку «другие элементы» и выберите в списке «АТОЛ: Драйвер терминалов сбора данных v.8 (совместимый с v.6)»

либо «АТОЛ: Драйвер терминалов сбора данных v.8 (совместимый с v.6)» .

Вставьте компонент на лист (форму) .

[Приложение 2] Далее можно работать с драйвером как с ActiveX компонентой .

Через контекстное меню можно отобразить редактор свойств или визуальную страницу свойств драйвера .

Borland Delphi, С++ Builder В среде Delphi ActiveX компоненту «АТОЛ: Драйвер терминалов сбора данных» можно поместить на палитру компонентов .

Выберите пункт «Import ActiveX Control...» в меню «Component»

–  –  –

1. Выберите элемент «АТОЛ: Драйвер терминалов сбора данных v.8»;

2. В поле «Palette Page» укажите страницу палитры, на которую желаете добавить компонент;

3. В поле «Unit dir name» задайте директорию, в которой будет сохранен импортируемый модуль;

4. Нажмите кнопку «Install...» .

5. Укажите имя существующего (закладка «Into existing package») или нового (закладка «Into new package») пакетного файла .

6. Нажмите «Yes» для подтверждения перекомпиляции пакетного файла .

7. Нажмите «OK» в окне сообщения об удачной перекомпиляции .

8. Закройте окно пакетного файла .

9. Нажмите «Yes» для подтверждения сохранения пакетного файла .

После этого на закладке «ActiveX» будут расположены компоненты «TPDX45» и «TPDX8» .

Экземпляры данного компонента имеют обработчик внешних событий – OnDataEvent. Для получения асинхронных событий назначьте обработчик события OnDataEvent для компонента .

[Для заметок] [Для заметок] [Для заметок] [Для заметок] [Для заметок]






Похожие работы:

«Сводка HP 22 All-in-One PC 22-c0030ur Стильный и многофункциональный. Создан для эффективной работы. Этот красивый и мощный моноблок предоставляет объем накопителей, которого хватит всем членам семьи, чтобы решить любую задачу. Будь то работа или развлечения — вы нашли пре...»

«ЮМ. МОГАРИЧЕВ ПЕЩЕРНЫЕ ЦЕРКВИ КА4И-КАЛЬЕНА Проблема хронологий и интерпретации христианской скальной архитектурыгорногоЮго-Западного Крыма в последние годы вновь привлекла внимание исследователей1. Однако, учитывая, что большая часть пещ...»

«АКАДЕМИЯ НАУК СС С Р ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНСТИТУТ ВОСТОКОВЕДЕНИЯ ТЮРКОЛОГИЧЕСКИЙ СБОРНИК ИЗДАТЕЛЬСТВО "НАУКА" ГЛАВНАЯ РЕДАКЦИЯ ВОСТОЧНОЙ ЛИТЕРАТУРЫ МОСКВА 1984 Ц. А. Абуладзе, М. X. Сванидзе РЕЕСТРЫ ТРАПЕЗУНДСКОГО, ЧИЛДЫРСКОГО И КАРССКОГО ЭЯЛЕТОВ 1694—1732 гг. В архивах Болгарии хранятся ценнейшие турецкие документы, относящиеся к Гру...»

«Моей подруге и коллеге, специалисту по мифологии Памеле Джей Смит, помогающей мне пробираться через подтекст моей жизни LINDA SEGER Writing Subtext WHAT LIES BENEATH ЛИНДА СЕГЕР Скрытый смысл СОЗДАНИЕ ПОДТЕКСТА В КИНО Перевод с английского Москва УДК 82-293.7 ББК 85.374.0,4.0 С28 Переводчик М...»

«Дхирендра Брахмачари Йога – сукшма – вьяяма. Простые упражнения для исцеления и очищения тела Пер. с англ, под ред. И. Старых. — К.: "София", 2000. Уникальная книга одного из самых знаменитых знатоков и пропагандисто...»

«СТО-45495387-001-2017 СОДЕРЖАНИЕ 1. ОБЛАСТЬ ПРИМЕНЕНИЯ 1.1 Общие положения 1.2 Определения 2. НОРМЫ, СТАНДАРТЫ И ПРОЕКТНЫЕ ДОКУМЕНТЫ, ОТНОСЯЩИЕСЯ К СТО.. 6 3. ОБЩИЕ ТРЕБОВАНИЯ 4. СИСТЕМЫ ПОКРЫТИЙ Таблица 4.1. Системы по...»

«"К А ТА Л О Г Р У К О П И С Е Н И Ф РА Г М Е Н Т О В Л А Т И Н С К О Г О АЛФ А ВИ ТА. Х Р А Н Я Щ И Х С Я В М А Т Е Н А Д А Р А Н Е ". К А Т А Л О Г С О С Т А В И Л А Л. И. К И С Е Л Е В А Д О Д Р Е Д А К Ц И Е Й П Р О Ф Е С С О Р А А. Д. Л Ю Б Л И Н С К О Й. И зд ательств о АН Арм. С С Р, Е реван, 1980, 126 с. В М атен адаран...»




 
2019 www.mash.dobrota.biz - «Бесплатная электронная библиотека - онлайн публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.