![]() |
#24 |
Участник
|
Интегрировали Аксапту с фискальным регистратором FPrint-02K.
1) Покупаете фискальный регистратор FPrint-02K (это принтер с фискальной памятью), http://www.atol.ru/products/fr/fprint/. Регистратор стоит около 30 тыс. рублей. 2) Скачиваете драйверы Atoll с : http://www.atol.ru/support/programs/ 3) Устанавливаете драйверы на том компьютере, с которого будут печататься чеки из Аксапты. 4) Джоб, идущий ниже, в Аксапте демонстрирует возможности принтера. Также в дистрибутиве с драйверами идут примеры на разных языках программирования. Я использовал пример из Excel'я - просто переписал макросы оттуда в Аксапту. X++: static void zFiscalPrinterTest(Args _args) { COM ECR; ; ECR = new COM("AddIn.FprnM45"); //занимаем порт ECR.DeviceEnabled(True); if (ECR.ResultCode()) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); //получаем состояние ККМ if (ECR.GetStatus() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); //проверяем на всякий случай ККМ на фискализированность if (ECR.Fiscal()) { if (Box::yesNo("ККМ фискализирована! Вы действительно хотите продолжить?", DialogButton::No) == DialogButton::No) { throw error("Действие отменено!"); } } //если есть открытый чек, то отменяем его if (ECR.CheckState() != 0) { if (ECR.CancelCheck() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); } //входим в режим регистрации //устанавливаем пароль кассира ECR.Password("1"); //входим в режим регистрации ECR.Mode(1); if (ECR.SetMode() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); //продажа без сдачи //регистрация продажи ECR.Name("Молоко"); ECR.Price(10.45); ECR.Quantity(5); ECR.Department(2); If (ECR.Registration() != 0)//вызывать для каждой добавляемой строки throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); ECR.Name("Хлеб"); ECR.Price(543.23); ECR.Quantity(2); ECR.Department(2); If (ECR.Registration() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); info(strfmt("Номер чека %1, номер документа %2", ECR.CheckNumber(), ECR.Table())); //закрытие чека наличными с вводом полученной от клиента суммы //ECR.Summ(100); ECR.TypeClose(0); //If (ECR.Delivery() != 0) // throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); if (ECR.CloseCheck() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); //выходим в режим выбора, чтобы кто-то под введенными паролями не сделал что нибуть нехорошее If (ECR.ResetMode() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); //освобождаем порт ECR.DeviceEnabled(False); If (ECR.ResultCode() != 0) throw error("Ошибка ККМ: " + ECR.ResultDescription() + "!"); Box::info("Все операции успешно выполнены!"); } |
|
|
За это сообщение автора поблагодарили: slava (1), Logger (1), clerk (1), ice (1). |
Теги |
pos-терминал, атолл, интеграция, касса, фискальный регистратор |
|
|