Главная » Frontol » Frontol. Счетчики. Обнуление значения

Frontol. Счетчики. Обнуление значения

9 января 2013 - Рубрики Frontol

1937 просмотров

В сайдбар справа добавлена кнопка Google+. Если вам поможет данный материал, прошу вас нажмите на кнопку - порекомендуйте сайт в Google.

Добрый день, уважаемые друзья!

Поздравляю вас с прошедшими праздниками. В первый рабочий день 2013 года статья про обнуление счетчиков во Фронтоле. Этот материал тесно связан с предыдущей статьей про работу счетчиков Frontol.

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

Для того чтобы верно обнулить значение, необходимо создать документ с типом пользовательская. У меня данный документ получил код 11. Далее в сценарии по закрытию документа дописываем скрипт

if (RO.ReceiptTypeCode==11)
{
for (RO.Counter.Index=1;
    RO.Counter.Index<=RO.Counter.Count;
    RO.Counter.Index++)
    {
     if (RO.Counter.TypeCode==1)
     {
      RO.Counter.AddValueByTypeCode(1,-RO.Counter.Value);
     }
    }
    AO.ShowMessage("Накопления по карте обнулены!");
}

Как видно из сценария сначала проверяем код открытого документа, если он равен 11, то добавляем к счетчику его же отрицательное значение. Далее в констукции else  прописываем код из предыдущей статьи

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

Последовательно создаем 3 сценария. Первый сценарий на момент открытия документа в функции AfterAct() содержит следующий код:

if (RO.ReceiptTypeCode==11)
{
     var WShell = new ActiveXObject("WScript.Shell");
     WShell.SendKeys ("^{F7}");
}

 

Во втором сценарии на момент Добавления позиции в BeforeAct() :

if (RO.ReceiptTypeCode==11)
{
     AO.ShowError("Добавление позиций в данный документ запрещено!");
}

В третьем сценарии практически тоже самое, только момент действия ставите Ввод платжа:

if (RO.ReceiptTypeCode==11)
{
     AO.ShowError("Невозможно добавить платеж в документ!");
}

Ну и не забываем добавить необходимые объекты скидок. Для каждого скрипта создаем объект скидок, где в поле Сценарий указываем соответствующий скрипт.

На этом на сегодня все!

Если этот материал оказался вам полезен, порекомендуйте его в в Google, нажав кнопку Google+ справа в сайдбаре или через кнопки социальных сервисов ниже.

П.С. не забудьте оставить комментарий к статье, а также поделиться ссылкой с друзьями и коллегами через социальные сервисы или скопировав ссылку на статью ниже. Кроме того, вы можете предложить тему статьи через кнопку слева "Предложить тему статьи". Там же можно оставить пожелания, идеи по развитию сайта, а также благодарности (ну а вдруг)
П.П.С. предлагаю вам также вступить в Группа Вконтакте!группу Вконтакте, где вы сможете пообщаться с участниками на интересующие вас темы. Смелее!!!
Если вы больше времени проводите в Twitter, то за обновлениями на сайте можно следить, подписавшись на мою лентуTwitter: follow me!

Возможно вам также будут интересны статьи :

 

Предыдущие материалы из данной категории:

Комментариев: 2 , , , , , , , , ,

Понравилась статья? Поделитесь ссылкой




Комментарии к «Frontol. Счетчики. Обнуление значения»:

  1.  Руслан 13 марта 2013 14:22:29

    Что-то такое слышал, но не так подробно, а откуда материал брали?

    •  Руслан 13 марта 2013 14:24:55

      сам писал на основе описанных классов в документации

Оставьте комментарий:




:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

Я человек, а не бот.