Главная » Frontol » Frontol. Счетчики. Добавляем значение

Frontol. Счетчики. Добавляем значение

29 декабря 2012 - Рубрики Frontol

1823 просмотров

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

Приветствую вас, уважаемые друзья!

Сегодня я заканчиваю календарный год статьей по работе с счетчиками во Фронтол. Сначала небольшое введение, а дальше перейдем непосредственно к теме статьи.

Итак, счетчики входят в категорию Скидки и Сценарии, хотя во многих случаях использование счетчиком может быть не связано с дисконтом. Счетчик позволяет хранить числовую информацию о карте или клиенте за весь период, либо за определенный промежуток времени. К реквизитам счетчика относятся: период, автосоздание и привязка к карте/клиенту.

Теперь непосредственно к работе с счетчиками. Создать счетчик и получить необходимые сценарии и для работы с ним можно при помощи Мастера скидок во Фронтоле.

Я для примера воспользуюсь примером №2 из мастера. При его использовании мы получаем счетчик, привязанный, например, к карте, сценарий с моментом действия «Закрытие чека», настроенное условие скидки, а также объект скидки.

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

Нас больше всего интересует Сценарий.

function BeforeAct(AO, RO, E)
{
}
function AfterAct(AO, RO, E)
{
  switch(RO.ReceiptTypeCode)
  {
    case 1: // ПРОДАЖА
      RO.Counter.AddValueByTypeCode(1, RO.SummWD * 1.0000);
      break;
    case 2: // ВОЗВРАТ
      RO.Counter.AddValueByTypeCode(1, -RO.SummWD * 1.0000);
      break;
    case 3: // АННУЛИР
      RO.Counter.AddValueByTypeCode(1, -RO.SummWD * 1.0000);
      break;
    case 4: // ОБМЕН
      RO.Counter.AddValueByTypeCode(1, RO.SummWD * 1.0000);
      break;
   }
}

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

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

Перебор счетчиков осуществляется в цикле. Для примера:

for (RO.Counter.Index=1;
    RO.Counter.Index<=RO.Counter.Count;
    RO.Counter.Index++)
    {
     if (RO.Counter.TypeCode==1)
     {
      RO.Counter.AddValueByTypeCode(1,1);
     }
    }
}

В данном случае на счетчик с кодом 1 будет добавлено значение 1.

На этом на сегодня все. В следующей статье рассмотрим процесс обнуления счетчика. Данный процесс тесно связан с этой темой и фактически вытекает из нее.

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

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

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

 

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

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

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




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




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

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