QA Вопросы и ответы¶
Q1: Как добавить IFiscalCore.aidl в Android Studio?
A1:¶
0. Скачать IFiscalCore.aidl, IAuth.aidl, IExceptionCallback.aidl с сервера
1. В корневой папке проекта создать папку aidl
2. Внутри папки aidl создать папку с именем, соответствуюим package (com.multisoft.drivers.fiscalcore).
3. Правый клик по папке с именем package -> New -> AIDL -> AIDL File
4. Во всплывающем окне ввести имя интерфейса (например, IFiscalCore). Подтвердить выбор.
5. Скопировать содержимое скачанного файла в текстовом виде в созданный без(!) замены файлов.
6. Повторить операции 3-5 для IAuth.aidl и IExceptionCallback.aidl
Q2: У меня ошибка вида Execution failed for task ':app:compileDebugAidl'. Либо *.aidl:1: syntax error don't know what to do with "?"
A2:¶
Вероятно файлы содержат BOM.
Выполните инструкции, описанные в Q1.
Q3: Как зарегистрироваться в программе Sunmi Partners?
A3:¶
После подписания партнёрского соглашения на указанную в нём почту придёт приглашение на регистрацию в Sunmi Partners.
Откройте присланную ссылку в Google Chrome. Рекомендуется использовать его и в дальнейшем для любых действий в личном кабинете.
Первая загрузка сайта может занять некоторое время, подождите полной загрузки и не обновляйте страницу, пока она не будет полностью загружена.
Если страница загрузилась, но открывается пустой список для выбора страны и/или кода телефона - очистите кеш браузера и обновите страницу.
Не обновляйте страницу повторно, пока она не загрузится полностью.
Q4: Как подготовить устройство MSPOS-K к отладке?
A4:¶
В тестовом контуре возможность отладки автоматически включена для всех устройств, привязанных к тестовому аккаунту.
На своём устройстве в "Настройки"->"Безопасность" разрешите установку приложений из неизвестных источников.
Сообщите серийный номер устройств(а) сотрудникам Multisoft/Альфа-Проект, которые занимаются интеграцией.
Они привяжут его к вашему аккаунту по завершении регистрации в Sunmi Partners.
Подключите устройство к сети WiFi с открытым доступом и интернет.
Подключите включенное устройство по USB к компьютеру с установленным Android SDK.
Дождитесь установки драйверов (если используется Windows) и появления уведомления "Отладка по USB разрешена" на устройстве.
В AndroidSDKInstallDir\android-sdk\platform-tools\ выполните "adb devices" из консоли, на экран должны будут выведены серийный номер аппарата и "device"
Если эта команда показывает "unauthorized", проверьте подключение к интернет и перезагрузите аппарат.
Q5: Что делать с Company Registration Certification при регистрации аккаунта в sunmi partners?
A5:¶
Прикрепите пустую картинку. Эта опция нужна китайским компаниям.
Q6: Как загрузить приложеине в магазин Sunmi?
A6:¶
Воспользуйтесь инструкцией
При загрузке укажите правильные модели(Terminals): приложение будет доступно только на указанных моделях.
Поле price выставлять в соответствии с партнёрским соглашением.
После загрузки каждой версии в магазин требуется около 1 рабочего дня на аудит.
Если приложение было загружено в магазин в режиме пре-релиза (gray release), аудит выполняется при первой загрузке.
Изменение списка устройств для пре-релиза (в т.ч. применение пре-релизана все устройства - change to official version) не сопровождается аудитом.
Изменение атрибутов приложения, таких как скриншоты, описание, поддерживаемые модели и др. вызывает повторный аудит при применении этих свойств (кнопка Save внизу).
Q7: Что нужно для регистрации фискального накопителя?
A7: ¶
Для регистрации фискального накопителя(ФН) нужно следующее:
а) наличие ФН.
б) смена должна быть закрыта (GetDayState DayState.DayClosed)
в) не должно быть открыто ни одного чека (GetRecState RecState.Closed)
после этого можно начинать процедуру регстрации.
Q8: Как зарегистрировать ФН?
A8:¶
Процедура регистрации, в зависимости от желаемых параметров регистрации, может отличаться.
Основные операции при регистрации:
1) установка опций: см. блок "Запрос и установка параметров"
2) сохранение опций (см. SaveOptions )
3) регистрация (см. Register ).
при каждой регистрации обязательными для установки на шаге 1 являются:
SetOfdHost
SetOfdPort
SetOfdName
SetOfdTaxId
SetOrgName
SetOrgAddress
SetPhysicalAddress
SetSenderEmail
SetReceiptCheckURI
SetFnsServerAddress
в зависимости от того, является ли пользователь платёжным агентом (параметр agent в функции Register отличен от 0), на шаге 1 должны быть установлены следующие опции:
SetTransferOperatorName
SetTransferOperatorTaxId
SetTransferOperatorTelNum
SetTransferOperatorAddress
SetPaymentAgentTelNum
SetPaymentAgentOperation
SetCommissionAgentTelNum
SetContractorTelNum
Если при регистрации в битовом поле "режим работы" (op_mode) установлен бит OperatingMode.Automatic (0x04), на шаге 1 должен быть установлен номер автомата:
SetVendingSerial
Q9: Какие особенности работы с несколькими СНО?
A9: ¶
Пользователь может иметь несколько систем налогообложения (СНО).
Если пользователь зарегистрировал кассу с несколькими СНО, то перед каждым открытием чека (OpenRec )
должна быть вызвана функция SetTaxationUsing , в параметрах которой передаётся одна из зарегистрированных СНО.
Q10: Для чего нужна перерегистрация?
A10: ¶
Если параметры кассы и/или реквизитов пользователя изменились, об этом нужно уведомить Федеральную налоговую службу (ФНС) посредством отправки оператору фискальных данных (ОФД) отчёта о перерегистрации в электронной форме.
Отчёт о перерегистрации формируется функцией CorrectRegistration.
Её параметры аналогичны функции Register, но нужно установить дополнительный - причину перерегистрации.
Причин перерегистрации может быть 4: замена ФН, смена ОФД, смена реквизитов пользователя и смена настроек ККТ.
Q11: Как выполнить перерегистрацию?
A11:¶
Выполняется аналогично регистрации:
0) убедиться, что в очереди на отправку в ОФД нет документов (OFDGetFirstQueuedDocNumber == 0), иначе перерегистрация не будет выполнена.
1) установка опций, которые необходимо изменить, в связи с причиной перерегистрации: см. блок "Запрос и установка параметров"
2) сохранение опций (см. SaveOptions )
3) перерегистрация(см. CorrectRegistration ).
В связи с ограничениями ФН нельзя выполнить 1 перерегистрацию с несколькими причинами одновременно.
Например, нельзя поменять настройки ОФД и реквизиты пользователя одновременно, нужно выполнить последовательно 2 перерегистрации в связи с этими причинами, выполняя шаги 1-3.
При этом устанавливаются и сохраняются только те параметры, которые соответствуют причине данной перерегистрации (при условии, что все остальные присутствуют).
Q12: Как передать email или телефонный номер покупателя ?
A12:¶
Для передачи этого тега необходимо использовать функцию SendClientAddress
Она выполняется один раз на весь чек в любой момент после открытия и до закрытия. Повторная передача ведёт к нарушению ФФД.
Установка одновременно электронного адреса и телефона покупателя не предусмотрена ФФД 1.05 от 21.03.2017.
Точно так же покупатель не может иметь нескольких телефонов и/или email одновременно.
Q13: В каком формате передавать телефон и email в функции SendClientAddress ?
A13:¶
Телефон или электронный адрес покупатеся следует передавать в соответствии с ФФД 1.05 от 21.03.2017 Таблица 5, тег 1008:
Формат: +{Ц} или {С}@{C},
где Ц - "атрибут, обозначающий, что данные реквизита должны быть представлены в виде цифры",
С- "атрибут, обозначающий, что данные реквизита должны быть представлены в виде символа".
Символы и цифры должны быть представлены в электронной форме "в соответствии с кодовой таблицей CP866".
Q14: Как изменить параметры автоинкассации при закрытии смены?
A14:¶
Включение или отключение автоинкассации выполняется функцией SetDayCloseAutoPayOut
Если необходимо сохранить значение параметра для применения его во всех следующих функциях закрытия смены (CloseDay ), в т.ч. после перезагрузки, нужно сохранить опции (SaveOptions ).
Q15: Какие типы документа доступны для чека коррекции в аргументе "opertation" функции FNMakeCorrectionRec ?
Q16: Почему в чеке коррекции не работает RecType.SellRefund и RecType.BuyRefund )?
A15, A16:¶
В соответствии с ФФД 1.05 от 21.03.2017 Таблица 25 "Реквизит «Признак расчета» (тег 1054) для кассового чека коррекции (БСО коррекции) может принимать одно из следующих значений: «1» – приход, «3» – расход."
Поэтому чек коррекции на возврат прихода и возват расхода возвращает ошибку.
Q17: Как передать признак предмета расчета и признак способа расчета (теги 1212 и 1214)?
A17:¶
Для передачи свободных тегов используется функция SetTagAttribute (начиная с 1.8.28).
Её нужно вызывать перед добавлением позиции (PrintRecitem ), в которой необходимо установить соответствующий тег.
Q18: Какие значения передать при установке тегов 1212 и 1214?
A18:¶
Значения реквизита «признак способа расчета» (тег 1214) в соответствии с ФФД 1.05 от 21.03.2017 Таблица 28:
1 |
ПРЕДОПЛАТА 100% |
2 |
ПРЕДОПЛАТА |
3 |
АВАНС |
4 |
ПОЛНЫЙ РАСЧЕТ |
5 |
ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ |
6 |
ПЕРЕДАЧА В КРЕДИТ |
7 |
ОПЛАТА КРЕДИТА |
Значения реквизита «признак предмета расчета» (тег 1212) в соответствии с ФФД 1.05 от 21.03.2017 Таблица 29:
1 |
ТОВАР |
2 |
ПОДАКЦИЗНЫЙ ТОВАР |
3 |
РАБОТА |
4 |
УСЛУГА |
5 |
СТАВКА АЗАРТНОЙ ИГРЫ |
6 |
ВЫИГРЫШ АЗАРТНОЙ ИГРЫ |
7 |
ЛОТЕРЕЙНЫЙ БИЛЕТ |
8 |
ВЫИГРЫШ ЛОТЕРЕИ |
9 |
ПРЕДОСТАВЛЕНИЕ РИД |
10 |
ПЛАТЕЖ |
11 |
АГЕНТСКОЕ ВОЗНАГРАЖДЕНИЕ |
12 |
СОСТАВНОЙ ПРЕДМЕТ РАСЧЕТА |
13 |
ИНОЙ ПРЕДМЕТ РАСЧЕТА |