Показано с 1 по 10 из 13

Тема: Скрипт для видимости валют

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Разбирающийся
    Регистрация
    07.02.2018
    Адрес
    Ижевск
    Сообщений
    130
    Поблагодарил(а)
    45
    Благодарностей: 13 (сообщений: 12)

    Post Скрипт для видимости валют

    Помогите написать скрипт для события OnOrderVerify объекта TCheckView формы быстрого чека для видимости валют. Задача такая, если в заказе есть блюда (одно или несколько, неважно) из определенной классификации, то в режиме оплаты должна отображаться одна валюта (с указанным в скрипте кодом), если в этом же заказе есть частичная оплата валютой (с указанным в скрипте кодом), то тогда в режиме оплаты отображаются все валюты.

  2. #2
    Разбирающийся
    Регистрация
    07.02.2018
    Адрес
    Ижевск
    Сообщений
    130
    Поблагодарил(а)
    45
    Благодарностей: 13 (сообщений: 12)
    Дополню, возможно все это можно сделать и другим способом. Необходимость заключается в том, что бы разграничить оплату между питанием сотрудников и обычными заказами. На кассе три валюты: нал, безнал и пдс оплата. Есть два вида меню, блюда для гостей и блюда для персонала, у каждого вида своя классификация, по которой кстати можно настроить ограничение на использование валюты, но вот беда только для безнала и пдс. Налик ни как, так как он является национальной базовой валютой и для него ограничение по классификации не предусмотрено. На картах персонала есть лимит суммы потрат на месяц, например пусть будет - 3000р, на валюту пдс уже стоит ограничение, она может закрыть только заказ с блюдами классификации "для персонала", но эти же блюда можно оплатить наликом и это проблема, вместе с этим необходимо чтобы персонал мог выбирать свой лимит в 3000р полностью, ибо если не хватает остатка лимита, то доступна комбинированная оплата (пдс+нал либо пдс+безнал).

    В итоге имеем следующую задачу, если в заказе блюда для персонала, то в режиме оплаты должна отображаться только одна валюта (пдс), если сумма заказа более остатка по лимиту, то при внесении части оплаты пдс, появляются оставшиеся валюты, которыми можно закрыть оставшуюся сумму и не более того, чтоб блюда для персонала без комбинирования, по принципу сначала пдс потом любая другая валюта, нельзя было свободно оплачивать налом и безналом. Комбинирование валют на данный момент работает, а вот как скрыть валюты по этим критериям ума не приложу...

  3. #3
    Разбирающийся
    Регистрация
    07.02.2018
    Адрес
    Ижевск
    Сообщений
    130
    Поблагодарил(а)
    45
    Благодарностей: 13 (сообщений: 12)
    Если это невозможно ни как реализовать, то можно отказаться от комбинирования оплаты и выборки всей суммы по лимиту. Сделать хотя бы так, когда в заказе есть блюда из классификации "для персонала", в режиме оплаты отображается только одна валюта, пдс оплата.

  4. #4
    Разбирающийся
    Регистрация
    28.06.2013
    Адрес
    Краснодар
    Сообщений
    1,333
    Поблагодарил(а)
    23
    Благодарностей: 143 (сообщений: 101)
    Можно же правами национальную валюту закрыть, ее копию, например, использовать в ограничении по классификациям, а еще можно меню персонала ограничить категорией заказа и ограничить валюту там

  5. 1 пользователь сказал cпасибо satan за это полезное сообщение::

    pixnet (01.09.2020)

  6. #5
    Разбирающийся
    Регистрация
    07.02.2018
    Адрес
    Ижевск
    Сообщений
    130
    Поблагодарил(а)
    45
    Благодарностей: 13 (сообщений: 12)
    Цитата Сообщение от satan Посмотреть сообщение
    Можно же правами национальную валюту закрыть, ее копию, например, использовать в ограничении по классификациям,
    Вот это тема! Настроил, работает.


    А вот как связать правом категорию заказа с нужными валютами и меню не понял, право же все равно надо будет привязывать к пользователю, а он один, и если создать два права для каждой классификации меню, то их все равно нужно оба привязывать к пользователю, то бишь этим комбинированную оплату по критериям о которых писал выше не настроить За вторую валюту благодарю!

  7. #6
    Разбирающийся
    Регистрация
    28.06.2013
    Адрес
    Краснодар
    Сообщений
    1,333
    Поблагодарил(а)
    23
    Благодарностей: 143 (сообщений: 101)
    Цитата Сообщение от pixnet Посмотреть сообщение
    А вот как связать правом категорию заказа с нужными валютами и меню не понял, право же все равно надо будет привязывать к пользователю,
    Право не нужно, в свойствах категории заказа можно ограничить валюты

  8. #7
    Разбирающийся
    Регистрация
    07.02.2018
    Адрес
    Ижевск
    Сообщений
    130
    Поблагодарил(а)
    45
    Благодарностей: 13 (сообщений: 12)
    На support.ucs.ru нашел вот такой скрипт:

    procedure CheckViewOnBeforeCheckViewEdit(Sender: TObject; AEditType: TEditType; AObjectBef, AObjectAft: TObject; var AAllow: boolean; var AMessage: string);
    var i, CategCode, dishpresent: integer;
    it: TCheckItem;
    Categ: TClassificatorGroup;
    CardCode: string;
    McrPay: TMcrPay;


    begin


    CategCode := 9; // категория контролируемых блюд
    dishpresent := 0;
    Categ := TClassificatorGroup(getitemBycodeNum('Classificato rGroups', CategCode));
    CardCode := '';


    // проверка наличия карты в заказе
    for i := 0 to RKCheck.CurrentOrder.Sessions.McrPays.ItemCount - 1 do begin
    McrPay := TMcrPay(RKCheck.CurrentOrder.Sessions.McrPays.Item s[i]);
    CardCode := McrPay.CardNum;
    end;


    // проверка наличия контролируемых блюд в заказе
    for i := 0 to RKCheck.CurrentOrder.Sessions.LinesCount - 1 do begin
    it := RKCheck.CurrentOrder.Sessions.Lines[i];
    if SYS.ObjectInheritsFrom(TObject(it), 'TDish') then
    if Categ.IsChild(it.RefItem) then
    dishpresent := dishpresent + 1;
    end;


    // контроль при оплате
    if SYS.ObjectInheritsFrom(AObjectAft, 'TPayLine') then
    if dishpresent > 0 then
    if CardCode <> '' then
    AAllow:= True
    else
    begin
    AAllow := false;
    AMessage := 'Оплата товаров из служебного меню, наличными или банковской картой, доступна только после авторизации Карты!';
    end;
    end;

    Он почти подходит под текущую задачу но, контролирует товары в заказе из определенной классификации и дает оплатить налом или безналом только если есть авторизация карты.
    Пытаюсь его доработать, пока не получается. Необходимо, чтоб он помимо (или вместо) наличия карты заказе, проверял сумму этой картой оплаченную, если валютой пдс было оплачено 1р или более, то тогда можно доплатить остатки любой другой, если нет, то показ сообщения.

    По сути нужно лишь добавить в него контроль суммы оплаты определенной валютой. Перепробовал несколько вариантов, безуспешно....
    Заранее благодарю всех откликнувшихся

Похожие темы

  1. Настройка Валют + комбинированные оплаты
    от choovak в разделе R-Keeper 7 и фискальные регистраторы, а также чеки и пречеки
    Ответов: 9
    Последнее сообщение: 11.12.2018, 15:50
  2. Печать валют при закрытии кассовой смены
    от mcmaster в разделе R-Keeper 7 и фискальные регистраторы, а также чеки и пречеки
    Ответов: 7
    Последнее сообщение: 11.05.2017, 08:46
  3. Как сделать печать 2-ух валют в пречеке?
    от Victor12 в разделе RK: Сервис-печать, принтеры
    Ответов: 3
    Последнее сообщение: 11.05.2014, 18:20
  4. Настройка Валют и ФР bixolon-01k
    от ffff в разделе R-Keeper 7 и фискальные регистраторы, а также чеки и пречеки
    Ответов: 10
    Последнее сообщение: 30.12.2013, 02:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •