SetKit ◾️ Удаление позиций из мягкого чека при запрете редактирования и добавления позиций

Публичное пространство

SetKit ◾️ Удаление позиций из мягкого чека при запрете редактирования и добавления позиций

https://crystals.atlassian.net/browse/KIT-146

https://crystals.atlassian.net/browse/CR-6960

SETKIT 3.4.0

10.3.10.0

Описание

В некоторых торговых сетях бизнес-процессы требуют полного ограничения возможности редактирования чека, например, для корректного учета себестоимости товаров интернет магазина, оплаченных через кассу. Однако может возникнуть ситуация, когда при сборке заказа может не оказаться позиции в магазине или клиент может отказаться от товара по различным причинам (например, несоответствие между картинкой в интернет-магазине и видом реального товара) и ее требуется удалить из заказа. При отказе от одной или нескольких позиций из мягкого чека требуется возможность их удаления на кассе под пользователем с повышенными привилегиями (правом удаления позиций из чека). В версии SetKit 3.4.0 и SetRetail 10.3.10.0 добавлен новый параметр: positionsAddingAllowed - запрет добавления позиций.

Реализация

Для достижения указанного поведения в мягком чеке должны быть переданы следующие параметры:

  • isEditable = false (Запрещено уменьшение количества товаров в позиции. Разрешено удаление позиций из МЧ с соответствующей привилегией пользователя)

  • positionsAddingAllowed = false (Запрещено увеличение количества товаров в позиции. Запрещено добавление новых позиций)

  • receiptEditable отсутствует

Пример запроса мягкого чека 

{ "guid":"ext-01", "status":"READY_TO_PAYMENT", "dateCreated":"2021-02-05 14:00", "isEditable":false, "positionsAddingAllowed":false, "totalPrice":200.0, "discountsValue":0.0, "additionalInfo":"{'orderType':'02','orderId':'03705050'}", "positions":[ { "positionOrder":1, "code":"00003", "barcode":"4600002000006", "quantity":1, "unitPrice":50.0, "discountValue":0.0, "totalPrice":50.0, "isFixedPrice":false, "isFixedDiscounts":false }, { "positionOrder":2, "code":"00004", "barcode":"4600001000007", "quantity":2, "unitPrice":50.0, "discountValue":0.0, "totalPrice":100.0, "isFixedPrice":false, "isFixedDiscounts":false }, { "positionOrder":3, "code":"00005", "barcode":"4600002000006", "quantity":1, "unitPrice":50.0, "discountValue":0.0, "totalPrice":50.0, "isFixedPrice":false, "isFixedDiscounts":false } ], "client":{ "guid":"001", "firstName":"Иван", "lastName":"Иванов", "email": "client1_v@mail.ru", "phone": "+7-999-111-22-33" } }

Пример работы

Клавиатурная касса

Кассир восстанавливает мягкий чек на кассе.

Кассир пробует удалить позицию Товар 1 - нет прав на данное действие.

Кассир пробует отредактировать позицию Товар 2 - нет прав на данное действие.

Кассир пробует добавить позицию из базы данных кассы - нет прав на данное действие.

Авторизация на кассе под пользователем Администратор с привилегией на удаление.

Администратор пробует удалить позицию Товар 1 - позиция удаляется.

Администратор пробует изменить количество Товара 2 - нет прав на данное действие.

Администратор удаляет позицию Товар 2 - строка удаляется полностью.

Администратор пробует добавить новую позицию в чек - нет прав на данное действие.

Кассир авторизуется на кассе и закрывает чек.

SetTouch

Кассир восстанавливает мягкий чек на кассе.

Кассир пробует удалить позицию Товар 1 - нет прав на данное действие.

Кассир пробует отредактировать позицию Товар 2 - нет прав на данное действие.

Кассир пробует добавить позицию из базы данных кассы - нет прав на данное действие.

Авторизация на кассе под пользователем Администратор с привилегией на удаление.

Администратор пробует удалить позицию Товар 1 - позиция удаляется.

Администратор пробует изменить количество Товара 2 - нет прав на данное действие.

Администратор удаляет позицию Товар 2 - строка удаляется полностью.

Администратор пробует добавить новую позицию в чек - нет прав на данное действие.



© 1994-2025, ООО «Кристалл Сервис Интеграция».
Все права защищены.

Политика обработки персональных данных