1) Заблоковані кнопка "123" та "Ножиці" (до версії 8.8.7)
2) Пробиваючи алкогольні позиції з кодом УКТ ЗЕД через Syrve Waiter (мобільний додаток для офіціантів): один рядок = одна порція (до версії 8.8.7)
3) Немає звіту для відслідкування просканованої акцизної марки у оплачених замовленнях
@if (Model is IServiceCheque)
{
if (!CheckServiceChequeForComment((IServiceCheque)Model)){
@Service((IServiceCheque)Model)
}
}
else if (Model is IBanquetServiceCheque)
{
if (!CheckBanquetServiceChequeForComment((IBanquetServiceCheque)Model)){
@Banquet((IBanquetServiceCheque)Model)
}
}
else if (Model is IDeleteProductsServiceCheque)
{
if (!CheckDeleteProductsServeChequeForComment((IDeleteProductsServiceCheque)Model)){
@DeleteProducts((IDeleteProductsServiceCheque)Model)
}
}
else if (Model is IDeleteModifiersServiceCheque)
{
@DeleteModifiers((IDeleteModifiersServiceCheque)Model)
}
else if (Model is IProductsServeCheque)
{
if (!CheckProductsServeChequeForComment((IProductsServeCheque)Model)){
@ProductsServe((IProductsServeCheque)Model)
}
}
else if (Model is IWholeCourseServeCheque)
{
if (!CheckWholeCourseServeChequeForComment((IWholeCourseServeCheque)Model)){
@WholeCourseServe((IWholeCourseServeCheque)Model)
}
}
private bool CheckServiceChequeForComment(IServiceCheque cheque)
{
return CheckOrderForComment(cheque.Entries);
}
private bool CheckBanquetServiceChequeForComment(IBanquetServiceCheque cheque)
{
return CheckOrderForComment(cheque.Entries);
}
private bool CheckProductsServeChequeForComment(IProductsServeCheque cheque)
{
return CheckOrderForComment(cheque.Entries);
}
private bool CheckWholeCourseServeChequeForComment(IWholeCourseServeCheque cheque)
{
return CheckOrderForComment(cheque.Entries);
}
private bool CheckDeleteProductsServeChequeForComment(IDeleteProductsServiceCheque cheque)
{
return cheque.DeleteReason.Contains("Сканування акцизної марки у замовлення") || cheque.DeleteReason.Contains("Видалення акцизної марки");
}
private bool CheckOrderForComment(IEnumerable<IOrderEntry> entries)
{
return entries.OfType<IProductItem>().Any(p => p.Comment != null && p.Comment.Text.StartsWith("###"));
}
Повне тіло шаблону можна завантажити по прямому посиланню тут, або ж з нашої сторінки шаблонів чеків
Оскільки при роботі з нашим функціоналом при додаванні акцизної марки до віддрукованої позиції остання видаляється та додається наново - обов'язково перед вводом в експлуатацію цього механізму необхідно створити нову причину видалення, щоб за потреби клієнт міг чітко розуміти: це видалення позиції - є наслідок додавання до неї акцизної марки, а ось це - викликає вапросікі!
Приклад налаштованого конфігу пРРО, у якому:
Операції з акцизною маркою
Наш функціонал, пРРО
Наш функціонал, РРО
У який момент можна просканувати акцизну марку?
Додавання позиції у замовлення в інтерфейсі Syrve Waiter
Додавання декількох акцизних марок до однієї позиції
Візуальна зміна позиції після додавання до неї акцизної марки
Є
Приклади
Корректно
Що відбудеться у
Syrve POS
Замало літер перед початком цифр
AAAA000000
AAAAA000 чи AAAAA000000
AAAA000000
ФФФФ000000
Маленький регістр літер замість великого
AAAA000000
AAAA123456
Перевірка НЕ спрацює
Акцизна марка буде додана!
AAAA1234567
AAAA123457
Приклади
Корректно
Що відбудеться у
Syrve POS
Замало літер перед початком цифр
AAAA000000
AAAAA000 чи AAAAA000000
AAAA000000
Нічого не відбудеться, акцизна марке НЕ буде додана
ФФФФ000000
AAAA000000
AAAA123456
AAAA1234567
AAAA123457