Код: Выделить всё
module('chon100.dll')
SetSupplierCode(*Cstring),Raw,Pascal,Name('SetSupplierCode'),DLL ! код поставщика
ConnectKKM(Long),Long,Raw,Pascal,Name('ConnectKKM'),DLL ! установить связь
DisconnectKKM,Raw,Pascal,Name('DisconnectKKM'),DLL ! разорвать связь
cbSetClearBufMode(Long),RAW,Pascal,Name('cbSetClearBufMode'),DLL ! очистить базу покупок
cbAddSale(*CString,Real,Real,Long),Long,Raw,Pascal,Name('cbAddSale'),DLL ! добавить данные чека
StartWaiting(long),Raw,Pascal,Dll,Name('StartWaiting') !
StopWaiting,Raw,Pascal,Dll,Name('StopWaiting') !
WaitingStatus,Long,Raw,Pascal,Dll,Name('WaitingStatus') !
GetErrorMsg(*cstring),Long,Raw,Pascal,Name('GetErrorMsg'),DLL !
GetErrorCode,Long,Raw,Pascal,Name('GetErrorcode'),Dll ! № ошибки
Feed(Long),Long,Raw,Pascal,Name('Feed'),Dll ! прогон ленты
GetSaleNum(*Long),Long,Raw,Pascal,Name('GetSaleNum'),Dll ! возвращает № следующей покупки
ReadSaleFromKl(Long,*Long,*Long,*Long,*Real),Long,Raw,Pascal,Name('ReadSaleFromKl'),Dll ! типа Z-отчет
CheckRegKass,Long,Raw,Pascal,Name('CheckRegKass'),Dll
GetSaleCountInCBKKM(*Long),Long,Raw,Pascal,Name('GetSaleCountInCBKKM'),Dll
GetKLNum(*Long),Long,Raw,Pascal,Name('GetKLNum'),Dll ! № КЛ
GetNI(*Real),Long,Raw,Pascal,Name('GetNI'),Dll ! Сумма НИ
GetKKMNum(*Long),Long,Raw,Pascal,Name('GetKKMNum'),Dll ! Заводской № ККМ
ClearIndicator,Long,Raw,Pascal,Name('ClearIndicator'),Dll ! Очистить индикатор ККМ
cbAddBottomLine(*CString),Long,Raw,Pascal,Name('cbAddBottomLine'),Dll ! добавляет одну строку в массив строк окончания
cbClearBottom,Raw,Pascal,Name('cbClearBottom'),Dll ! удаления всех строк окончания чека
end
Код: Выделить всё
kkm CSTRING(20) !код поставщика получаешь после покупки
setsuppliercode(kkm)
if connectkkm(lk:kkm_port) <> 1
x# = geterrorcode()
message(x#&' - ConnectKKM ошибка инициализации кассы')
end
Код: Выделить всё
disconnectkkm()
Код: Выделить всё
qZ QUEUE,PRE(qZ)
npp LONG
otd LONG
sum REAL
END
br SHORT
buf GROUP,PRE(buf)
npp LONG
otd LONG
sum REAL
cr LONG
dsc LONG
END
npp LONG
kl LONG
ni REAL
if GetSaleNum(npp) <> 1 !количество покупок в ККМ
x# = geterrorcode()
stop(x#)
end
loop i# = 1 to npp-1 !Чтение покупок в очередь
clear(buf)
buf:npp = i#
if ReadSaleFromKL(buf:npp,buf:otd,buf:cr,buf:dsc,buf:sum) <> 1
x# = geterrorcode()
stop(x#)
else
clear(qZ)
qZ = Buf
add(qZ)
end
end
if GetNI(ni) <> 1 !Необнуляемый итог по кассе
x# = geterrorcode()
stop(x#)
end
if GetKLNum(kl) <> 1 !номер ленты
x# = geterrorcode()
stop(x#)
end
Удачи!
=======================
Алексей И.Латухин
Написал: ClaList(2)