Арифметические действия в бизнес-процессе

Урок 243 из 248
Автор: Марина Павлова
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Просмотров: 22871
Дата изменения: 21.09.2023
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Старт, Стандарт, Малый бизнес

Арифметические действия

Необходимость сложить две переменные бизнес-процесса в ходе выполнения его контекста может быть востребована когда вы анализируете расходы/доходы. Например: как пересчитать стоимость работы программиста.

Задайте параметры и переменные в шаблоне бизнес-процесса:

  • параметр бизнес-процесса: {=Template:integrator_USD} – стоимость работы программиста в долларах;
  • переменная бизнес процесса {=Variable:kurs_usd} – курс валюты для пересчета.

В действии PHP код используйте следующий код:

// получить текущий бизнес-процесс
$rootActivity = $this->GetRootActivity(); 
// получить значение переменной бизнес-процесса {=Variable:kurs_usd}
$kursUSD = $rootActivity->GetVariable("kurs_usd"); 
// получить значение параметра бизнес-процесса {=Template:integrator_USD}
$integrator = $rootActivity->integrator_USD;
// пересчет валюты
$integrator = $integrator*$kursUSD;
// установка значения параметра бизнес-процесса {=Template:integrator_USD}
$rootActivity->integrator_USD = $integrator;
// установка значения переменной бизнес-процесса {=Template:ttl}
// Вы можете не только считать, но и делать что хотите с переменными и параметрами бизнес-процесса
$rootActivity->SetVariable("ttl",
   'Минимально возможная цена:'.number_format($min_ttl,0,',',' ')." руб\n".
   'Прибыль от минимальной цены:'.number_format($min_ttl_plus,0,',',' ')." руб\n".
   'Налог:'.number_format($min_ttl*$nalog,0,',',' ')." руб\n\n".
   'Средняя цена:'.number_format($ttl,0,',',' ')." руб\n".
   'Прибыль от средней цены:'.number_format($ttl_plus,0,',',' ')." руб\n".
   'Налог:'.number_format($ttl*$nalog,0,',',' ')." руб\n"
);

Примечание: Если в процессе используются константы, то алгоритм работы будет другой. Запись констант из бизнес-процесса не предусмотрена, поэтому и методов записи нет. Чтобы получить значения константы нужно использовать следующую строку кода:

$rootActivity->GetConstant($fieldName);


Нам жаль это слышать… Но мы постараемся быть лучше!

Мы благодарны Вам за помощь в улучшении документации.

Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
Курсы разработаны в компании «1С-Битрикс»