Привет Всем!
Столкнулся с необходимостью прочитать содержимое денежных регистров за смену (в ДТО-8 это так называлось). Из новой документации видимо это стало называться "Счетчики итогов операций".
Для реализации метода fnQueryData пришлось чуть расширить базовый функционал
Админа (еще раз, хочу выразить ему благодарность за эту большую работу), для чего добавил используя аналогию с
query_data (хотя, м.б. это не верно?) следующее:
в файл
atol.inc :
! Счетчики итогов операций:
LIBFPTR_FNDT_TOTALS EQUATE
LIBFPTR_PARAM_FN_COUNTERS_TYPE EQUATE
LIBFPTR_FNCT_SHIFT EQUATE
LIBFPTR_PARAM_RECEIPTS_COUNT EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_CASH EQUATE
в файл
procedure_eq.clw:
_libfptr_fn_query_data_ LONG,STATIC,NAME('libfptr_fn_query_data')
cstr_libfptr_fn_query_data CSTRING('libfptr_fn_query_data')
в файл
load_procedures.clw:
_libfptr_fn_query_data_ = ATOL_GetProcAddress(SELF.DllHandle, cstr_libfptr_fn_query_data) ! 27/11/19
IF NOT _libfptr_fn_query_data_
SELF.FlagLoaded = FALSE
BREAK
END
в
локальных процедурах:
Atol10.fnQueryData PROCEDURE()!,LONG,PROC ! Счетчики итогов операций 27/11/19
CODE
IF ~ SELF.FlagLoaded THEN RETURN LIBFPTR_ERROR END
RETURN libfptr_fn_query_data(SELF.fptr)
!. . . . . к о н е ц п р о ц е д у р ы . . . . . .!
Пытаюсь получить результат:
ATOL.SetParamInt(LIBFPTR_PARAM_FN_DATA_TYPE , LIBFPTR_FNDT_TOTALS)
ATOL.SetParamInt(LIBFPTR_PARAM_RECEIPT_TYPE , LIBFPTR_RT_SELL) ! по чекам прихода
ATOL.SetParamInt(LIBFPTR_PARAM_FN_COUNTERS_TYPE, LIBFPTR_FNCT_SHIFT) ! сменные счетчики
ATOL.fnQueryData()
LOC:uint_Receipts = ATOL.GetParamInt(LIBFPTR_PARAM_RECEIPTS_COUNT)
LOC:cashSum = ATOL.GetParamDouble(LIBFPTR_PARAM_PAYMENTS_SUM_CASH)
MESSAGE('Общее количество чеков (включая коррекции): ' & LOC:uint_Receipts & |
'|Сумма наличных оплат чеков прихода: ' & LOC:cashSum)
Компилируется все без ошибок но результаты по нулям (хотя чеки прихода пробивал)...
Тестирую на АТОЛ-11Ф, но видимо, либо я где-то здесь допустил ошибку, а может быть эта функция пока еще в ДТО-10 глючит...
Некоторые функции, например Гудок, Чтение и запись данных в ККТ (раньше это были "Таблицы") и т.д. все работает нормально, а вот тут не работает...
Если кто-то сталкивался, прошу совета
Спасибо