Как перенести значение валюты из одного поля в другое в Битрикс24?

Добрый день! <br/> У меня возникла следующая задача: нужно автоматизировать расчет платежа от общей суммы сделки в зависимости от заданного процента. <br/> <br/> Я успешно рассчитываю сумму, но не могу понять, как перенести валюту из одного поля с типом "Деньги" в другое, также с тем же типом. Подскажите, как это сделать, учитывая, что в сделках используются разные валюты: рубли, евро, доллары и юани.
  • 27 сентября 2024 г. 12:43
Ответы на вопрос 1
Добрый день!

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

1. **Создание пользовательского поля**:
   Убедитесь, что у вас есть оба поля с типом "Деньги": одно для общей суммы сделки, другое для суммы платежа.

2. **Бизнес-процесс**:
   - Перейдите в "Настройки" → "Бизнес-процессы" или "Автоматизация" (в зависимости от интерфейса).
   - В открывшемся разделе создайте новый бизнес-процесс для нужного статуса сделки.
   - Добавьте элемент "Изменить поле" (или "Установить значение поля").
   - В данном элементе выберите поле, в которое нужно перенести значение (например, поле суммы платежа).
   - Введите выражение для расчета, которое будет включать поле с общей суммой сделки.

3. **Использование встроенных методов**:
   Вы можете воспользоваться функциями в поле для расчета, чтобы сохранить валюту. В Битрикс24 для работы с денежными значениями используется специальный синтаксис, который включает в себя передачу значения и валюты. При установке значения временной переменной или переменной для последующего поля используйте конструкцию типа `field(название_поля)`.

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

Пример псевдокода для нового поля:

```php
if($currency == 'RUB') {
   // Устанавливаем значение в рублях
   $new_field_value = $total_amount * $percent / 100;
}
elseif($currency == 'EUR') {
   // Устанавливаем значение в евро
   $new_field_value = $total_amount * $percent / 100;
}
// Добавьте аналогичные условия для других валют
```

5. **Тестирование**:
   Обязательно протестируйте бизнес-процесс на тестовых данных, чтобы убедиться, что все работает правильно и значения корректно переносятся.

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

Если возникнут вопросы или что-то не получится, обращайтесь!
Похожие вопросы