Добавлено: 06 Август 2004, 13:34
				
				Описание используемых функций из DLL
Инициализация ККМ (в начале прог)
Отсоединение от ККМ(в конце прог или для переключ на другую ККМ)
Чтение данных для формирование отчета по кассовой ленте
 
Удачи!
=======================
Алексей И.Латухин
Написал: ClaList(2)
			Код: Выделить всё
       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)