Страница 15 из 35
Класс для API АТОЛ «Драйвер ККТ версии 10»
Добавлено: 18 Январь 2019, 10:36
Игорь Столяров
Привет всем !
Класс работы с драйвером ККТ АТОЛ 10 на основе JSON заданий.
(форк класса ADMIN'а 2019 г.)
Класс рабочий, в комплекте примеры использования. Любые замечания и дополнения - приветствуются.

В FTP разделе форума создана папка:
/_Books/Atol.KKT со всей сопутствующей документацией.
ВНИМАНИЕ !
Для работы с КМ (кодами маркировки) через JSON задания требуется прошивка ККТ 5.12 и выше (двухлетней давности).
На старых прошивках будет ошибка: Объекту 0x05C1E828 присвоен код ошибки 148 [Ошибка программирования реквизита 1023]
ATOL драйвер 10.x
Добавлено: 16 Июнь 2020, 15:53
SergioRaguzini
Игорь Столяров писал(а): 16 Июнь 2020, 15:33
Зачем Вы тратите своё время на чтение кто чего написал на заборе ?
в Yandex был первый пост в самом верху, думал вот молодцы - сами разобрались и с другими поделились, а оказалось делятся но с ошибками
Прошу не судить строго - не думал, что придется столкнуться с обувью (не мое направление), блин приехал в Ростов отдохнуть а тут звонит давнишняя пользователь, говорит кафе закрыла, буду теперь обувью торговать, хорошо хоть ноут с собой, потому и тыкаюсь впопыхах
Спасибо за ссылку на первоисточник по маркировке (уже читаю)
Игорь, а как Ваше мнение теперь я правильно передаю маркировку?
Спасибо
p.s. пошел в Горизонт, а у вас тут тоже пока тишина с магазинами...
ATOL драйвер 10.x
Добавлено: 16 Июнь 2020, 16:08
Игорь Столяров
SergioRaguzini писал(а): 16 Июнь 2020, 15:53
Игорь, а как Ваше мнение теперь я правильно передаю маркировку?
Не могу сказать.
1. Мне непонятен метод Self.AtolStrToByte(). У Админа такого нет.
2. Если передаётся маркировка строкой на распарс в ФР, то непонятно зачем указание типа маркировки.
Саму убогую идею Вы поняли и реализовали правильно: добавляем в строку разделители сожранные сканером.

Проверяется легко. Если ФР напечатает [M] перед наименованием товара - значит всё OK !
SergioRaguzini писал(а): 16 Июнь 2020, 15:53
пошел в Горизонт, а у вас тут тоже пока тишина с магазинами...
Горизонт у нас считается гламурным торговым центром, там своя публика, они пока ссут ездить на шопинг.
Если скучаете по сочинскому пляжу в августе - съездите в Ашан.

ATOL драйвер 10.x
Добавлено: 16 Июнь 2020, 16:22
SergioRaguzini
Блин
Игорь Столяров писал(а): 16 Июнь 2020, 16:08
Не могу сказать.
1. Мне непонятен метод Self.AtolStrToByte(). У Админа такого нет.
2. Если передаётся маркировка строкой на распарс в ФР, то непонятно зачем указание типа маркировки.
Действительно, что-то не то - это я тупо скопировал из темы выше..., Игорь можно попросить кусок кода передачи маркировки в составе чека (когда Админ представил свой замечательный пример для ДТО-10, там еще небыло маркировки...), тут эта дама насела, а я туплю...
Если скучаете по сочинскому пляжу в августе - съездите в Ашан.
Я на Врубова поеду или в Леруа поеду (я там с запасом затариваюсь, у нас таких магазинов нет)

ATOL драйвер 10.x
Добавлено: 16 Июнь 2020, 16:41
Игорь Столяров
SergioRaguzini писал(а): 16 Июнь 2020, 16:22
попросить кусок кода передачи маркировки
Вы всё правильно делаете, только передаётся обычная строка QRCode, что делает Self.AtolStrToByte() - мне не понятно.
Полистайте тему ниже, мы долго здесь тёрли про передачу маркировки ...
Код: Выделить всё
Self.SetParamBiteArray(LIBFPTR_PARAM_MARKING_CODE,QRCodeDump)
ATOL драйвер 10.x
Добавлено: 16 Июнь 2020, 17:08
SergioRaguzini
Спасибо! Сейчас буду пробовать!
Игорь Столяров писал(а): 16 Июнь 2020, 16:41
...Полистайте тему ниже, мы долго здесь тёрли про передачу маркировки ...

ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 13:53
SergioRaguzini
Привет Всем!
Не проходит у меня в чеке для обуви признак маркированного товара (позиция в чеке регистрируется, а признака М нет)
для передачи маркировки, приходится расширять пример Админа и я добавил в atol.inc следующее:
1. в очередь товара ATOL:Goods добавил поле для кода маркировки
DataMatrix STRING(130)
2. добавил EQUATE
LIBFPTR_PARAM_MARKING_CODE_TYPE EQUATE
LIBFPTR_MCT_OTHER EQUATE
LIBFPTR_PARAM_MARKING_CODE EQUATE
а вот тут, правда, не знаю, должны ли быть просто EQUATE или же EQUATE(....) с некой константой?
при обработке позиции чека и в случее наличии сканированной последовательности, разбираю (спасибо замечаниям Игоря) её, добавляя необходимые разделители ввиде CHR(29):
! сканер "съедает" <FNC1> (который не нужен) и разделители полей GS (символы ASCII 29), поэтому для передачи на кассу, их необходимо снова добавить, поэтому:
! в первый SUB включаем 31 символ с учетом '01' и '21'
! во второй SUB включаем 31 символ с учетом '91'
! в третий SUB включаем 90 символов с учетом '92'
G.DataMatrix = SUB(GLO:DataMatrix, 1, 31) & CHR(29) & SUB(GLO:DataMatrix, 32, 6) & CHR(29) & SUB(GLO:DataMatrix, 38, 90)
в "классический" Atol10.PrintCheck добавил:
If CLIP(QGoods.DataMatrix) <> '' ! передача кода маркировки 17/06/20
!- - - - - - - - - - - - - - - - - - - - - - - -!
SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER)
SELF.SetParamBiteArray(LIBFPTR_PARAM_MARKING_CODE, CLIP(QGoods.DataMatrix))
CLEAR(QGoods.DataMatrix) ! подстраховка в исходное
!- - - - - - - - - - - - - - - - - - - - - - - -!
End !If
При печати чека, маркированная позиция идет как обычная, призанк М не печатается, не могу понять в чем причина, что я делаю неверно.
М.б. сканированный обувной DataMatrix перед отправкой в кассу надо перевести через ASCIIToUnicode в Unicode?
Спасибо
p.s. пр-ру SetParamBiteArray не менял...
!- - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - -!
Atol10.SetParamBiteArray PROCEDURE(LONG lParam, STRING sValue)
!- - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - - = * = - п р о ц е д у р а : - = * = - -!
CODE
IF ~ SELF.FlagLoaded THEN RETURN END
! передаем так же строку
libfptr_set_param_bytearray(SELF.fptr, lParam, ADDRESS(sValue), LEN(sValue))
!. . . . . к о н е ц п р о ц е д у р ы . . . . . .!
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 14:39
finsoftrz
Про обувь не знаю, не моя тема. По табаку и алкоголю у меня выглядит так, как написано ниже. Передается то, что пришло со сканера, без преобразований.
Код: Выделить всё
if SELF.QueueSale.SaleCodeMark<>'' !отправляем маркировку
SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER)
SELF.SetParamByteArray(LIBFPTR_PARAM_MARKING_CODE,clip(SELF.QueueSale.SaleCodeMark))
elsif len(clip(SELF.QueueSale.SaleEgaisMark))=68
SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_EGAIS_20)
SELF.SetParamByteArray(LIBFPTR_PARAM_MARKING_CODE,clip(SELF.QueueSale.SaleEgaisMark))
elsif len(clip(SELF.QueueSale.SaleEgaisMark))=150
SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_EGAIS_30)
SELF.SetParamByteArray(LIBFPTR_PARAM_MARKING_CODE,clip(SELF.QueueSale.SaleEgaisMark))
end
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 14:45
finsoftrz
Код: Выделить всё
ITEMIZE
LIBFPTR_MCT_OTHER EQUATE(0)
LIBFPTR_MCT_EGAIS_20 EQUATE
LIBFPTR_MCT_EGAIS_30 EQUATE
END
Код: Выделить всё
ITEMIZE
LIBFPTR_PARAM_FIRST EQUATE(65536)
LIBFPTR_PARAM_TEXT EQUATE(LIBFPTR_PARAM_FIRST)
LIBFPTR_PARAM_TEXT_WRAP EQUATE
LIBFPTR_PARAM_ALIGNMENT EQUATE
LIBFPTR_PARAM_FONT EQUATE
LIBFPTR_PARAM_FONT_DOUBLE_WIDTH EQUATE
LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT EQUATE
LIBFPTR_PARAM_LINESPACING EQUATE
LIBFPTR_PARAM_BRIGHTNESS EQUATE
LIBFPTR_PARAM_MODEL EQUATE
LIBFPTR_PARAM_RECEIPT_TYPE EQUATE
LIBFPTR_PARAM_REPORT_TYPE EQUATE
LIBFPTR_PARAM_MODE EQUATE
LIBFPTR_PARAM_EXTERNAL_DEVICE_TYPE EQUATE
LIBFPTR_PARAM_EXTERNAL_DEVICE_DATA EQUATE
LIBFPTR_PARAM_FREQUENCY EQUATE
LIBFPTR_PARAM_DURATION EQUATE
LIBFPTR_PARAM_CUT_TYPE EQUATE
LIBFPTR_PARAM_DRAWER_ON_TIMEOUT EQUATE
LIBFPTR_PARAM_DRAWER_OFF_TIMEOUT EQUATE
LIBFPTR_PARAM_DRAWER_ON_QUANTITY EQUATE
LIBFPTR_PARAM_TIMEOUT_ENQ EQUATE
LIBFPTR_PARAM_COMMAND_BUFFER EQUATE
LIBFPTR_PARAM_ANSWER_BUFFER EQUATE
LIBFPTR_PARAM_SERIAL_NUMBER EQUATE
LIBFPTR_PARAM_MANUFACTURER_CODE EQUATE
LIBFPTR_PARAM_NO_NEED_ANSWER EQUATE
LIBFPTR_PARAM_INFO_DISCOUNT_SUM EQUATE
LIBFPTR_PARAM_USE_ONLY_TAX_TYPE EQUATE
LIBFPTR_PARAM_PAYMENT_TYPE EQUATE
LIBFPTR_PARAM_PAYMENT_SUM EQUATE
LIBFPTR_PARAM_REMAINDER EQUATE
LIBFPTR_PARAM_CHANGE EQUATE
LIBFPTR_PARAM_DEPARTMENT EQUATE
LIBFPTR_PARAM_TAX_TYPE EQUATE
LIBFPTR_PARAM_TAX_SUM EQUATE
LIBFPTR_PARAM_TAX_MODE EQUATE
LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY EQUATE
LIBFPTR_PARAM_USER_PASSWORD EQUATE
LIBFPTR_PARAM_SCALE EQUATE
LIBFPTR_PARAM_LEFT_MARGIN EQUATE
LIBFPTR_PARAM_BARCODE EQUATE
LIBFPTR_PARAM_BARCODE_TYPE EQUATE
LIBFPTR_PARAM_BARCODE_PRINT_TEXT EQUATE
LIBFPTR_PARAM_BARCODE_VERSION EQUATE
LIBFPTR_PARAM_BARCODE_CORRECTION EQUATE
LIBFPTR_PARAM_BARCODE_COLUMNS EQUATE
LIBFPTR_PARAM_BARCODE_INVERT EQUATE
LIBFPTR_PARAM_HEIGHT EQUATE
LIBFPTR_PARAM_WIDTH EQUATE
LIBFPTR_PARAM_FILENAME EQUATE
LIBFPTR_PARAM_PICTURE_NUMBER EQUATE
LIBFPTR_PARAM_DATA_TYPE EQUATE
LIBFPTR_PARAM_OPERATOR_ID EQUATE
LIBFPTR_PARAM_LOGICAL_NUMBER EQUATE
LIBFPTR_PARAM_DATE_TIME EQUATE
LIBFPTR_PARAM_FISCAL EQUATE
LIBFPTR_PARAM_SHIFT_STATE EQUATE
LIBFPTR_PARAM_CASHDRAWER_OPENED EQUATE
LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT EQUATE
LIBFPTR_PARAM_COVER_OPENED EQUATE
LIBFPTR_PARAM_SUBMODE EQUATE
LIBFPTR_PARAM_RECEIPT_NUMBER EQUATE
LIBFPTR_PARAM_DOCUMENT_NUMBER EQUATE
LIBFPTR_PARAM_SHIFT_NUMBER EQUATE
LIBFPTR_PARAM_RECEIPT_SUM EQUATE
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH EQUATE
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX EQUATE
LIBFPTR_PARAM_MODEL_NAME EQUATE
LIBFPTR_PARAM_UNIT_VERSION EQUATE
LIBFPTR_PARAM_PRINTER_CONNECTION_LOST EQUATE
LIBFPTR_PARAM_PRINTER_ERROR EQUATE
LIBFPTR_PARAM_CUT_ERROR EQUATE
LIBFPTR_PARAM_PRINTER_OVERHEAT EQUATE
LIBFPTR_PARAM_UNIT_TYPE EQUATE
LIBFPTR_PARAM_LICENSE_NUMBER EQUATE
LIBFPTR_PARAM_LICENSE_ENTERED EQUATE
LIBFPTR_PARAM_LICENSE EQUATE
LIBFPTR_PARAM_SUM EQUATE
LIBFPTR_PARAM_COUNT EQUATE
LIBFPTR_PARAM_COUNTER_TYPE EQUATE
LIBFPTR_PARAM_STEP_COUNTER_TYPE EQUATE
LIBFPTR_PARAM_ERROR_TAG_NUMBER EQUATE
LIBFPTR_PARAM_TABLE EQUATE
LIBFPTR_PARAM_ROW EQUATE
LIBFPTR_PARAM_FIELD EQUATE
LIBFPTR_PARAM_FIELD_VALUE EQUATE
LIBFPTR_PARAM_FN_DATA_TYPE EQUATE
LIBFPTR_PARAM_TAG_NUMBER EQUATE
LIBFPTR_PARAM_TAG_VALUE EQUATE
LIBFPTR_PARAM_DOCUMENTS_COUNT EQUATE
LIBFPTR_PARAM_FISCAL_SIGN EQUATE
LIBFPTR_PARAM_DEVICE_FFD_VERSION EQUATE
LIBFPTR_PARAM_FN_FFD_VERSION EQUATE
LIBFPTR_PARAM_FFD_VERSION EQUATE
LIBFPTR_PARAM_CHECK_SUM EQUATE
LIBFPTR_PARAM_COMMODITY_NAME EQUATE
LIBFPTR_PARAM_PRICE EQUATE
LIBFPTR_PARAM_QUANTITY EQUATE
LIBFPTR_PARAM_POSITION_SUM EQUATE
LIBFPTR_PARAM_FN_TYPE EQUATE
LIBFPTR_PARAM_FN_VERSION EQUATE
LIBFPTR_PARAM_REGISTRATIONS_REMAIN EQUATE
LIBFPTR_PARAM_REGISTRATIONS_COUNT EQUATE
LIBFPTR_PARAM_NO_ERROR_IF_NOT_SUPPORTED EQUATE
LIBFPTR_PARAM_OFD_EXCHANGE_STATUS EQUATE
LIBFPTR_PARAM_FN_ERROR_DATA EQUATE
LIBFPTR_PARAM_FN_ERROR_CODE EQUATE
LIBFPTR_PARAM_ENVD_MODE EQUATE
LIBFPTR_PARAM_DOCUMENT_CLOSED EQUATE
LIBFPTR_PARAM_JSON_DATA EQUATE
LIBFPTR_PARAM_COMMAND_SUBSYSTEM EQUATE
LIBFPTR_PARAM_FN_OPERATION_TYPE EQUATE
LIBFPTR_PARAM_FN_STATE EQUATE
LIBFPTR_PARAM_ENVD_MODE_ENABLED EQUATE
LIBFPTR_PARAM_SETTING_ID EQUATE
LIBFPTR_PARAM_SETTING_VALUE EQUATE
LIBFPTR_PARAM_MAPPING_KEY EQUATE
LIBFPTR_PARAM_MAPPING_VALUE EQUATE
LIBFPTR_PARAM_COMMODITY_PIECE EQUATE
LIBFPTR_PARAM_POWER_SOURCE_TYPE EQUATE
LIBFPTR_PARAM_BATTERY_CHARGE EQUATE
LIBFPTR_PARAM_VOLTAGE EQUATE
LIBFPTR_PARAM_USE_BATTERY EQUATE
LIBFPTR_PARAM_BATTERY_CHARGING EQUATE
LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY EQUATE
LIBFPTR_PARAM_MAC_ADDRESS EQUATE
LIBFPTR_PARAM_FN_FISCAL EQUATE
LIBFPTR_PARAM_NETWORK_ERROR EQUATE
LIBFPTR_PARAM_OFD_ERROR EQUATE
LIBFPTR_PARAM_FN_ERROR EQUATE
LIBFPTR_PARAM_COMMAND_CODE EQUATE
LIBFPTR_PARAM_PRINTER_TEMPERATURE EQUATE
LIBFPTR_PARAM_RECORDS_TYPE EQUATE
LIBFPTR_PARAM_OFD_FISCAL_SIGN EQUATE
LIBFPTR_PARAM_HAS_OFD_TICKET EQUATE
LIBFPTR_PARAM_NO_SERIAL_NUMBER EQUATE
LIBFPTR_PARAM_RTC_FAULT EQUATE
LIBFPTR_PARAM_SETTINGS_FAULT EQUATE
LIBFPTR_PARAM_COUNTERS_FAULT EQUATE
LIBFPTR_PARAM_USER_MEMORY_FAULT EQUATE
LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT EQUATE
LIBFPTR_PARAM_ATTRIBUTES_FAULT EQUATE
LIBFPTR_PARAM_FN_FAULT EQUATE
LIBFPTR_PARAM_INVALID_FN EQUATE
LIBFPTR_PARAM_HARD_FAULT EQUATE
LIBFPTR_PARAM_MEMORY_MANAGER_FAULT EQUATE
LIBFPTR_PARAM_SCRIPTS_FAULT EQUATE
LIBFPTR_PARAM_FULL_RESET EQUATE
LIBFPTR_PARAM_WAIT_FOR_REBOOT EQUATE
LIBFPTR_PARAM_SCALE_PERCENT EQUATE
LIBFPTR_PARAM_FN_NEED_REPLACEMENT EQUATE
LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED EQUATE
LIBFPTR_PARAM_FN_MEMORY_OVERFLOW EQUATE
LIBFPTR_PARAM_FN_OFD_TIMEOUT EQUATE
LIBFPTR_PARAM_FN_CRITICAL_ERROR EQUATE
LIBFPTR_PARAM_OFD_MESSAGE_READ EQUATE
LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION EQUATE
LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION EQUATE
LIBFPTR_PARAM_DEVICE_UPTIME EQUATE
LIBFPTR_PARAM_NOMENCLATURE_TYPE EQUATE
LIBFPTR_PARAM_GTIN EQUATE
LIBFPTR_PARAM_FN_DOCUMENT_TYPE EQUATE
LIBFPTR_PARAM_NETWORK_ERROR_TEXT EQUATE
LIBFPTR_PARAM_FN_ERROR_TEXT EQUATE
LIBFPTR_PARAM_OFD_ERROR_TEXT EQUATE
LIBFPTR_PARAM_USER_SCRIPT_ID EQUATE
LIBFPTR_PARAM_USER_SCRIPT_PARAMETER EQUATE
LIBFPTR_PARAM_USER_MEMORY_OPERATION EQUATE
LIBFPTR_PARAM_USER_MEMORY_DATA EQUATE
LIBFPTR_PARAM_USER_MEMORY_STRING EQUATE
LIBFPTR_PARAM_USER_MEMORY_ADDRESS EQUATE
LIBFPTR_PARAM_FN_PRESENT EQUATE
LIBFPTR_PARAM_BLOCKED EQUATE
LIBFPTR_PARAM_DOCUMENT_PRINTED EQUATE
LIBFPTR_PARAM_DISCOUNT_SUM EQUATE
LIBFPTR_PARAM_SURCHARGE_SUM EQUATE
LIBFPTR_PARAM_LK_USER_CODE EQUATE
LIBFPTR_PARAM_LICENSE_COUNT EQUATE
LIBFPTR_PARAM_DEFER EQUATE
LIBFPTR_PARAM_CAP_54FZ EQUATE
LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL EQUATE
LIBFPTR_PARAM_CAP_PAYMENTS_COUNT EQUATE
LIBFPTR_PARAM_FIRMWARE_CHUNK_SIZE EQUATE
LIBFPTR_PARAM_FIRMWARE_CHUNK_DATA EQUATE
LIBFPTR_PARAM_FN_FLAGS EQUATE
LIBFPTR_PARAM_PRINT_FOOTER EQUATE
LIBFPTR_PARAM_PUBLIC_KEY EQUATE
LIBFPTR_PARAM_MAGIC_NUMBER EQUATE
LIBFPTR_PARAM_SIGN EQUATE
LIBFPTR_PARAM_SOFT_NAME EQUATE
LIBFPTR_PARAM_SESSION_CODE EQUATE
LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT EQUATE
LIBFPTR_PARAM_ETHERNET_DHCP EQUATE
LIBFPTR_PARAM_ETHERNET_IP EQUATE
LIBFPTR_PARAM_ETHERNET_MASK EQUATE
LIBFPTR_PARAM_ETHERNET_GATEWAY EQUATE
LIBFPTR_PARAM_ETHERNET_PORT EQUATE
LIBFPTR_PARAM_ETHERNET_DNS_IP EQUATE
LIBFPTR_PARAM_ETHERNET_DNS_STATIC EQUATE
LIBFPTR_PARAM_STORE_IN_JOURNAL EQUATE
LIBFPTR_PARAM_NEW_PLATFORM EQUATE
LIBFPTR_PARAM_UNIT_RELEASE_VERSION EQUATE
LIBFPTR_PARAM_USE_VAT18 EQUATE
LIBFPTR_PARAM_TAG_NAME EQUATE
LIBFPTR_PARAM_TAG_TYPE EQUATE
LIBFPTR_PARAM_TAG_IS_COMPLEX EQUATE
LIBFPTR_PARAM_TAG_IS_REPEATABLE EQUATE
LIBFPTR_PARAM_SHIFT_AUTO_OPENED EQUATE
LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION EQUATE
LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION EQUATE
LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION EQUATE
LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION EQUATE
LIBFPTR_PARAM_PAPER_NEAR_END EQUATE
LIBFPTR_PARAM_REPORT_ELECTRONICALLY EQUATE
LIBFPTR_PARAM_ACTIVATION_METHOD EQUATE
LIBFPTR_PARAM_KEYS EQUATE
LIBFPTR_PARAM_UIN EQUATE
LIBFPTR_PARAM_VERSION EQUATE
LIBFPTR_PARAM_PUBLIC_KEY_SIGN EQUATE
LIBFPTR_PARAM_CAP_DISABLE_PRINT_REPORTS EQUATE
LIBFPTR_PARAM_REGISTRATION_NUMBER EQUATE
LIBFPTR_PARAM_PIXEL_BUFFER EQUATE
LIBFPTR_PARAM_REPEAT_NUMBER EQUATE
LIBFPTR_PARAM_FIELD_TYPE EQUATE
LIBFPTR_PARAM_MARKING_CODE EQUATE
LIBFPTR_PARAM_CONTAINER_DIRECT_BOOT_VERSION EQUATE
LIBFPTR_PARAM_SCRIPT_NAME EQUATE
LIBFPTR_PARAM_SCRIPT_HASH EQUATE
LIBFPTR_PARAM_RECORDS_ID EQUATE
LIBFPTR_PARAM_USER_SCRIPT_RESULT_1 EQUATE
LIBFPTR_PARAM_USER_SCRIPT_RESULT_2 EQUATE
LIBFPTR_PARAM_USER_SCRIPT_RESULT_3 EQUATE
LIBFPTR_PARAM_USER_SCRIPT_RESULT_4 EQUATE
LIBFPTR_PARAM_USER_SCRIPT_RESULT_5 EQUATE
LIBFPTR_PARAM_IS_USER_SCRIPT EQUATE
LIBFPTR_PARAM_DOCUMENT_NUMBER_END EQUATE
LIBFPTR_PARAM_SHIFT_NUMBER_END EQUATE
LIBFPTR_PARAM_SCRIPT_CODE EQUATE
LIBFPTR_PARAM_SCRIPT_RESULT EQUATE
LIBFPTR_PARAM_SCRIPT_TYPE EQUATE
LIBFPTR_PARAM_WIFI_CONFIG_TIMEOUT EQUATE
LIBFPTR_PARAM_WIFI_DHCP EQUATE
LIBFPTR_PARAM_WIFI_IP EQUATE
LIBFPTR_PARAM_WIFI_MASK EQUATE
LIBFPTR_PARAM_WIFI_GATEWAY EQUATE
LIBFPTR_PARAM_WIFI_PORT EQUATE
LIBFPTR_PARAM_UC_VERSION EQUATE
LIBFPTR_PARAM_UC_AVAILABLE_MEMORY EQUATE
LIBFPTR_PARAM_UC_USED_MEMORY_BY_SUMS EQUATE
LIBFPTR_PARAM_UC_USED_MEMORY_BY_QUANTITIES EQUATE
LIBFPTR_PARAM_UC_LAYER_1 EQUATE
LIBFPTR_PARAM_UC_FLAGS_1 EQUATE
LIBFPTR_PARAM_UC_MASK_1 EQUATE
LIBFPTR_PARAM_UC_LAYER_VALUE_1 EQUATE
LIBFPTR_PARAM_UC_LAYER_2 EQUATE
LIBFPTR_PARAM_UC_FLAGS_2 EQUATE
LIBFPTR_PARAM_UC_MASK_2 EQUATE
LIBFPTR_PARAM_UC_LAYER_VALUE_2 EQUATE
LIBFPTR_PARAM_UC_LAYER_3 EQUATE
LIBFPTR_PARAM_UC_FLAGS_3 EQUATE
LIBFPTR_PARAM_UC_MASK_3 EQUATE
LIBFPTR_PARAM_UC_LAYER_VALUE_3 EQUATE
LIBFPTR_PARAM_UC_LAYER_4 EQUATE
LIBFPTR_PARAM_UC_FLAGS_4 EQUATE
LIBFPTR_PARAM_UC_MASK_4 EQUATE
LIBFPTR_PARAM_UC_LAYER_VALUE_4 EQUATE
LIBFPTR_PARAM_RECEIPTS_COUNT EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_CASH EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_ELECTRONICALLY EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_PREPAID EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_CREDIT EQUATE
LIBFPTR_PARAM_PAYMENTS_SUM_OTHER EQUATE
LIBFPTR_PARAM_TAXES_SUM_VAT20 EQUATE
LIBFPTR_PARAM_TAXES_SUM_VAT120 EQUATE
LIBFPTR_PARAM_TAXES_SUM_VAT10 EQUATE
LIBFPTR_PARAM_TAXES_SUM_VAT110 EQUATE
LIBFPTR_PARAM_TAXES_SUM_VAT0 EQUATE
LIBFPTR_PARAM_TAXES_SUM_NO EQUATE
LIBFPTR_PARAM_CORRECTIONS_COUNT EQUATE
LIBFPTR_PARAM_CORRECTIONS_SUM EQUATE
LIBFPTR_PARAM_FN_COUNTERS_TYPE EQUATE
LIBFPTR_PARAM_FN_DAYS_REMAIN EQUATE
LIBFPTR_PARAM_FREE_MEMORY EQUATE
LIBFPTR_PARAM_FN_MAX_FFD_VERSION EQUATE
LIBFPTR_PARAM_RECEIPTS_SUM EQUATE
LIBFPTR_PARAM_LICENSE_NAME EQUATE
LIBFPTR_PARAM_UNIVERSAL_COUNTERS_FAULT EQUATE
LIBFPTR_PARAM_USE_LICENSES EQUATE
LIBFPTR_PARAM_LICENSE_VALID_FROM EQUATE
LIBFPTR_PARAM_LICENSE_VALID_UNTIL EQUATE
LIBFPTR_PARAM_MARKING_CODE_TYPE EQUATE
LIBFPTR_PARAM_SETTING_NAME EQUATE
LIBFPTR_PARAM_SETTING_TYPE EQUATE
LIBFPTR_PARAM_LAST EQUATE
END
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 14:46
finsoftrz
Можно посмотреть, что приходит в ОФД. Удостовериться, что прошивка и драйвер актуальные.
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 15:15
Игорь Столяров
SergioRaguzini писал(а): 17 Июнь 2020, 13:53
Не проходит у меня в чеке для обуви признак маркированного товара
Согласен с предыдущим сообщением.
Надо начать с проверки версии прошивки ФР и тестового чека с "[M]" из окна настройки драйвера без всяких программ.
Писать программы может каждый, но надо сначала купить прошивку ! (С) АТОЛ
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 15:23
Игорь Столяров
finsoftrz писал(а): 17 Июнь 2020, 14:39
Передается то, что пришло со сканера
А табачка и марки ЕГАИС кодируются в своём формате (не GS1), без разделителя <29> - поэтому всё OK !
LIBFPTR_PARAM_MARKING_CODE_TYPE используется только с методом parseMarkingCode() для РАЗБОРА строки на теги.
Можете закомментировать конструкции типа "SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, …" - ничего не изменится.
(если конечно у Вас не сдельно-премиальная оплата по длине кода)

ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 15:56
finsoftrz
Я так понимаю, LIBFPTR_PARAM_MARKING_CODE_TYPE сейчас вообще не используется. С этими постоянными изменениями у Атола в сети куча устаревших примеров.
ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 17:17
SergioRaguzini
Спасибо за отклики!
Сейчас буду разбираться, отпишусь.

ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 17:55
Игорь Столяров
finsoftrz писал(а): 17 Июнь 2020, 15:56
сейчас вообще не используется
Используется и всегда использовался (по крайне мере с версии драйвера ДККТ 10.4), но именно для разбора строки маркировки по тегам.
В принципе, Ваш вариант ничего плохого-то не делает, просто видно, что Вы дёрнули откуда-то пример и не понимаете как он работает.

От невероятно интересного спора, как в случае с ручной печатью "[M]" в чеках на старых прошивках - сразу отказываюсь !

ATOL драйвер 10.x
Добавлено: 17 Июнь 2020, 18:37
finsoftrz
Очень сложно для понимания, явно они задают, какую маркировку передавать или определяют по содержимому.
По поводу разбора строки по тегам, не поленитесь глянуть пример в доке. Я не просто так написал. И чисто по здравому смыслу, в одном случае мы понимаем, что в содержимом маркировки задано, а в другом нет.
Дто8 в этом году можно использовать без проблем. Единственные, кому деньги платить надо, это штрихи. Они заложили в прошивках проверку допустимых префиксов ктн. Предприниматели, блин...
ПыСы. Мы не спорим, просто обмениваемся информацией, что очень полезно. Спор штука нерациональная. Можно прикаловаться, просто трендеть, снимая напряжение. Или от скуки, с этой пандемией. Если кажется, что с Вами спорят, то либо за Вами наблюдают и изучают, либо тренируются манипулировать Вашим сознанием.
