ТМС:Кассир:Классы:TErrFinder — различия между версиями
Материал из wiki.standart-n.ru
Aleksnick (обсуждение | вклад) (Новая страница: «=TErrFinder= Класс TErrFinder предназначен для поиска ошибок в кассовых документах. ==Находит след…») |
Aleksnick (обсуждение | вклад) |
||
Строка 42: | Строка 42: | ||
</nowiki> | </nowiki> | ||
− | ====Пример | + | ====Пример==== |
<nowiki> | <nowiki> | ||
uses Classes, Zkassa; | uses Classes, Zkassa; |
Текущая версия на 15:38, 1 октября 2014
Содержание
TErrFinder
Класс TErrFinder предназначен для поиска ошибок в кассовых документах.
Находит следующие типы ошибок
0 - Пропуск номера чека 1 - Сумма чека не равна вычисляемой сумме 2 - Сумма чека не равна сумме платежей 3 - Сумма чека не равна сумме позиций 4 - Сумма скидки чека не равна сумме скидки позиций 5 - Сумма чеков не сходится с выручкой 6 - Сумма платежей не сходится с выручкой (отключено) 7 - Сумма наличных продаж/возвратов + сумма внесений/изъятий не сходятся с наличностью 8 - Сумма продаж не сходится со сменным итогом
Методы
FindErrs - метод поиска ошибок по серийному номеру ККМ и номеру смены sSerialNumber - серийный номер ККМ iSessionNumber - номер смены
TErrItem
Класс TErrItem предназначен для доступа к элементам класса TErrFinder - найденным ошибкам.
Свойства
Number - порядковый номер ошибки в коллекции Rank - ранг ошибки: 0 - ошибка по итогам смены, 1 - ошибка в суммах чека, 2 - пропуск номера ItemType - тип ошибки (см.выше 0..8) DocID - doc_id документа с ошибкой ChequeNumber - номер чека с ошибкой DocDate - дата проведения документа с ошибкой IntValue1 - первое сравниваемое значение (integer) IntValue2 - второе сравниваемое значение (integer) CurrValue1 - первое сравниваемое значение (currency) CurrValue2 - второе сравниваемое значение (currency) Desc - описание ошибки AsString - подробное описание ошибки (для вывода на экран такими методами, как MsgBox, ShowMessage)
Пример
uses Classes, Zkassa; var ef: TErrFinder; i: integer; begin ef := TErrFinder.Create; try if ef.FindErrs('3761', 274) = 0 then ShowMessage('Странно, ошибок нет...') else for i := 0 to ef.Count - 1 do ShowMessage(ef[i].AsString); finally ef.Free; end; end;